Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.
PrevUpHomeNext
at
Description

Returns the M-th element from the beginning of the sequence.

Synopsis
template <typename M, typename Sequence>
typename result_of::at<Sequence, M>::type
at(Sequence& seq);

template <typename M, typename Sequence>
typename result_of::at<Sequence const, M>::type
at(Sequence const& seq);
Parameters

Parameter

Requirement

Description

seq

Model of Random Access Sequence

The sequence we wish to investigate.

M

An MPL Integral Constant

An index from the beginning of the sequence.

Expression Semantics
at<M>(seq);

Return type: Returns a reference to the M-th element from the beginning of the sequence seq if seq is mutable and e = o, where e is the M-th element from the beginning of the sequence, is a valid expression. Else, returns a type convertible to the M-th element from the beginning of the sequence.

Precondition: 0 <= M::value < size(seq) (where seq is not Unbounded Sequence)

Semantics: Equivalent to

deref(advance<M>(begin(s)))
Header
#include <boost/fusion/sequence/intrinsic/at.hpp>
#include <boost/fusion/include/at.hpp>
Example
vector<int, int, int> v(1, 2, 3);
assert(at<mpl::int_<1> >(v) == 2);

PrevUpHomeNext