Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

added boost

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_|.

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_ > ));

Docutils System Messages

?????????????
Note: See TracBrowser for help on using the repository browser.