2002-09-16 19:25:33 +00:00
<!doctype html public "-//ietf//dtd html//en">
2003-03-12 13:29:12 +00:00
< html >< head >< title > boost::mpl::begin</ title >
2002-09-16 19:25:33 +00:00
< link rel = "stylesheet" href = "../mpl_wiki.css" >
</ head >< body bgcolor = "white" >
2003-03-12 13:29:12 +00:00
< h1 >< a href = "../Table_of_Contents.html" >< img src = "../mpl_logo.jpg" alt = "[Home]" border = 0 align = "right" ></ a > begin</ h1 >< h3 > Synopsis</ h3 >
2002-09-16 19:25:33 +00:00
< p >
< pre >
template<
typename Sequence
>
struct begin
{
typedef < em > unspecified</ em > type;
};
</ pre >
< p >
< h3 > Description</ h3 >
< p >
Returns an iterator that points to the first element of the sequence.
< p >
< h3 > Definition</ h3 >
< p >
< pre >
2003-03-12 13:29:12 +00:00
#include "< a href = "../../../../../boost/mpl/begin_end.hpp" > boost/mpl/begin_end.hpp</ a > "
2002-09-16 19:25:33 +00:00
</ pre >
< p >
< h3 > Parameters</ h3 >
< table border = "1" >
< tr >< th > Parameter </ th >< th > Requirement </ th >< th > Description </ th ></ tr >
< tr >< td >< code > Sequence</ code ></ td >< td > A model of < a href = "../Sequence.html" > Sequence</ a ></ td >< td ></ td ></ tr >
</ table >
< p >
< h3 > Expression semantics</ h3 >
< p >
< table border = "1" >
< tr >< th > Expression </ th >< th > Expression type </ th >< th > Precondition </ th >< th > Semantics </ th >< th > Postcondition </ th ></ tr >
< tr >< td >< code > typedef begin< Sequence> ::type first;</ code ></ td >< td > A model of < a href = "../Input_Iterator.html" > Input Iterator</ a ></ td >< td ></ td >< td >< code > first</ code > is an iterator pointing to the first element of the < code > Sequence</ code > ; equivalent to < code > Sequence::begin</ code > unless the algorithm has been specialized for the particular type of sequence.</ td >< td >< code > first</ code > is either dereferenceable or past-the-end; it is past-the-end if and only if < code > size< Sequence> ::type::value == 0</ code > . </ td ></ tr >
</ table >
< p >
< h3 > Complexity</ h3 >
< p >
Amortized constant time.
< p >
< h3 > Example</ h3 >
< p >
< pre >
typedef vector< unsigned char,unsigned short,unsigned int, unsigned long> unsigned_types;
typedef begin< unsigned_types> ::type iter;
BOOST_STATIC_ASSERT((boost::is_same< iter::type,unsigned char> ::value));
</ pre >
< p >
< h3 > See also</ h3 >
< p >
< a href = "../Iterators.html" > Iterators</ a > , < a href = "../Sequence.html" > Sequence</ a > , < code >< a href = "../Reference/end.html" > end</ a ></ code > , < code >< a href = "../Reference/size.html" > size</ a ></ code > , < code >< a href = "../Reference/empty.html" > empty</ a ></ code >
< p >< hr >
2003-03-12 13:29:12 +00:00
< a href = "../Table_of_Contents.html" > Table of Contents</ a >< br > Last edited July 22, 2002 2:03 am</ body ></ html >