| Home | Libraries | People | FAQ | More

##### begin

###### Description

Returns an iterator pointing to the first element in the sequence.

###### Synopsis

    template <typename Sequence>
    typename result_of::begin<Sequence>::type
    begin(Sequence& seq);

    template <typename Sequence>
    typename result_of::begin<Sequence const>::type
    begin(Sequence const& seq);

###### Parameters

Parameter | Requirement | Description
--- | --- | ---
`seq` | Model of Forward Sequence | The sequence we wish to get an iterator from.

###### Expression Semantics

    begin(seq);

Return type:

- A model of Forward Iterator if `seq` is a Forward Sequence else, Bidirectional Iterator if `seq` is a Bidirectional Sequence else, Random Access Iterator if `seq` is a Random Access Sequence.
- A model of Associative Iterator if `seq` is an Associative Sequence.

Semantics: Returns an iterator pointing to the first element in the sequence.

###### Header

    #include <boost/fusion/sequence/intrinsic/begin.hpp>
    #include <boost/fusion/include/begin.hpp>

###### Example

    vector<int, int, int> v(1, 2, 3);
    assert(deref(begin(v)) == 1);