]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/graph/doc/KeyedUpdatableQueue.html
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / graph / doc / KeyedUpdatableQueue.html
1 <!DOCTYPE html>
2 <!--
3 Copyright Daniel Trebbien 2010.
4 Distributed under the Boost Software License, Version 1.0.
5 (See accompanying file LICENSE_1_0.txt or the copy at
6 http://www.boost.org/LICENSE_1_0.txt)
7 -->
8 <html>
9 <head>
10 <title>KeyedUpdatableQueue</title>
11 </head>
12 <body>
13 <img src="../../../boost.png" alt="C++ Boost">
14
15 <h2><a name="concept:KeyedUpdatableQueue">KeyedUpdatableQueue</a></h2>
16
17 <p>A <i>KeyedUpdatableQueue</i> is a refinement of the <a href="./UpdatableQueue.html">UpdatableQueue</a> concept.
18 It requires that models order the contained values by their <i>keys</i>, to which
19 values are mapped via a read/write key map.
20
21 <h3>Notation</h3>
22
23 <table>
24 <tr> <td> <tt>Q</tt> </td> <td> is a type that models KeyedUpdatableQueue. </td></tr>
25 <tr> <td> <tt>T</tt> </td> <td> is the value type of <tt>Q</tt>. </td></tr>
26 </table>
27
28
29 <h3>Members</h3>
30
31 For a type to model the KeyedUpdatableQueue concept it must have the following members
32 in addition to the members that are required of types that model <a href="./UpdatableQueue.html">UpdatableQueue</a>:
33
34 <p>
35
36 <table border="1">
37
38 <tr> <td><b>Member</b></td> <td><b>Description</b></td> </tr>
39
40 <tr> <td> <tt>key_type</tt> </td>
41 <td> The type of keys that are associated with values </td>
42 </tr>
43
44 <tr> <td> <tt>key_map</tt> </td>
45 <td> The key property map type. This type must model <a href="../../property_map/doc/ReadWritePropertyMap.html">Read/Write Property Map</a>. </td>
46 </tr>
47
48 <tr> <td> <tt>key_map keys() const</tt> </td>
49 <td> Returns the key map </td>
50 </tr>
51
52 </table>
53
54 <h3>Concept Checking Class</h3>
55
56 <p><a href="../../../boost/graph/buffer_concepts.hpp"><tt>boost/graph/buffer_concepts.hpp</tt></a>
57
58 <pre>
59 template &lt;class Q&gt;
60 struct KeyedUpdatableQueueConcept
61 {
62 typedef typename Q::key_type key_type;
63 typedef typename Q::key_map key_map;
64
65 void constraints() {
66 BOOST_CONCEPT_ASSERT(( UpdatableQueue&lt;Q&gt; ));
67 BOOST_CONCEPT_ASSERT(( ReadWritePropertyMap&lt; key_map, typename Buffer&lt;Q&gt;::value_type &gt; ));
68 }
69
70 void const_constraints(const Q&amp; cq) {
71 km = cq.keys();
72 k = get(km, g_ct);
73 }
74
75 static const typename Buffer&lt;Q&gt;::value_type g_ct;
76 key_type k;
77 key_map km;
78 Q q;
79 };
80 </pre>
81
82 <h3>Models</h3>
83
84 <ul>
85 <li><tt>boost::d_ary_heap_indirect</tt></a>
86 </ul>
87
88 <br>
89 <hr>
90 <table>
91 <tr>
92 <td>Copyright&nbsp;&copy;&nbsp;2010</td>
93 <td>Daniel Trebbien (<a href="mailto:dtrebbien@gmail.com">dtrebbien@gmail.com</a>)
94 </td>
95 </tr>
96 </table>
97
98 </body>
99 </html>