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 + -
显示快捷键?