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 an older version of Boost and was released in 2013. The current version is 1.89.0.
| Front Page / Sequences / Classes / vector |
vector is a variadic, random access, extensible sequence of types that supports constant-time insertion and removal of elements at both ends, and linear-time insertion and removal of elements in the middle. On compilers that support the typeof extension, vector is the simplest and in many cases the most efficient sequence.
| Sequence form | Header |
|---|---|
| Variadic | #include <boost/mpl/vector.hpp> |
| Numbered | #include <boost/mpl/vector/vectorn.hpp> |
In the following table, v is an instance of vector, pos and last are iterators into v, r is a Forward Sequence, n is an Integral Constant, and x and t1,t2,... tn are arbitrary types.
| Expression | Semantics |
|---|---|
vector<t1,t2,... tn> vectorn<t1,t2,... tn> |
vector of elements t1,t2,... tn; see Variadic Sequence. |
vector<t1,t2,... tn>::type vectorn<t1,t2,... tn>::type |
Identical to vectorn<t1,t2,... tn>; see Variadic Sequence. |
| begin<v>::type | An iterator pointing to the beginning of v; see Random Access Sequence. |
| end<v>::type | An iterator pointing to the end of v; see Random Access Sequence. |
| size<v>::type | The size of v; see Random Access Sequence. |
| empty<v>::type | A boolean Integral Constant c such that c::value == true if and only if the sequence is empty; see Random Access Sequence. |
| front<v>::type | The first element in v; see Random Access Sequence. |
| back<v>::type | The last element in v; see Random Access Sequence. |
| at<v,n>::type | The nth element from the beginning of v; see Random Access Sequence. |
| insert<v,pos,x>::type | A new vector of following elements: [begin<v>::type, pos), x, [pos, end<v>::type); see Extensible Sequence. |
| insert_range<v,pos,r>::type | A new vector of following elements: [begin<v>::type, pos), [begin<r>::type, end<r>::type) [pos, end<v>::type); see Extensible Sequence. |
| erase<v,pos>::type | A new vector of following elements: [begin<v>::type, pos), [next<pos>::type, end<v>::type); see Extensible Sequence. |
| erase<v,pos,last>::type | A new vector of following elements: [begin<v>::type, pos), [last, end<v>::type); see Extensible Sequence. |
| clear<v>::type | An empty vector; see Extensible Sequence. |
| push_back<v,x>::type | A new vector of following elements: [begin<v>::type, end<v>::type), x; see Back Extensible Sequence. |
| pop_back<v>::type | A new vector of following elements: [begin<v>::type, prior< end<v>::type >::type); see Back Extensible Sequence. |
| push_front<v,x>::type | A new vector of following elements: x, [begin<v>::type, end<v>::type); see Front Extensible Sequence. |
| pop_front<v>::type | A new vector of following elements: [next< begin<v>::type >::type, end<v>::type); see Front Extensible Sequence. |
typedef vector<float,double,long double> floats; typedef push_back<floats,int>::type types; BOOST_MPL_ASSERT(( is_same< at_c<types,3>::type, int > ));