pop_front.rst

来自「Boost provides free peer-reviewed portab」· RST 代码 · 共 112 行

RST
112
字号
.. Sequences/Intrinsic Metafunctions//pop_front.. Copyright Aleksey Gurtovoy, David Abrahams 2007... Distributed under the Boost.. Software License, Version 1.0. (See accompanying.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)pop_front=========Synopsis--------.. parsed-literal::        template<          typename Sequence        >    struct pop_front    {        typedef |unspecified| type;    };Description-----------``pop_front`` performs a removal at the beginning of the sequence with guaranteed |O(1)|complexity.Header------.. parsed-literal::        #include <boost/mpl/pop_front.hpp>Model of--------|Tag Dispatched Metafunction|Parameters----------+---------------+-----------------------------------+-----------------------------------------------+| Parameter     | Requirement                       | Description                                   |+===============+===================================+===============================================+| ``Sequence``  | |Front Extensible Sequence|       | A sequence to erase the first element from.   |+---------------+-----------------------------------+-----------------------------------------------+Expression semantics--------------------For any |Front Extensible Sequence| ``s``:.. parsed-literal::    typedef pop_front<s>::type r; :Return type:    |Front Extensible Sequence|.:Precondition:    ``empty<s>::value == false``.:Semantics:    Equivalent to ``erase<s,begin<s>::type>::type;``.:Postcondition:    ``size<r>::value == size<s>::value - 1``.Complexity----------Amortized constant time.Example-------.. parsed-literal::        typedef vector<long>::type types1;    typedef vector<int,long>::type types2;    typedef vector<char,int,long>::type types3;        typedef pop_front<types1>::type result1;    typedef pop_front<types2>::type result2;    typedef pop_front<types3>::type result3;            BOOST_MPL_ASSERT_RELATION( size<result1>::value, ==, 0 );    BOOST_MPL_ASSERT_RELATION( size<result2>::value, ==, 1 );    BOOST_MPL_ASSERT_RELATION( size<result3>::value, ==, 2 );            BOOST_MPL_ASSERT(( is_same< front<result2>::type, long > ));    BOOST_MPL_ASSERT(( is_same< front<result3>::type, int > ));See also--------|Front Extensible Sequence|, |erase|, |push_front|, |front|, |pop_back|

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?