[section:push_back push_back]

[heading Prototype]

``
template<
    class Container,
    class SinglePassRange
    >
Container& push_back(Container& target,
                     const SinglePassRange& from);
``

[heading Description]

`push_back` all of the elements in the range `from` to the back of the container `target`.

[heading Definition]

Defined in the header file `boost/range/algorithm_ext/push_back.hpp`

[heading Requirements]

# `SinglePassRange` is a model of the __single_pass_range__ Concept.
# `Container` supports insert at `end()`.
# `SinglePassRange`'s value type is convertible to `Container`'s value type.

[heading Complexity]

Linear. `distance(from)` assignments are performed.

[endsect]
