]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/property_map/doc/compose_property_map.html
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / property_map / doc / compose_property_map.html
CommitLineData
7c673cae
FG
1<html>
2<!--
3 Copyright (c) 2013 Eurodecision
4 Authors: Guillaume Pinot
5
6 Distributed under the Boost Software License, Version 1.0.
7 (See accompanying file LICENSE_1_0.txt or copy at
8 http://www.boost.org/LICENSE_1_0.txt)
9 -->
10
11<head>
12<title>Compose Property Map Adaptor</title>
13</head>
14
15<body bgcolor="#ffffff" link="#0000ee" text="#000000" vlink="#551a8b"
16 alink="#ff0000">
17<img src="../../../boost.png"
18 alt="C++ Boost" width="277" height="86">
19
20<br Clear>
21
22
23<h2>
24<a name="sec:compose-property-map"></a>Compose Property Map
25Adaptor
26</h2>
27
28<pre>
29compose_property_map&lt;FPMap, GPMap&gt;
30</pre>
31
32<p>
33This property map is an adaptor that composes two property map. The
34new property map will of the same model
35as <tt>FPMap</tt>. <tt>GPMap</tt> must
36model <a href="./ReadablePropertyMap.html">Readable Property Map</a>.
37</p>
38
39<h3>Example</h3>
40
41<a href="../example/compose_property_map_example.cpp">compose_property_map_example.cpp</a>:
42<pre>
43#include &lt;boost/property_map/compose_property_map.hpp&gt;
44#include &lt;iostream&gt;
45
46int main()
47{
48 const int idx[] = {2, 0, 4, 1, 3};
49 double v[] = {1., 3., 0., 4., 2.};
50 boost::compose_property_map&lt;double*, const int*&gt; cpm(v, idx);
51
52 for (int i = 0; i < 5; ++i)
53 std::cout << get(cpm, i) << " ";
54 std::cout << std::endl;
55
56 for (int i = 0; i < 5; ++i)
57 ++cpm[i];
58
59 for (int i = 0; i < 5; ++i)
60 std::cout << get(cpm, i) << " ";
61 std::cout << std::endl;
62
63 for (int i = 0; i < 5; ++i)
64 put(cpm, i, 42.);
65
66 for (int i = 0; i < 5; ++i)
67 std::cout << get(cpm, i) << " ";
68 std::cout << std::endl;
69
70 return 0;
71}
72</pre>
73
74<p>Output:</p>
75<pre>
760 1 2 3 4
771 2 3 4 5
7842 42 42 42 42
79</pre>
80
81<h3>Where Defined</h3>
82
83<p>
84<a href="../../../boost/property_map/compose_property_map.hpp"><tt>boost/property_map/compose_property_map.hpp</tt></a>
85</p>
86
87<h3>Template Parameters</h3>
88
89<P>
90
91<table border>
92
93<tr>
94<th>Parameter</th><th>Description</th>
95</tr>
96
97<tr>
98<td><tt>FPMap</tt></td>
99<td>Must be a property map of any kind.</td>
100</tr>
101
102<tr>
103<td><tt>GPMap</tt></td>
104<td>Must be a model of <a href="./ReadablePropertyMap.html">Readable Property Map</a>.</td>
105</tr>
106
107</table>
108
109<H3>Members</H3>
110
111<p>
112In addition to the methods and functions required by property maps,
113this class has the following members:
114</p>
115
116<hr>
117
118<pre>
119compose_property_map(const FPMap&amp; f, const GPMap&amp; g);
120</pre>
121Constructor.
122
123<hr>
124
125<h3>Non-Member functions</h3>
126
127<hr>
128
129<pre>
130 template &lt;class FPMap, class GPMap&gt;
131 compose_property_map&lt;FPMap, GPMap&gt;
132 make_compose_property_map(const FPMap&amp; f, const GPMap&amp; g);
133</pre>
134Returns a <tt>compose_property_map</tt> using the given property maps type.
135
136<hr>
137
138<table>
139<tr valign="top">
140<td nowrap>Copyright &copy; 2013</td>
141<td>Eurodecision</td>
142</tr>
143<tr valign="top">
144<td nowrap>Author:</td>
145<td>Guillaume Pinot</td>
146</tr>
147</table>
148
149</body>
150</html>