source:
downloads/boost_1_33_1/libs/mpl/doc/src/refmanual/begin.rst
@
12
Last change on this file since 12 was 12, checked in by landauf, 17 years ago | |
---|---|
File size: 2.0 KB |
begin
Synopsis
template< typename X > struct begin { typedef |unspecified| type; };
Description
Returns an iterator that points to the first element of the sequence. If the argument is not a |Forward Sequence|, returns |void_|.
Header
#include <boost/mpl/begin_end.hpp>
Model of
Parameters
Parameter | Requirement | Description |
---|---|---|
X | Any type | A type whose begin iterator, if any, will be returned. |
Expression semantics
For any arbitrary type x:
typedef begin<x>::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<x>::value == 0. |
Complexity
Amortized constant time.
Example
typedef vector< unsigned char,unsigned short, unsigned int,unsigned long > unsigned_types; typedef begin<unsigned_types>::type iter; BOOST_MPL_ASSERT(( is_same< deref<iter>::type, unsigned char > )); BOOST_MPL_ASSERT(( is_same< begin<int>::type, void_ > ));
See also
Note: See TracBrowser
for help on using the repository browser.