1.. Sequences/Concepts//Extensible Sequence |40 2 3Extensible Sequence 4=================== 5 6Description 7----------- 8 9An |Extensible Sequence| is a sequence that supports insertion and removal of 10elements. Extensibility is orthogonal to sequence traversal characteristics. 11 12 13Expression requirements 14----------------------- 15 16For any |Extensible Sequence| ``s``, its iterators ``pos`` and ``last``, 17|Forward Sequence| ``r``, and any type ``x``, the following expressions must 18be valid: 19 20+-----------------------------------+---------------------------+---------------------------+ 21| Expression | Type | Complexity | 22+===================================+===========================+===========================+ 23| ``insert<s,pos,x>::type`` | |Extensible Sequence| | Unspecified | 24+-----------------------------------+---------------------------+---------------------------+ 25| ``insert_range<s,pos,r>::type`` | |Extensible Sequence| | Unspecified | 26+-----------------------------------+---------------------------+---------------------------+ 27| ``erase<s,pos>::type`` | |Extensible Sequence| | Unspecified | 28+-----------------------------------+---------------------------+---------------------------+ 29| ``erase<s,pos,last>::type`` | |Extensible Sequence| | Unspecified | 30+-----------------------------------+---------------------------+---------------------------+ 31| ``clear<s>::type`` | |Extensible Sequence| | Constant time | 32+-----------------------------------+---------------------------+---------------------------+ 33 34Expression semantics 35-------------------- 36 37+-----------------------------------+---------------------------------------------------------------+ 38| Expression | Semantics | 39+===================================+===============================================================+ 40| ``insert<s,pos,x>::type`` | A new sequence, concept-identical to ``s``, of | 41| | the following elements: | 42| | [``begin<s>::type``, ``pos``), ``x``, | 43| | [``pos``, ``end<s>::type``); see |insert|. | 44+-----------------------------------+---------------------------------------------------------------+ 45| ``insert_range<s,pos,r>::type`` | A new sequence, concept-identical to ``s``, of | 46| | the following elements: | 47| | [``begin<s>::type``, ``pos``), | 48| | [``begin<r>::type``, ``end<r>::type``), | 49| | [``pos``, ``end<s>::type``); see |insert_range|. | 50+-----------------------------------+---------------------------------------------------------------+ 51| ``erase<s,pos>::type`` | A new sequence, concept-identical to ``s``, of | 52| | the following elements: | 53| | [``begin<s>::type``, ``pos``), | 54| | [``next<pos>::type``, ``end<s>::type``); see |erase|. | 55+-----------------------------------+---------------------------------------------------------------+ 56| ``erase<s,pos,last>::type`` | A new sequence, concept-identical to ``s``, of | 57| | the following elements: | 58| | [``begin<s>::type``, ``pos``), | 59| | [``last``, ``end<s>::type``); see |erase|. | 60+-----------------------------------+---------------------------------------------------------------+ 61| ``clear<s>::type`` | An empty sequence concept-identical to ``s``; see | 62| | |clear|. | 63+-----------------------------------+---------------------------------------------------------------+ 64 65 66Models 67------ 68 69* |vector| 70* |list| 71 72 73See also 74-------- 75 76|Sequences|, |Back Extensible Sequence|, |insert|, |insert_range|, |erase|, |clear| 77 78 79.. copyright:: Copyright � 2001-2009 Aleksey Gurtovoy and David Abrahams 80 Distributed under the Boost Software License, Version 1.0. (See accompanying 81 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 82