1 .. Sequences/Concepts//Extensible Sequence |40
9 An |Extensible Sequence| is a sequence that supports insertion and removal of
10 elements. Extensibility is orthogonal to sequence traversal characteristics.
13 Expression requirements
14 -----------------------
16 For any |Extensible Sequence| ``s``, its iterators ``pos`` and ``last``,
17 |Forward Sequence| ``r``, and any type ``x``, the following expressions must
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 +-----------------------------------+---------------------------+---------------------------+
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 |
63 +-----------------------------------+---------------------------------------------------------------+
76 |Sequences|, |Back Extensible Sequence|, |insert|, |insert_range|, |erase|, |clear|
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)