📄 extensiblesequence.rst
字号:
.. Sequences/Concepts//Extensible Sequence |40
Extensible Sequence
===================
Description
-----------
An |Extensible Sequence| is a sequence that supports insertion and removal of
elements. Extensibility is orthogonal to sequence traversal characteristics.
Expression requirements
-----------------------
For any |Extensible Sequence| ``s``, its iterators ``pos`` and ``last``,
|Forward Sequence| ``r``, and any type ``x``, the following expressions must
be valid:
+-----------------------------------+---------------------------+---------------------------+
| Expression | Type | Complexity |
+===================================+===========================+===========================+
| ``insert<s,pos,x>::type`` | |Extensible Sequence| | Unspecified |
+-----------------------------------+---------------------------+---------------------------+
| ``insert_range<s,pos,r>::type`` | |Extensible Sequence| | Unspecified |
+-----------------------------------+---------------------------+---------------------------+
| ``erase<s,pos>::type`` | |Extensible Sequence| | Unspecified |
+-----------------------------------+---------------------------+---------------------------+
| ``erase<s,pos,last>::type`` | |Extensible Sequence| | Unspecified |
+-----------------------------------+---------------------------+---------------------------+
| ``clear<s>::type`` | |Extensible Sequence| | Constant time |
+-----------------------------------+---------------------------+---------------------------+
Expression semantics
--------------------
+-----------------------------------+---------------------------------------------------------------+
| Expression | Semantics |
+===================================+===============================================================+
| ``insert<s,pos,x>::type`` | A new sequence, concept-identical to ``s``, of |
| | the following elements: |
| | [``begin<s>::type``, ``pos``), ``x``, |
| | [``pos``, ``end<s>::type``); see |insert|. |
+-----------------------------------+---------------------------------------------------------------+
| ``insert_range<s,pos,r>::type`` | A new sequence, concept-identical to ``s``, of |
| | the following elements: |
| | [``begin<s>::type``, ``pos``), |
| | [``begin<r>::type``, ``end<r>::type``), |
| | [``pos``, ``end<s>::type``); see |insert_range|. |
+-----------------------------------+---------------------------------------------------------------+
| ``erase<s,pos>::type`` | A new sequence, concept-identical to ``s``, of |
| | the following elements: |
| | [``begin<s>::type``, ``pos``), |
| | [``next<pos>::type``, ``end<s>::type``); see |erase|. |
+-----------------------------------+---------------------------------------------------------------+
| ``erase<s,pos,last>::type`` | A new sequence, concept-identical to ``s``, of |
| | the following elements: |
| | [``begin<s>::type``, ``pos``), |
| | [``last``, ``end<s>::type``); see |erase|. |
+-----------------------------------+---------------------------------------------------------------+
| ``clear<s>::type`` | An empty sequence concept-identical to ``s``; see |
| | |clear|. |
+-----------------------------------+---------------------------------------------------------------+
Models
------
* |vector|
* |list|
See also
--------
|Sequences|, |Back Extensible Sequence|, |insert|, |insert_range|, |erase|, |clear|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -