]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/mpl/doc/src/refmanual/reverse_copy.rst
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / mpl / doc / src / refmanual / reverse_copy.rst
1 .. Algorithms/Transformation Algorithms//reverse_copy |110
2
3 reverse_copy
4 ============
5
6 Synopsis
7 --------
8
9 .. parsed-literal::
10
11 template<
12 typename Sequence
13 , typename In = |unspecified|
14 >
15 struct reverse_copy
16 {
17 typedef |unspecified| type;
18 };
19
20
21 Description
22 -----------
23
24 Returns a reversed copy of the original sequence.
25
26 |transformation algorithm disclaimer|
27
28
29 Header
30 ------
31
32 .. parsed-literal::
33
34 #include <boost/mpl/copy.hpp>
35
36
37 Model of
38 --------
39
40 |Reversible Algorithm|
41
42
43 Parameters
44 ----------
45
46 +---------------+-----------------------------------+-------------------------------+
47 | Parameter | Requirement | Description |
48 +===============+===================================+===============================+
49 | ``Sequence`` | |Forward Sequence| | A sequence to copy. |
50 +---------------+-----------------------------------+-------------------------------+
51 | ``In`` | |Inserter| | An inserter. |
52 +---------------+-----------------------------------+-------------------------------+
53
54
55 Expression semantics
56 --------------------
57
58 |Semantics disclaimer...| |Reversible Algorithm|.
59
60 For any |Forward Sequence| ``s``, and an |Inserter| ``in``:
61
62 .. parsed-literal::
63
64 typedef reverse_copy<s,in>::type r;
65
66 :Return type:
67 A type.
68
69 :Semantics:
70 Equivalent to
71
72 .. parsed-literal::
73
74 typedef reverse_fold< s,in::state,in::operation >::type r;
75
76
77
78 Complexity
79 ----------
80
81 Linear. Exactly ``size<s>::value`` applications of ``in::operation``.
82
83
84 Example
85 -------
86
87 .. parsed-literal::
88
89 typedef list_c<int,10,11,12,13,14,15,16,17,18,19>::type numbers;
90 typedef reverse_copy<
91 range_c<int,0,10>
92 , front_inserter< numbers >
93 >::type result;
94
95 BOOST_MPL_ASSERT_RELATION( size<result>::value, ==, 20 );
96 BOOST_MPL_ASSERT(( equal< result,range_c<int,0,20> > ));
97
98
99 See also
100 --------
101
102 |Transformation Algorithms|, |Reversible Algorithm|, |copy|, |reverse_copy_if|, |reverse_transform|
103
104
105 .. copyright:: Copyright © 2001-2009 Aleksey Gurtovoy and David Abrahams
106 Distributed under the Boost Software License, Version 1.0. (See accompanying
107 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)