1.. Sequences/Concepts//Front Extensible Sequence |50
2
3Front Extensible Sequence
4=========================
5
6Description
7-----------
8
9A |Front Extensible Sequence| is an |Extensible Sequence| that supports amortized constant
10time insertion and removal operations at the beginning.
11
12Refinement of
13-------------
14
15|Extensible Sequence|
16
17
18Expression requirements
19-----------------------
20
21In addition to the requirements defined in |Extensible Sequence|,
22for any |Back Extensible Sequence| ``s`` the following must be met:
23
24+-------------------------------+-------------------------------+---------------------------+
25| Expression                    | Type                          | Complexity                |
26+===============================+===============================+===========================+
27| ``push_front<s,x>::type``     | |Front Extensible Sequence|   | Amortized constant time   |
28+-------------------------------+-------------------------------+---------------------------+
29| ``pop_front<s>::type``        | |Front Extensible Sequence|   | Amortized constant time   |
30+-------------------------------+-------------------------------+---------------------------+
31| ``front<s>::type``            | Any type                      | Amortized constant time   |
32+-------------------------------+-------------------------------+---------------------------+
33
34
35Expression semantics
36--------------------
37
38|Semantics disclaimer...| |Extensible Sequence|.
39
40+-------------------------------+-----------------------------------------------------------+
41| Expression                    | Semantics                                                 |
42+===============================+===========================================================+
43| ``push_front<s,x>::type``     | Equivalent to ``insert<s,begin<s>::type,x>::type``;       |
44|                               | see |push_front|.                                         |
45+-------------------------------+-----------------------------------------------------------+
46| ``pop_front<v>::type``        | Equivalent to ``erase<s,begin<s>::type>::type``;          |
47|                               | see |pop_front|.                                          |
48+-------------------------------+-----------------------------------------------------------+
49| ``front<s>::type``            | The first element in the sequence; see |front|.           |
50+-------------------------------+-----------------------------------------------------------+
51
52
53Models
54------
55
56* |vector|
57* |list|
58
59
60See also
61--------
62
63|Sequences|, |Extensible Sequence|, |Back Extensible Sequence|, |push_front|, |pop_front|, |front|
64
65
66.. copyright:: Copyright �  2001-2009 Aleksey Gurtovoy and David Abrahams
67   Distributed under the Boost Software License, Version 1.0. (See accompanying
68   file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
69