Boost C++ Libraries 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 old version of boost. Click here for the latest version's documentation home page.



      typename Sequence
    , typename T
struct push_back
    typedef unspecified type;


push_back performs an insertion at the end of the sequence. The algorithm returns a new sequence which contains type T as its last element. The result sequence preserves all the functional and performance characteristics of the original Sequence, except its size and identity.


#include "boost/mpl/push_back.hpp"


 Parameter  Requirement  Description  
SequenceA model of Extensible SequenceA sequence to handle the insert operation.
TA typeThe element to be inserted.

Expression semantics

 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef push_back<Sequence,T>::type s;A model of Extensible SequenceEquivalent to typedef insert< Sequence,end<Sequence>::type,T >::type s;size<s>::type::value == size<Sequence>::type::value + 1; back<s>::type is identical to T


Amortized constant time [1].


typedef vector_c<bool,false,false,false,true,true,true,false,false> bools;
typedef push_back<bools,false_>::type message;
BOOST_STATIC_ASSERT(back<message>::type::value == false);
BOOST_STATIC_ASSERT((count_if<message, equal_to<_1,false_> >::type::value == 6));


[1] The algorithm can be viewed as a notational shorcut to more verbose insert< Sequence,end<Sequence>::type,T >::type, and is provided only if the sequence can meet the stated complexity requirements.

See also

Extensible Sequence, insert, back, pop_back, push_front

Table of Contents
Last edited March 12, 2003 6:34 am