]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/mpl/doc/src/refmanual/front.rst
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / mpl / doc / src / refmanual / front.rst
CommitLineData
7c673cae
FG
1.. Sequences/Intrinsic Metafunctions//front
2
3front
4=====
5
6Synopsis
7--------
8
9.. parsed-literal::
10
11 template<
12 typename Sequence
13 >
14 struct front
15 {
16 typedef |unspecified| type;
17 };
18
19
20
21Description
22-----------
23
24Returns the first element in the sequence.
25
26
27Header
28------
29
30.. parsed-literal::
31
32 #include <boost/mpl/front.hpp>
33
34
35Model of
36--------
37
38|Tag Dispatched Metafunction|
39
40
41Parameters
42----------
43
44+---------------+-----------------------+-----------------------------------------------+
45| Parameter | Requirement | Description |
46+===============+=======================+===============================================+
47| ``Sequence`` | |Forward Sequence| | A sequence to be examined. |
48+---------------+-----------------------+-----------------------------------------------+
49
50
51Expression semantics
52--------------------
53
54For any |Forward Sequence| ``s``:
55
56
57.. parsed-literal::
58
59 typedef front<s>::type t;
60
61:Return type:
62 A type.
63
64:Precondition:
65 ``empty<s>::value == false``.
66
67:Semantics:
68 Equivalent to
69
70 .. parsed-literal::
71
72 typedef deref< begin<s>::type >::type t;
73
74
75
76Complexity
77----------
78
79Amortized constant time.
80
81
82Example
83-------
84
85.. parsed-literal::
86
87 typedef list<long>::type types1;
88 typedef list<int,long>::type types2;
89 typedef list<char,int,long>::type types3;
90
91 BOOST_MPL_ASSERT(( is_same< front<types1>::type, long > ));
92 BOOST_MPL_ASSERT(( is_same< front<types2>::type, int> ));
93 BOOST_MPL_ASSERT(( is_same< front<types3>::type, char> ));
94
95
96
97See also
98--------
99
100|Forward Sequence|, |back|, |push_front|, |begin|, |deref|, |at|
101
102
103