...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Front Page / Sequences / Intrinsic Metafunctions / begin |
Returns an iterator that points to the first element of the sequence. If the argument is not a Forward Sequence, returns void_.
#include <boost/mpl/begin_end.hpp>
Parameter | Requirement | Description |
---|---|---|
X | Any type | A type whose begin iterator, if any, will be returned. |
For any arbitrary type x:
typedef begin::type first;
Return type: | Forward Iterator or void_. |
---|---|
Semantics: | If x is a Forward Sequence, first is an iterator pointing to the first element of s; otherwise first is void_. |
Postcondition: | If first is an iterator, it is either dereferenceable or past-the-end; it
is past-the-end if and only if size |
Amortized constant time.
typedef vector< unsigned char,unsigned short, unsigned int,unsigned long > unsigned_types; typedef begin::type iter; BOOST_MPL_ASSERT(( is_same< deref ::type, unsigned char > )); BOOST_MPL_ASSERT(( is_same< begin ::type, void_ > ));