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 &</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 &</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>< Feature >::type &</type><template> 24 <template-type-parameter name="Feature"/> 25 </template><purpose>Extraction. </purpose></method> 26<method name="extract" cv="const"><type><classname>apply</classname>< Feature >::type const &</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 &</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 &</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 &</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< Accumulator ></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 &</paramtype></parameter></constructor> 59<constructor><parameter name="that"><paramtype><classname>droppable_accumulator</classname> const &</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 &</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 &</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 &</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 &</paramtype></parameter></constructor> 77<constructor><parameter name="that"><paramtype><classname>droppable_accumulator_base</classname> const &</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 &</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 &</paramtype></parameter><parameter name="a1"><paramtype>A1 const &</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 &</paramtype></parameter><parameter name="a1"><paramtype>A1 const &</paramtype></parameter><parameter name="a2"><paramtype>A2 const &</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< Feature1, Feature2,... ></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 &</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 &</paramtype></parameter></method> 112</method-group> 113<constructor><template> 114 <template-type-parameter name="Args"/> 115 </template><parameter name="args"><paramtype>Args const &</paramtype></parameter></constructor> 116<constructor><parameter name="that"><paramtype><classname>with_cached_result</classname> const &</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 &</paramtype></parameter></method> 120<method name="get" cv="const"><type>result_type const &</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> &</type><parameter name=""><paramtype><classname>with_cached_result</classname> const &</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< Feature ></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< reference< AccumulatorSet, Tag > ></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<></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<></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< AccumulatorSet, Feature >::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 &</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 &</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< AccumulatorSet, Feature >::type &</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 &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< Feature ></template-arg></specialization><typedef name="type"><type><classname>tag::droppable</classname>< typename <classname>as_feature</classname>< Feature >::type ></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< Feature ></template-arg></specialization><typedef name="type"><type><classname>tag::droppable</classname>< typename <classname>as_weighted_feature</classname>< Feature >::type ></type></typedef> 215</struct-specialization><struct-specialization name="feature_of"><template> 216 <template-type-parameter name="Feature"/> 217 </template><specialization><template-arg>tag::droppable< Feature ></template-arg></specialization><inherit access="public">boost::accumulators::feature_of< Feature ></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>< Feature ></type></typedef> 221</struct><struct-specialization name="as_droppable"><template> 222 <template-type-parameter name="Feature"/> 223 </template><specialization><template-arg>droppable< Feature ></template-arg></specialization><typedef name="type"><type><classname>droppable</classname>< Feature ></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< Feature</template-arg><template-arg>Tag</template-arg><template-arg>AccumulatorSet ></template-arg></specialization><inherit access="public">boost::accumulators::feature_of< Feature ></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<></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< ValueType</template-arg><template-arg>Tag ></template-arg></specialization><inherit access="public">boost::accumulators::feature_of< tag::reference_tag< Tag > ></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 &</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 &</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< ValueType</template-arg><template-arg>Tag ></template-arg></specialization><inherit access="public">boost::accumulators::feature_of< tag::value_tag< Tag > ></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 &</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>