]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/mpl/doc/src/refmanual/remove.rst
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / mpl / doc / src / refmanual / remove.rst
CommitLineData
7c673cae
FG
1.. Algorithms/Transformation Algorithms//remove |60
2
3remove
4======
5
6Synopsis
7--------
8
9.. parsed-literal::
10
11 template<
12 typename Sequence
13 , typename T
14 , typename In = |unspecified|
15 >
16 struct remove
17 {
18 typedef |unspecified| type;
19 };
20
21
22Description
23-----------
24
25Returns a new sequence that contains all elements from |begin/end<Sequence>|
26range except those that are identical to ``T``.
27
28.. Returns a copy of the original sequence with all elements identical to ``T``
29 removed.
30
31|transformation algorithm disclaimer|
32
33
34Header
35------
36
37.. parsed-literal::
38
39 #include <boost/mpl/remove.hpp>
40
41
42Model of
43--------
44
45|Reversible Algorithm|
46
47
48Parameters
49----------
50
51+---------------+-----------------------------------+-------------------------------+
52| Parameter | Requirement | Description |
53+===============+===================================+===============================+
54| ``Sequence`` | |Forward Sequence| | An original sequence. |
55+---------------+-----------------------------------+-------------------------------+
56| ``T`` | Any type | A type to be removed. |
57+---------------+-----------------------------------+-------------------------------+
58| ``In`` | |Inserter| | An inserter. |
59+---------------+-----------------------------------+-------------------------------+
60
61
62Expression semantics
63--------------------
64
65|Semantics disclaimer...| |Reversible Algorithm|.
66
67For any |Forward Sequence| ``s``, an |Inserter| ``in``, and arbitrary type ``x``:
68
69
70.. parsed-literal::
71
72 typedef remove<s,x,in>::type r;
73
74:Return type:
75 A type.
76
77:Semantics:
78 Equivalent to
79
80 .. parsed-literal::
81
82 typedef remove_if< s,is_same<_,x>,in >::type r;
83
84
85Complexity
86----------
87
88Linear. Performs exactly ``size<s>::value`` comparisons for equality, and at
89most ``size<s>::value`` insertions.
90
91
92Example
93-------
94
95.. parsed-literal::
96
97 typedef vector<int,float,char,float,float,double>::type types;
98 typedef remove< types,float >::type result;
99
100 BOOST_MPL_ASSERT(( equal< result, vector<int,char,double> > ));
101
102
103See also
104--------
105
106|Transformation Algorithms|, |Reversible Algorithm|, |reverse_remove|, |remove_if|, |copy|, |replace|
107
108
109