forked from boostorg/mpl
65 lines
2.6 KiB
ReStructuredText
65 lines
2.6 KiB
ReStructuredText
.. Sequences/Concepts//Front Extensible Sequence |50
|
|
|
|
Front Extensible Sequence
|
|
=========================
|
|
|
|
Description
|
|
-----------
|
|
|
|
A |Front Extensible Sequence| is an |Extensible Sequence| that supports amortized constant
|
|
time insertion and removal operations at the beginning.
|
|
|
|
Refinement of
|
|
-------------
|
|
|
|
|Extensible Sequence|
|
|
|
|
|
|
Expression requirements
|
|
-----------------------
|
|
|
|
In addition to the requirements defined in |Extensible Sequence|,
|
|
for any |Back Extensible Sequence| ``s`` the following must be met:
|
|
|
|
+-------------------------------+-------------------------------+---------------------------+
|
|
| Expression | Type | Complexity |
|
|
+===============================+===============================+===========================+
|
|
| ``push_front<s,x>::type`` | |Front Extensible Sequence| | Amortized constant time |
|
|
+-------------------------------+-------------------------------+---------------------------+
|
|
| ``pop_front<s>::type`` | |Front Extensible Sequence| | Amortized constant time |
|
|
+-------------------------------+-------------------------------+---------------------------+
|
|
| ``front<s>::type`` | Any type | Amortized constant time |
|
|
+-------------------------------+-------------------------------+---------------------------+
|
|
|
|
|
|
Expression semantics
|
|
--------------------
|
|
|
|
|Semantics disclaimer...| |Extensible Sequence|.
|
|
|
|
+-------------------------------+-----------------------------------------------------------+
|
|
| Expression | Semantics |
|
|
+===============================+===========================================================+
|
|
| ``push_front<s,x>::type`` | Equivalent to ``insert<s,begin<s>::type,x>::type``; |
|
|
| | see |push_front|. |
|
|
+-------------------------------+-----------------------------------------------------------+
|
|
| ``pop_front<v>::type`` | Equivalent to ``erase<s,begin<s>::type>::type``; |
|
|
| | see |pop_front|. |
|
|
+-------------------------------+-----------------------------------------------------------+
|
|
| ``front<s>::type`` | The first element in the sequence; see |front|. |
|
|
+-------------------------------+-----------------------------------------------------------+
|
|
|
|
|
|
Models
|
|
------
|
|
|
|
* |vector|
|
|
* |list|
|
|
|
|
|
|
See also
|
|
--------
|
|
|
|
|Sequences|, |Extensible Sequence|, |Back Extensible Sequence|, |push_front|, |pop_front|, |front|
|
|
|