• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" standalone="yes"?>
2<library-reference id="accumulators_framework_reference"><title>Accumulators Framework Reference</title><header name="boost/accumulators/accumulators.hpp">
3<para>Includes all of the Accumulators Framework </para></header>
4<header name="boost/accumulators/accumulators_fwd.hpp">
5<namespace name="boost">
6<namespace name="accumulators">
7<struct name="accumulator_set"><template>
8      <template-type-parameter name="Sample"/>
9      <template-type-parameter name="Features"/>
10      <template-type-parameter name="Weight"/>
11    </template><purpose>A set of accumulators. </purpose><description><para><classname alt="boost::accumulators::accumulator_set">accumulator_set</classname> resolves the dependencies between features and ensures that the accumulators in the set are updated in the proper order.</para><para>acccumulator_set provides a general mechanism to visit the accumulators in the set in order, with or without a filter. You can also fetch a reference to an accumulator that corresponds to a feature. </para></description><method-group name="public member functions">
12<method name="visit"><type>void</type><template>
13          <template-type-parameter name="UnaryFunction"/>
14        </template><parameter name="func"><paramtype>UnaryFunction const &amp;</paramtype><description><para>UnaryFunction which is invoked with each accumulator in turn. </para></description></parameter><description><para>Visitation
15</para></description></method>
16<method name="visit_if"><type>void</type><template>
17          <template-type-parameter name="FilterPred"/>
18          <template-type-parameter name="UnaryFunction"/>
19        </template><parameter name="func"><paramtype>UnaryFunction const &amp;</paramtype><description><para>UnaryFunction which is invoked with each accumulator in turn, provided the accumulator satisfies the MPL predicate FilterPred. </para></description></parameter><description><para>Conditional visitation
20</para></description></method>
21<method name="operator()"><type>void</type><description><para>Accumulation
22</para></description></method>
23<method name="extract"><type><classname>apply</classname>&lt; Feature &gt;::type &amp;</type><template>
24          <template-type-parameter name="Feature"/>
25        </template><purpose>Extraction. </purpose></method>
26<method name="extract" cv="const"><type><classname>apply</classname>&lt; Feature &gt;::type const  &amp;</type><template>
27          <template-type-parameter name="Feature"/>
28        </template><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method>
29<method name="drop"><type>void</type><template>
30          <template-type-parameter name="Feature"/>
31        </template><purpose>Drop. </purpose></method>
32<method name="serialize"><type>void</type><template>
33          <template-type-parameter name="Archive"/>
34        </template><parameter name="ar"><paramtype>Archive &amp;</paramtype></parameter><parameter name="file_version"><paramtype>const unsigned int</paramtype></parameter></method>
35</method-group>
36<constructor specifiers="explicit"><template>
37          <template-type-parameter name="A1"/>
38        </template><parameter name="a1"><paramtype>A1 const &amp;</paramtype><description><para>Optional named parameter to be passed to all the accumulators </para></description></parameter><parameter name=""><paramtype><emphasis>unspecified</emphasis></paramtype><default><emphasis>unspecified</emphasis></default></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.</para><para>
39</para></description></constructor>
40<constructor specifiers="explicit"><template>
41          <template-type-parameter name="A1"/>
42        </template><parameter name="a1"><paramtype>A1 const &amp;</paramtype><description><para>Optional sample parameter to be passed to all the accumulators </para></description></parameter><parameter name=""><paramtype><emphasis>unspecified</emphasis></paramtype><default><emphasis>unspecified</emphasis></default></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.</para><para>
43</para></description></constructor>
44</struct><struct name="as_feature"><template>
45      <template-type-parameter name="Feature"/>
46    </template></struct><struct name="as_weighted_feature"><template>
47      <template-type-parameter name="Feature"/>
48    </template></struct><struct name="depends_on"><template>
49      <template-type-parameter name="Feature1"/>
50      <template-type-parameter name="Feature2"/>
51      <template-nontype-parameter name=""><type>...</type></template-nontype-parameter>
52    </template><purpose><classname alt="boost::accumulators::depends_on">depends_on</classname> </purpose></struct><struct name="droppable_accumulator"><template>
53      <template-type-parameter name="Accumulator"/>
54    </template><inherit access="public">boost::accumulators::droppable_accumulator_base&lt; Accumulator &gt;</inherit><method-group name="public member functions">
55</method-group>
56<constructor><template>
57          <template-type-parameter name="Args"/>
58        </template><parameter name="args"><paramtype>Args const &amp;</paramtype></parameter></constructor>
59<constructor><parameter name="that"><paramtype><classname>droppable_accumulator</classname> const &amp;</paramtype></parameter></constructor>
60</struct><struct name="droppable_accumulator_base"><template>
61      <template-type-parameter name="Accumulator"/>
62    </template><inherit access="public">Accumulator</inherit><method-group name="public member functions">
63<method name="operator()"><type>void</type><template>
64          <template-type-parameter name="Args"/>
65        </template><parameter name="args"><paramtype>Args const &amp;</paramtype></parameter></method>
66<method name="add_ref"><type>void</type><template>
67          <template-type-parameter name="Args"/>
68        </template><parameter name=""><paramtype>Args const &amp;</paramtype></parameter></method>
69<method name="drop"><type>void</type><template>
70          <template-type-parameter name="Args"/>
71        </template><parameter name="args"><paramtype>Args const &amp;</paramtype></parameter></method>
72<method name="is_dropped" cv="const"><type>bool</type></method>
73</method-group>
74<constructor><template>
75          <template-type-parameter name="Args"/>
76        </template><parameter name="args"><paramtype>Args const &amp;</paramtype></parameter></constructor>
77<constructor><parameter name="that"><paramtype><classname>droppable_accumulator_base</classname> const &amp;</paramtype></parameter></constructor>
78</struct><struct name="extractor"><template>
79      <template-type-parameter name="Feature"/>
80    </template><purpose>Extracts the result associated with Feature from the specified <classname alt="boost::accumulators::accumulator_set">accumulator_set</classname>. </purpose><method-group name="public member functions">
81<method name="operator()" cv="const"><type><emphasis>unspecified</emphasis></type><template>
82          <template-type-parameter name="Arg1"/>
83        </template><parameter name="arg1"><paramtype>Arg1 const &amp;</paramtype></parameter><description><para>Extract the result associated with Feature from the accumulator set
84</para></description></method>
85<method name="operator()" cv="const"><type><emphasis>unspecified</emphasis></type><template>
86          <template-type-parameter name="AccumulatorSet"/>
87          <template-type-parameter name="A1"/>
88        </template><parameter name="acc"><paramtype>AccumulatorSet const &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 const &amp;</paramtype><description><para>Optional named parameter to be passed to the accumulator's result() function. </para></description></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.</para><para>
89</para></description></method>
90<method name="operator()"><type><emphasis>unspecified</emphasis></type><template>
91          <template-type-parameter name="AccumulatorSet"/>
92          <template-type-parameter name="A1"/>
93          <template-type-parameter name="A2"/>
94          <template-nontype-parameter name=""><type>...</type></template-nontype-parameter>
95        </template><parameter name="acc"><paramtype>AccumulatorSet const &amp;</paramtype></parameter><parameter name="a1"><paramtype>A1 const &amp;</paramtype></parameter><parameter name="a2"><paramtype>A2 const &amp;</paramtype></parameter><parameter name=""><paramtype>...</paramtype></parameter><description><para>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </para></description></method>
96</method-group>
97</struct><struct name="feature_of"><template>
98      <template-type-parameter name="Feature"/>
99    </template></struct><struct name="features"><template>
100      <template-type-parameter name="Feature1"/>
101      <template-type-parameter name="Feature2"/>
102      <template-nontype-parameter name=""><type>...</type></template-nontype-parameter>
103    </template><inherit access="public">mpl::vector&lt; Feature1, Feature2,... &gt;</inherit></struct><struct name="with_cached_result"><template>
104      <template-type-parameter name="Accumulator"/>
105    </template><inherit access="public">Accumulator</inherit><method-group name="public member functions">
106<method name="on_drop"><type>void</type><template>
107          <template-type-parameter name="Args"/>
108        </template><parameter name="args"><paramtype>Args const &amp;</paramtype></parameter></method>
109<method name="result" cv="const"><type>result_type</type><template>
110          <template-type-parameter name="Args"/>
111        </template><parameter name="args"><paramtype>Args const &amp;</paramtype></parameter></method>
112</method-group>
113<constructor><template>
114          <template-type-parameter name="Args"/>
115        </template><parameter name="args"><paramtype>Args const &amp;</paramtype></parameter></constructor>
116<constructor><parameter name="that"><paramtype><classname>with_cached_result</classname> const &amp;</paramtype></parameter></constructor>
117<destructor/>
118<method-group name="private member functions">
119<method name="set"><type>void</type><parameter name="r"><paramtype>result_type const &amp;</paramtype></parameter></method>
120<method name="get" cv="const"><type>result_type const  &amp;</type></method>
121<method name="has_result" cv="const"><type>bool</type></method>
122</method-group>
123<copy-assignment><type><classname>with_cached_result</classname> &amp;</type><parameter name=""><paramtype><classname>with_cached_result</classname> const &amp;</paramtype></parameter></copy-assignment>
124</struct><namespace name="impl">
125</namespace>
126<namespace name="tag">
127<struct name="droppable"><template>
128      <template-type-parameter name="Feature"/>
129    </template><inherit access="public">as_feature::type&lt; Feature &gt;</inherit></struct><struct name="external"><template>
130      <template-type-parameter name="Feature"/>
131      <template-type-parameter name="Tag"/>
132      <template-type-parameter name="AccumulatorSet"/>
133    </template><inherit access="public">boost::accumulators::depends_on&lt; reference&lt; AccumulatorSet, Tag &gt; &gt;</inherit></struct><struct name="reference"><template>
134      <template-type-parameter name="Referent"/>
135      <template-type-parameter name="Tag"/>
136    </template><inherit access="public">boost::accumulators::depends_on&lt;&gt;</inherit></struct><struct name="reference_tag"><template>
137      <template-type-parameter name="Tag"/>
138    </template></struct><struct name="value"><template>
139      <template-type-parameter name="ValueType"/>
140      <template-type-parameter name="Tag"/>
141    </template><inherit access="public">boost::accumulators::depends_on&lt;&gt;</inherit></struct><struct name="value_tag"><template>
142      <template-type-parameter name="Tag"/>
143    </template></struct></namespace>
144
145<function name="extract_result"><type>mpl::apply&lt; AccumulatorSet, Feature &gt;::type::result_type</type><template>
146          <template-type-parameter name="Feature"/>
147          <template-type-parameter name="AccumulatorSet"/>
148        </template><parameter name="acc"><paramtype>AccumulatorSet const &amp;</paramtype></parameter></function>
149
150</namespace>
151</namespace>
152<macro name="BOOST_ACCUMULATORS_MAX_FEATURES"><description><para>The maximum number of accumulators that may be put in an accumulator_set. Defaults to BOOST_MPL_LIMIT_VECTOR_SIZE (which defaults to 20). </para></description></macro>
153<macro name="BOOST_ACCUMULATORS_MAX_ARGS"><description><para>The maximum number of arguments that may be specified to an accumulator_set's accumulation function. Defaults to 15. </para></description></macro>
154<macro name="BOOST_ACCUMULATORS_PROTO_DISABLE_IF_IS_CONST" kind="functionlike"><macro-parameter name="T"/></macro>
155<macro name="BOOST_ACCUMULATORS_GCC_VERSION"/>
156<macro name="BOOST_ACCUMULATORS_IGNORE_GLOBAL" kind="functionlike"><macro-parameter name="X"/></macro>
157</header>
158<header name="boost/accumulators/framework/accumulator_base.hpp">
159<namespace name="boost">
160<namespace name="accumulators">
161<struct name="accumulator_base"><typedef name="is_droppable"><type>mpl::false_</type></typedef>
162<method-group name="public member functions">
163<method name="operator()"><type><emphasis>unspecified</emphasis></type><parameter name=""><paramtype><classname>dont_care</classname></paramtype></parameter></method>
164<method name="add_ref"><type><emphasis>unspecified</emphasis></type><parameter name=""><paramtype><classname>dont_care</classname></paramtype></parameter></method>
165<method name="drop"><type><emphasis>unspecified</emphasis></type><parameter name=""><paramtype><classname>dont_care</classname></paramtype></parameter></method>
166<method name="on_drop"><type><emphasis>unspecified</emphasis></type><parameter name=""><paramtype><classname>dont_care</classname></paramtype></parameter></method>
167</method-group>
168</struct><struct name="dont_care"><method-group name="public member functions">
169</method-group>
170<constructor><template>
171          <template-type-parameter name="Args"/>
172        </template><parameter name=""><paramtype>Args const &amp;</paramtype></parameter></constructor>
173</struct>
174
175
176</namespace>
177</namespace>
178</header>
179<header name="boost/accumulators/framework/accumulator_concept.hpp">
180<namespace name="boost">
181<namespace name="accumulators">
182<struct name="accumulator_concept"><template>
183      <template-type-parameter name="Stat"/>
184    </template><data-member name="stat"><type>Stat</type></data-member>
185<method-group name="public member functions">
186<method name="constraints"><type>void</type></method>
187</method-group>
188</struct>
189
190
191</namespace>
192</namespace>
193</header>
194<header name="boost/accumulators/framework/accumulator_set.hpp">
195<namespace name="boost">
196<namespace name="accumulators">
197
198
199<function name="find_accumulator"><type>mpl::apply&lt; AccumulatorSet, Feature &gt;::type &amp;</type><template>
200          <template-type-parameter name="Feature"/>
201          <template-type-parameter name="AccumulatorSet"/>
202        </template><parameter name="BOOST_ACCUMULATORS_PROTO_DISABLE_IF_IS_CONST"><paramtype>AccumulatorSet &amp;acc </paramtype></parameter></function>
203</namespace>
204</namespace>
205</header>
206<header name="boost/accumulators/framework/accumulators/droppable_accumulator.hpp">
207<namespace name="boost">
208<namespace name="accumulators">
209<struct-specialization name="as_feature"><template>
210      <template-type-parameter name="Feature"/>
211    </template><specialization><template-arg>tag::droppable&lt; Feature &gt;</template-arg></specialization><typedef name="type"><type><classname>tag::droppable</classname>&lt; typename <classname>as_feature</classname>&lt; Feature &gt;::type &gt;</type></typedef>
212</struct-specialization><struct-specialization name="as_weighted_feature"><template>
213      <template-type-parameter name="Feature"/>
214    </template><specialization><template-arg>tag::droppable&lt; Feature &gt;</template-arg></specialization><typedef name="type"><type><classname>tag::droppable</classname>&lt; typename <classname>as_weighted_feature</classname>&lt; Feature &gt;::type &gt;</type></typedef>
215</struct-specialization><struct-specialization name="feature_of"><template>
216      <template-type-parameter name="Feature"/>
217    </template><specialization><template-arg>tag::droppable&lt; Feature &gt;</template-arg></specialization><inherit access="public">boost::accumulators::feature_of&lt; Feature &gt;</inherit></struct-specialization><namespace name="tag">
218<struct name="as_droppable"><template>
219      <template-type-parameter name="Feature"/>
220    </template><typedef name="type"><type><classname>droppable</classname>&lt; Feature &gt;</type></typedef>
221</struct><struct-specialization name="as_droppable"><template>
222      <template-type-parameter name="Feature"/>
223    </template><specialization><template-arg>droppable&lt; Feature &gt;</template-arg></specialization><typedef name="type"><type><classname>droppable</classname>&lt; Feature &gt;</type></typedef>
224</struct-specialization></namespace>
225
226
227
228</namespace>
229</namespace>
230</header>
231<header name="boost/accumulators/framework/accumulators/external_accumulator.hpp">
232<namespace name="boost">
233<namespace name="accumulators">
234<struct-specialization name="feature_of"><template>
235      <template-type-parameter name="Feature"/>
236      <template-type-parameter name="Tag"/>
237      <template-type-parameter name="AccumulatorSet"/>
238    </template><specialization><template-arg>tag::external&lt; Feature</template-arg><template-arg>Tag</template-arg><template-arg>AccumulatorSet &gt;</template-arg></specialization><inherit access="public">boost::accumulators::feature_of&lt; Feature &gt;</inherit></struct-specialization><namespace name="impl">
239</namespace>
240<namespace name="tag">
241<struct-specialization name="external"><template>
242      <template-type-parameter name="Feature"/>
243      <template-type-parameter name="Tag"/>
244    </template><specialization><template-arg>Feature</template-arg><template-arg>Tag</template-arg><template-arg>void</template-arg></specialization><inherit access="public">boost::accumulators::depends_on&lt;&gt;</inherit><typedef name="impl"><type><emphasis>unspecified</emphasis></type></typedef>
245</struct-specialization></namespace>
246
247
248
249</namespace>
250</namespace>
251</header>
252<header name="boost/accumulators/framework/accumulators/reference_accumulator.hpp">
253<namespace name="boost">
254<namespace name="accumulators">
255<struct-specialization name="feature_of"><template>
256      <template-type-parameter name="ValueType"/>
257      <template-type-parameter name="Tag"/>
258    </template><specialization><template-arg>tag::reference&lt; ValueType</template-arg><template-arg>Tag &gt;</template-arg></specialization><inherit access="public">boost::accumulators::feature_of&lt; tag::reference_tag&lt; Tag &gt; &gt;</inherit></struct-specialization><namespace name="extract">
259</namespace>
260<namespace name="impl">
261<struct name="reference_accumulator_impl"><template>
262      <template-type-parameter name="Referent"/>
263      <template-type-parameter name="Tag"/>
264    </template><inherit access="public">boost::accumulators::accumulator_base</inherit><typedef name="result_type"><type>Referent &amp;</type></typedef>
265<method-group name="public member functions">
266<method name="result" cv="const"><type>result_type</type><parameter name=""><paramtype><classname>dont_care</classname></paramtype></parameter></method>
267</method-group>
268<constructor><template>
269          <template-type-parameter name="Args"/>
270        </template><parameter name="args"><paramtype>Args const &amp;</paramtype></parameter></constructor>
271</struct></namespace>
272<namespace name="tag">
273</namespace>
274
275
276
277</namespace>
278</namespace>
279</header>
280<header name="boost/accumulators/framework/accumulators/value_accumulator.hpp">
281<namespace name="boost">
282<namespace name="accumulators">
283<struct-specialization name="feature_of"><template>
284      <template-type-parameter name="ValueType"/>
285      <template-type-parameter name="Tag"/>
286    </template><specialization><template-arg>tag::value&lt; ValueType</template-arg><template-arg>Tag &gt;</template-arg></specialization><inherit access="public">boost::accumulators::feature_of&lt; tag::value_tag&lt; Tag &gt; &gt;</inherit></struct-specialization><namespace name="extract">
287</namespace>
288<namespace name="impl">
289<struct name="value_accumulator_impl"><template>
290      <template-type-parameter name="ValueType"/>
291      <template-type-parameter name="Tag"/>
292    </template><inherit access="public">boost::accumulators::accumulator_base</inherit><typedef name="result_type"><type>ValueType</type></typedef>
293<method-group name="public member functions">
294<method name="result" cv="const"><type>result_type</type><parameter name=""><paramtype><classname>dont_care</classname></paramtype></parameter></method>
295</method-group>
296<constructor><template>
297          <template-type-parameter name="Args"/>
298        </template><parameter name="args"><paramtype>Args const &amp;</paramtype></parameter></constructor>
299</struct></namespace>
300<namespace name="tag">
301</namespace>
302
303
304
305</namespace>
306</namespace>
307</header>
308<header name="boost/accumulators/framework/depends_on.hpp">
309<namespace name="boost">
310<namespace name="accumulators">
311
312
313
314</namespace>
315</namespace>
316</header>
317<header name="boost/accumulators/framework/external.hpp">
318</header>
319<header name="boost/accumulators/framework/extractor.hpp">
320<namespace name="boost">
321<namespace name="accumulators">
322
323
324
325</namespace>
326</namespace>
327<macro name="BOOST_ACCUMULATORS_DEFINE_EXTRACTOR" kind="functionlike"><macro-parameter name="Tag"/><macro-parameter name="Feature"/><macro-parameter name="ParamSeq"/></macro>
328</header>
329<header name="boost/accumulators/framework/features.hpp">
330<namespace name="boost">
331<namespace name="accumulators">
332
333
334
335</namespace>
336</namespace>
337</header>
338<header name="boost/accumulators/framework/parameters/accumulator.hpp">
339<namespace name="boost">
340<namespace name="accumulators">
341
342
343
344</namespace>
345</namespace>
346</header>
347<header name="boost/accumulators/framework/parameters/sample.hpp">
348<namespace name="boost">
349<namespace name="accumulators">
350
351
352
353</namespace>
354</namespace>
355</header>
356<header name="boost/accumulators/framework/parameters/weight.hpp">
357<namespace name="boost">
358<namespace name="accumulators">
359
360
361
362</namespace>
363</namespace>
364</header>
365<header name="boost/accumulators/framework/parameters/weights.hpp">
366<namespace name="boost">
367<namespace name="accumulators">
368
369
370
371</namespace>
372</namespace>
373</header>
374</library-reference>