Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.
Front Page / Sequences / Intrinsic Metafunctions / end



      typename X
struct end
    typedef unspecified type;


Returns the sequence's past-the-end iterator. If the argument is not a Forward Sequence, returns void_.


#include <boost/mpl/begin_end.hpp>

Model of

Tag Dispatched Metafunction


Parameter Requirement Description
X Any type A type whose end iterator, if any, will be returned.

Expression semantics

For any arbitrary type x:

typedef end<x>::type last;
Return type:Forward Iterator or void_.
Semantics:If x is Forward Sequence, last is an iterator pointing one past the last element in s; otherwise last is void_.
Postcondition:If last is an iterator, it is past-the-end.


Amortized constant time.


typedef vector<long> v;
typedef begin<v>::type first;
typedef end<v>::type last;

BOOST_MPL_ASSERT(( is_same< next<first>::type, last > ));

See also

Iterators, Forward Sequence, begin, end, next