]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/mpl/doc/src/refmanual/ExtensibleSequence.rst
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / mpl / doc / src / refmanual / ExtensibleSequence.rst
1 .. Sequences/Concepts//Extensible Sequence |40
2
3 Extensible Sequence
4 ===================
5
6 Description
7 -----------
8
9 An |Extensible Sequence| is a sequence that supports insertion and removal of
10 elements. Extensibility is orthogonal to sequence traversal characteristics.
11
12
13 Expression requirements
14 -----------------------
15
16 For any |Extensible Sequence| ``s``, its iterators ``pos`` and ``last``,
17 |Forward Sequence| ``r``, and any type ``x``, the following expressions must
18 be 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
34 Expression 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
66 Models
67 ------
68
69 * |vector|
70 * |list|
71
72
73 See 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)