Imported Upstream version 1.72.0
[platform/upstream/boost.git] / libs / test / doc / doxygen_reference_generated_doc.xml
1 <?xml version="1.0" standalone="yes"?>
2 <library-reference><header name="boost/test/data/config.hpp">
3 <para>common dataset macros </para><macro name="BOOST_TEST_NO_RANDOM_DATASET_AVAILABLE"><purpose>Defined when the random dataset feature is not available. </purpose></macro>
4 <macro name="BOOST_TEST_NO_GRID_COMPOSITION_AVAILABLE"><purpose>Defined when grid composition of datasets is not available. </purpose></macro>
5 <macro name="BOOST_TEST_NO_ZIP_COMPOSITION_AVAILABLE"><purpose>Defined when zip composition of datasets is not available. </purpose></macro>
6 <macro name="BOOST_TEST_DS_ERROR" kind="functionlike"><macro-parameter name="msg"/><purpose>Defined when the initializer_list implementation is buggy, such as for VS2013. </purpose></macro>
7 <macro name="BOOST_TEST_DS_ASSERT" kind="functionlike"><macro-parameter name="cond"/><macro-parameter name="msg"/></macro>
8 </header>
9 <header name="boost/test/data/for_each_sample.hpp">
10 <para>Defines for_each_sample algorithm. </para><namespace name="boost">
11 <namespace name="unit_test">
12 <namespace name="data">
13
14
15
16
17
18
19
20
21
22 <function name="invoke_action"><type>void</type><template>
23           <template-type-parameter name="Action"/>
24           <template-type-parameter name="T"/>
25         </template><parameter name="action"><paramtype>Action const &amp;</paramtype></parameter><parameter name="arg"><paramtype>T &amp;&amp;</paramtype></parameter><parameter name=""><paramtype>std::false_type</paramtype></parameter></function>
26 <function name="invoke_action_impl"><type>void</type><template>
27           <template-type-parameter name="Action"/>
28           <template-type-parameter name="T"/>
29           <template-nontype-parameter name="I"><type>std::size_t ...</type></template-nontype-parameter>
30         </template><parameter name="action"><paramtype>Action const &amp;</paramtype></parameter><parameter name="args"><paramtype>T &amp;&amp;</paramtype></parameter><parameter name=""><paramtype>index_sequence&lt; I... &gt; const &amp;</paramtype></parameter></function>
31 <function name="invoke_action"><type>void</type><template>
32           <template-type-parameter name="Action"/>
33           <template-type-parameter name="T"/>
34         </template><parameter name="action"><paramtype>Action const &amp;</paramtype></parameter><parameter name="args"><paramtype>T &amp;&amp;</paramtype></parameter><parameter name=""><paramtype>std::true_type</paramtype></parameter></function>
35 <function name="for_each_sample"><type>std::enable_if&lt; <classname>monomorphic::is_dataset</classname>&lt; DataSet &gt;::value, void &gt;::type</type><template>
36           <template-type-parameter name="DataSet"/>
37           <template-type-parameter name="Action"/>
38         </template><parameter name="samples"><paramtype>DataSet const &amp;</paramtype></parameter><parameter name="act"><paramtype>Action const &amp;</paramtype></parameter><parameter name="number_of_samples"><paramtype><classname>data::size_t</classname></paramtype><default>BOOST_TEST_DS_INFINITE_SIZE</default></parameter></function>
39 <function name="for_each_sample"><type>std::enable_if&lt;!<classname>monomorphic::is_dataset</classname>&lt; DataSet &gt;::value, void &gt;::type</type><template>
40           <template-type-parameter name="DataSet"/>
41           <template-type-parameter name="Action"/>
42         </template><parameter name="samples"><paramtype>DataSet &amp;&amp;</paramtype></parameter><parameter name="act"><paramtype>Action const &amp;</paramtype></parameter><parameter name="number_of_samples"><paramtype><classname>data::size_t</classname></paramtype><default>BOOST_TEST_DS_INFINITE_SIZE</default></parameter></function>
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77 </namespace>
78
79
80
81
82
83
84 </namespace>
85 </namespace>
86 </header>
87 <header name="boost/test/data/monomorphic/array.hpp">
88 <para>Defines monomorphic dataset based on C type arrays. </para><namespace name="boost">
89 <namespace name="unit_test">
90 <namespace name="data">
91 <namespace name="monomorphic">
92 <class name="array"><template>
93       <template-type-parameter name="T"/>
94     </template><purpose>Dataset view of a C array. </purpose><enum name="@6"><enumvalue name="arity"><default>= 1</default></enumvalue></enum>
95 <typedef name="sample"><type>T</type></typedef>
96 <typedef name="iterator"><type>T const  *</type></typedef>
97 <method-group name="public member functions">
98 <method name="size" cv="const"><type><classname>data::size_t</classname></type></method>
99 <method name="begin" cv="const"><type>iterator</type></method>
100 </method-group>
101 <constructor><parameter name="arr_"><paramtype>T const *</paramtype></parameter><parameter name="size_"><paramtype>std::size_t</paramtype></parameter></constructor>
102 </class><struct-specialization name="is_dataset"><template>
103       <template-type-parameter name="T"/>
104     </template><specialization><template-arg>array&lt; T &gt;</template-arg></specialization><inherit access="public">true_</inherit><purpose>An array dataset is a dataset. </purpose></struct-specialization>
105
106
107
108
109
110
111
112
113 </namespace>
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162 </namespace>
163
164
165
166
167
168
169 </namespace>
170 </namespace>
171 </header>
172 <header name="boost/test/data/monomorphic/collection.hpp">
173 <para>Defines monomorphic dataset based on forward iterable sequence. </para><namespace name="boost">
174 <namespace name="unit_test">
175 <namespace name="data">
176 <namespace name="monomorphic">
177 <class name="collection"><template>
178       <template-type-parameter name="C"/>
179     </template><purpose>Dataset from a forward iterable container (collection) </purpose><description><para>This dataset is applicable to any container implementing a forward iterator. Note that container with one element will be considered as singletons. This dataset is constructible with the boost::unit_test::data::make function. </para></description><enum name="@7"><enumvalue name="arity"><default>= 1</default></enumvalue></enum>
180 <typedef name="sample"><type>col_type::value_type</type></typedef>
181 <typedef name="iterator"><type>col_type::const_iterator</type></typedef>
182 <method-group name="public member functions">
183 <method name="col" cv="const"><type>C const  &amp;</type><purpose>Returns the underlying collection. </purpose></method>
184 <method name="size" cv="const"><type><classname>data::size_t</classname></type><purpose>dataset interface </purpose></method>
185 <method name="begin" cv="const"><type>iterator</type></method>
186 </method-group>
187 <constructor specifiers="explicit"><parameter name="col"><paramtype>C &amp;&amp;</paramtype></parameter><purpose>Constructor consumed a temporary collection or stores a reference. </purpose></constructor>
188 <constructor><parameter name="c"><paramtype><classname>collection</classname> &amp;&amp;</paramtype></parameter><purpose>Move constructor. </purpose></constructor>
189 </class><struct-specialization name="is_dataset"><template>
190       <template-type-parameter name="C"/>
191     </template><specialization><template-arg>collection&lt; C &gt;</template-arg></specialization><inherit access="public">true_</inherit><purpose>A collection from a forward iterable container is a dataset. </purpose></struct-specialization>
192
193
194
195
196
197
198
199
200 </namespace>
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249 </namespace>
250
251
252
253
254
255
256 </namespace>
257 </namespace>
258 </header>
259 <header name="boost/test/data/monomorphic/delayed.hpp">
260 <para>Defines a lazy/delayed dataset store. </para><namespace name="boost">
261 <namespace name="unit_test">
262 <namespace name="data">
263 <namespace name="monomorphic">
264 <class name="delayed_dataset"><template>
265       <template-type-parameter name="dataset_t"/>
266       <template-nontype-parameter name="Args"><type>class ...</type></template-nontype-parameter>
267     </template><purpose>Delayed dataset. </purpose><description><para>This dataset holds another dataset that is instanciated on demand. It is constructed with the <computeroutput>data::make_delayed&lt;dataset_t&gt;</computeroutput>(arg1,....) instead of the <computeroutput>data::make</computeroutput>. </para></description><enum name="@3"><enumvalue name="arity"><default>= dataset_t::arity</default></enumvalue></enum>
268 <typedef name="iterator"><type>decltype(std::declval&lt; dataset_t &gt;().begin())</type></typedef>
269 <method-group name="public member functions">
270 <method name="size" cv="const"><type><classname>boost::unit_test::data::size_t</classname></type></method>
271 <method name="begin" cv="const"><type>iterator</type></method>
272 </method-group>
273 <constructor><parameter name="args"><paramtype>Args...</paramtype></parameter></constructor>
274 <constructor><parameter name="b"><paramtype><classname>delayed_dataset</classname> &amp;&amp;</paramtype></parameter></constructor>
275 <method-group name="private member functions">
276 <method name="get" cv="const"><type>dataset_t &amp;</type></method>
277 <method name="create" cv="const"><type>std::unique_ptr&lt; dataset_t &gt;</type><template>
278           <template-nontype-parameter name="I"><type>std::size_t...</type></template-nontype-parameter>
279         </template><parameter name=""><paramtype>boost::unit_test::data::index_sequence&lt; I... &gt;</paramtype></parameter></method>
280 </method-group>
281 </class><struct-specialization name="is_dataset"><template>
282       <template-type-parameter name="dataset_t"/>
283       <template-nontype-parameter name="Args"><type>class ...</type></template-nontype-parameter>
284     </template><specialization><template-arg>delayed_dataset&lt; dataset_t</template-arg><template-arg>Args... &gt;</template-arg></specialization><inherit access="public">true_</inherit><purpose>A lazy/delayed dataset is a dataset. </purpose></struct-specialization>
285
286
287
288
289
290
291
292
293 </namespace>
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342 </namespace>
343
344
345
346
347
348
349 </namespace>
350 </namespace>
351 </header>
352 <header name="boost/test/data/monomorphic/fwd.hpp">
353 <para>Forward declares monomorphic datasets interfaces. </para><namespace name="boost">
354 <namespace name="unit_test">
355 <namespace name="data">
356 <namespace name="monomorphic">
357 <struct name="has_dataset"><template>
358       <template-type-parameter name="DataSet"/>
359       <template-nontype-parameter name=""><type>class...</type></template-nontype-parameter>
360     </template><inherit access="public">boost::unit_test::data::monomorphic::is_dataset&lt; DataSet &gt;</inherit><purpose>Helper to check if a list of types contains a dataset. </purpose></struct><struct-specialization name="has_dataset"><template>
361       <template-type-parameter name="DataSet0"/>
362       <template-type-parameter name="DataSet1"/>
363       <template-nontype-parameter name="DataSetTT"><type>class...</type></template-nontype-parameter>
364     </template><specialization><template-arg>DataSet0</template-arg><template-arg>DataSet1</template-arg><template-arg>DataSetTT...</template-arg></specialization><inherit access="public">std::integral_constant&lt; bool, is_dataset&lt; DataSet0 &gt;::value||has_dataset&lt; DataSet1, DataSetTT... &gt;::value &gt;</inherit></struct-specialization><struct name="is_dataset"><template>
365       <template-type-parameter name="DataSet"/>
366     </template><inherit access="public">false_</inherit><purpose>Helper metafunction indicating if the specified type is a dataset. </purpose></struct><struct-specialization name="is_dataset"><template>
367       <template-type-parameter name="DataSet"/>
368     </template><specialization><template-arg>DataSet &amp;</template-arg></specialization><inherit access="public">boost::unit_test::data::monomorphic::is_dataset&lt; DataSet &gt;</inherit><purpose>A reference to a dataset is a dataset. </purpose></struct-specialization><struct-specialization name="is_dataset"><template>
369       <template-type-parameter name="DataSet"/>
370     </template><specialization><template-arg>DataSet &amp;&amp;</template-arg></specialization><inherit access="public">boost::unit_test::data::monomorphic::is_dataset&lt; DataSet &gt;</inherit></struct-specialization><struct-specialization name="is_dataset"><template>
371       <template-type-parameter name="DataSet"/>
372     </template><specialization><template-arg>DataSet const</template-arg></specialization><inherit access="public">boost::unit_test::data::monomorphic::is_dataset&lt; DataSet &gt;</inherit><purpose>A const dataset is a dataset. </purpose></struct-specialization>
373
374
375
376
377
378
379
380
381 </namespace>
382 <namespace name="result_of">
383 <struct name="make"><template>
384       <template-type-parameter name="DataSet"/>
385     </template><purpose>Result of the make call. </purpose><data-member name="type"><type>decltype(data::make(declval&lt; DataSet &gt;())) typedef</type></data-member>
386 </struct></namespace>
387 <overloaded-function name="make"><signature><type>std::enable_if&lt; <classname>monomorphic::is_dataset</classname>&lt; DataSet &gt;::value, DataSet &gt;::type</type><template>
388           <template-type-parameter name="DataSet"/>
389         </template><parameter name="ds"><paramtype>DataSet &amp;&amp;</paramtype></parameter></signature><signature><type>std::enable_if&lt;!<classname>is_container_forward_iterable</classname>&lt; T &gt;::value &amp;&amp;!<classname>monomorphic::is_dataset</classname>&lt; T &gt;::value &amp;&amp;!is_array&lt; typename remove_reference&lt; T &gt;::type &gt;::value, <classname>monomorphic::singleton</classname>&lt; T &gt; &gt;::type</type><template>
390           <template-type-parameter name="T"/>
391         </template><parameter name="v"><paramtype>T &amp;&amp;</paramtype></parameter></signature><signature><type>std::enable_if&lt; <classname>is_container_forward_iterable</classname>&lt; C &gt;::value, <classname>monomorphic::collection</classname>&lt; C &gt; &gt;::type</type><template>
392           <template-type-parameter name="C"/>
393         </template><parameter name="c"><paramtype>C &amp;&amp;</paramtype></parameter></signature><signature><type><classname>monomorphic::array</classname>&lt; typename boost::remove_const&lt; T &gt;::type &gt;</type><template>
394           <template-type-parameter name="T"/>
395           <template-nontype-parameter name="size"><type>std::size_t</type></template-nontype-parameter>
396         </template><parameter name="a"><paramtype>T(&amp;)</paramtype></parameter></signature><signature><type><classname>monomorphic::singleton</classname>&lt; char * &gt;</type><parameter name="str"><paramtype>char *</paramtype></parameter></signature><signature><type><classname>monomorphic::singleton</classname>&lt; char const  * &gt;</type><parameter name="str"><paramtype>char const *</paramtype></parameter></signature><signature><type><classname>monomorphic::init_list</classname>&lt; T &gt;</type><template>
397           <template-type-parameter name="T"/>
398         </template><parameter name=""><paramtype>std::initializer_list&lt; T &gt; &amp;&amp;</paramtype></parameter></signature><signature><type>std::enable_if&lt; !<classname>monomorphic::has_dataset</classname>&lt; T, Args... &gt;::value, <classname>monomorphic::init_list</classname>&lt; T &gt;&gt;::type</type><template>
399           <template-type-parameter name="T"/>
400           <template-nontype-parameter name="Args"><type>class ...</type></template-nontype-parameter>
401         </template><parameter name="arg0"><paramtype>T &amp;&amp;</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter></signature><purpose>Creates a dataset from a value, a collection or an array. </purpose><description><para>This function has several overloads: <programlisting language="c++">// returns ds if ds is already a dataset
402 template &lt;typename DataSet&gt; DataSet make(DataSet&amp;&amp; ds); 
403
404 // creates a singleton dataset, for non forward iterable and non dataset type T
405 // (a C string is not considered as a sequence).
406 template &lt;typename T&gt; monomorphic::singleton&lt;T&gt; make(T&amp;&amp; v); 
407 monomorphic::singleton&lt;char*&gt; make( char* str );
408 monomorphic::singleton&lt;char const*&gt; make( char const* str );
409
410 // creates a collection dataset, for forward iterable and non dataset type C
411 template &lt;typename C&gt; monomorphic::collection&lt;C&gt; make(C &amp;&amp; c);
412
413 // creates an array dataset
414 template&lt;typename T, std::size_t size&gt; monomorphic::array&lt;T&gt; make( T (&amp;a)[size] );
415 </programlisting> </para></description></overloaded-function>
416
417
418
419
420
421
422
423 <function name="make_delayed"><type>std::enable_if&lt; <classname>monomorphic::is_dataset</classname>&lt; dataset_t &gt;::value, <classname>monomorphic::delayed_dataset</classname>&lt; dataset_t, Args... &gt;&gt;::type</type><template>
424           <template-type-parameter name="dataset_t"/>
425           <template-nontype-parameter name="Args"><type>class ...</type></template-nontype-parameter>
426         </template><parameter name="args"><paramtype>Args...</paramtype></parameter><purpose>Delayed dataset instanciation. </purpose></function>
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466 </namespace>
467
468
469
470
471
472
473 </namespace>
474 </namespace>
475 </header>
476 <header name="boost/test/data/monomorphic/generate.hpp">
477 <para>Defines generic interface for monomorphic dataset based on generator. </para><namespace name="boost">
478 <namespace name="unit_test">
479 <namespace name="data">
480 <namespace name="monomorphic">
481 <class name="generated_by"><template>
482       <template-type-parameter name="Generator"/>
483     </template><purpose>Generators interface. </purpose><description><para>This class implements the dataset concept over a generator. Examples of generators are:<itemizedlist>
484 <listitem><para><classname alt="boost::unit_test::data::monomorphic::xrange_t">xrange_t</classname></para>
485 </listitem><listitem><para><classname alt="boost::unit_test::data::monomorphic::random_t">random_t</classname></para>
486 </listitem></itemizedlist>
487 </para><para>The generator concept is the following:<itemizedlist>
488 <listitem><para>the type of the generated samples is given by field <computeroutput>sample</computeroutput> </para>
489 </listitem><listitem><para>the member function <computeroutput>capacity</computeroutput> should return the size of the collection being generated (potentially infinite)</para>
490 </listitem><listitem><para>the member function <computeroutput>next</computeroutput> should change the state of the generator to the next generated value</para>
491 </listitem><listitem><para>the member function <computeroutput>reset</computeroutput> should put the state of the object in the same state as right after its instanciation </para>
492 </listitem></itemizedlist>
493 </para></description><struct name="iterator"><method-group name="public member functions">
494 <method name="operator *" cv="const"><type>sample const  &amp;</type></method>
495 <method name="operator++"><type>void</type></method>
496 </method-group>
497 <constructor specifiers="explicit"><parameter name="gen"><paramtype>Generator &amp;</paramtype></parameter></constructor>
498 </struct><enum name="@8"><enumvalue name="arity"><default>= 1</default></enumvalue></enum>
499 <typedef name="sample"><type>Generator::sample</type></typedef>
500 <typedef name="generator_type"><type>Generator</type></typedef>
501 <method-group name="public member functions">
502 <method name="size" cv="const"><type><classname>data::size_t</classname></type><purpose>Size of the underlying dataset. </purpose></method>
503 <method name="begin" cv="const"><type><classname>iterator</classname></type><purpose>Iterator on the beginning of the dataset. </purpose></method>
504 </method-group>
505 <constructor specifiers="explicit"><parameter name="G"><paramtype>Generator &amp;&amp;</paramtype></parameter></constructor>
506 <constructor><parameter name="rhs"><paramtype><classname>generated_by</classname> &amp;&amp;</paramtype></parameter></constructor>
507 </class><struct-specialization name="is_dataset"><template>
508       <template-type-parameter name="Generator"/>
509     </template><specialization><template-arg>generated_by&lt; Generator &gt;</template-arg></specialization><inherit access="public">true_</inherit><purpose>A generated dataset is a dataset. </purpose></struct-specialization>
510
511
512
513
514
515
516
517
518 </namespace>
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567 </namespace>
568
569
570
571
572
573
574 </namespace>
575 </namespace>
576 </header>
577 <header name="boost/test/data/monomorphic/generators.hpp">
578 <para>Defines specific generators. </para></header>
579 <header name="boost/test/data/monomorphic/generators/keywords.hpp">
580 <para>Keywords used in generator interfaces. </para><namespace name="boost">
581 <namespace name="unit_test">
582 <namespace name="data">
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631 </namespace>
632
633
634
635
636
637
638 </namespace>
639 </namespace>
640 </header>
641 <header name="boost/test/data/monomorphic/generators/random.hpp">
642 <para>Random generator. </para><namespace name="boost">
643 <namespace name="unit_test">
644 <namespace name="data">
645 <namespace name="monomorphic">
646 <class name="random_t"><template>
647       <template-type-parameter name="SampleType"><default>double</default></template-type-parameter>
648       <template-type-parameter name="DistributionType"><default>typename <classname alt="boost::unit_test::data::monomorphic::ds_detail::default_distribution">ds_detail::default_distribution</classname>&lt;SampleType&gt;::type</default></template-type-parameter>
649       <template-type-parameter name="EngineType"><default>std::default_random_engine</default></template-type-parameter>
650     </template><purpose>Generator for the random sequences. </purpose><description><para>This class implements the generator concept (see <classname alt="boost::unit_test::data::monomorphic::generated_by">boost::unit_test::data::monomorphic::generated_by</classname>) for implementing a random number generator. </para></description><typedef name="sample"><type>SampleType</type></typedef>
651 <typedef name="distr_type"><type>DistributionType</type></typedef>
652 <typedef name="engine_type"><type>EngineType</type></typedef>
653 <method-group name="public member functions">
654 <method name="capacity" cv="const"><type><classname>data::size_t</classname></type></method>
655 <method name="next"><type>SampleType</type></method>
656 <method name="reset"><type>void</type></method>
657 <method name="seed"><type>void</type><template>
658           <template-type-parameter name="SeedType"/>
659         </template><parameter name="seed"><paramtype>SeedType &amp;&amp;</paramtype></parameter><purpose>Sets the seed of the pseudo-random number engine. </purpose></method>
660 </method-group>
661 <constructor/>
662 <constructor specifiers="explicit"><parameter name="d"><paramtype>distr_type &amp;&amp;</paramtype></parameter></constructor>
663 <constructor><parameter name="e"><paramtype>engine_type &amp;&amp;</paramtype></parameter><parameter name="d"><paramtype>distr_type &amp;&amp;</paramtype></parameter></constructor>
664 </class>
665
666
667
668
669
670
671
672
673 </namespace>
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714 <overloaded-function name="random"><signature><type><classname>monomorphic::generated_by</classname>&lt; <classname>monomorphic::random_t</classname>&lt;&gt; &gt;</type></signature><signature><type><classname>monomorphic::generated_by</classname>&lt; <classname>monomorphic::random_t</classname>&lt; SampleType &gt; &gt;</type><template>
715           <template-type-parameter name="SampleType"/>
716         </template><parameter name="begin"><paramtype>SampleType</paramtype></parameter><parameter name="end"><paramtype>SampleType</paramtype></parameter></signature><signature><type><emphasis>unspecified</emphasis></type><template>
717           <template-type-parameter name="Params"/>
718         </template><parameter name="params"><paramtype>Params const &amp;</paramtype></parameter></signature><purpose>Returns an infinite sequence of random numbers. </purpose><description><para>The following overloads are available: <programlisting language="c++">auto d = random();
719 auto d = random(begin, end);
720 auto d = random(params);
721 </programlisting></para><para><itemizedlist>
722 <listitem><para>The first overload uses the default distribution, which is uniform and which elements are <computeroutput>double</computeroutput> type (the values are in [0, 1) ).</para>
723 </listitem><listitem><para>The second overload generates numbers in the given interval. The distribution is uniform (in [begin, end) for real numbers, and in [begin, end] for integers). The type of the distribution is deduced from the type of the <computeroutput>begin</computeroutput> and <computeroutput>end</computeroutput> parameters.</para>
724 </listitem><listitem><para>The third overload generates numbers using the named parameter inside <computeroutput>params</computeroutput> , which are:<itemizedlist>
725 <listitem><para><computeroutput>distribution:</computeroutput> the distribution used. In this overload, since the type of the samples cannot be deduced, the samples are of type <computeroutput>double</computeroutput> and the distribution is uniform real in [0, 1).</para>
726 </listitem><listitem><para><computeroutput>seed:</computeroutput> the seed for generating the values</para>
727 </listitem><listitem><para><computeroutput>engine:</computeroutput> the random number generator engine</para>
728 </listitem></itemizedlist>
729 </para>
730 </listitem></itemizedlist>
731 </para><para>The function returns an object that implements the dataset API. <note><para>This function is available only for C++11 capable compilers. </para>
732 </note>
733 </para></description></overloaded-function>
734
735
736
737
738
739
740
741 </namespace>
742
743
744
745
746
747
748 </namespace>
749 </namespace>
750 </header>
751 <header name="boost/test/data/monomorphic/generators/xrange.hpp">
752 <para>Defines range generator. </para><namespace name="boost">
753 <namespace name="unit_test">
754 <namespace name="data">
755 <namespace name="monomorphic">
756 <class name="xrange_t"><template>
757       <template-type-parameter name="SampleType"/>
758       <template-type-parameter name="StepType"><default>SampleType</default></template-type-parameter>
759     </template><purpose>Generator for the range sequences. </purpose><description><para>This class implements the generator concept (see <classname alt="boost::unit_test::data::monomorphic::generated_by">boost::unit_test::data::monomorphic::generated_by</classname>) for implementing a range like sequence of numbers. </para></description><typedef name="sample"><type>SampleType</type></typedef>
760 <method-group name="public member functions">
761 <method name="capacity" cv="const"><type><classname>data::size_t</classname></type></method>
762 <method name="next"><type>SampleType</type></method>
763 <method name="reset"><type>void</type></method>
764 </method-group>
765 <constructor><parameter name="begin_"><paramtype>SampleType const &amp;</paramtype></parameter><parameter name="step_"><paramtype>StepType const &amp;</paramtype></parameter><parameter name="size_"><paramtype><classname>data::size_t</classname></paramtype></parameter></constructor>
766 </class>
767
768
769
770
771
772
773
774
775 </namespace>
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819 <overloaded-function name="xrange"><signature><type><classname>monomorphic::generated_by</classname>&lt; <classname>monomorphic::xrange_t</classname>&lt; SampleType &gt; &gt;</type><template>
820           <template-type-parameter name="SampleType"/>
821           <template-type-parameter name="Params"/>
822         </template><parameter name="params"><paramtype>Params const &amp;</paramtype></parameter></signature><signature><type><classname>monomorphic::generated_by</classname>&lt; <classname>monomorphic::xrange_t</classname>&lt; SampleType &gt; &gt;</type><template>
823           <template-type-parameter name="SampleType"/>
824         </template><parameter name="end_val"><paramtype>SampleType const &amp;</paramtype></parameter></signature><signature><type>enable_if_c&lt; <classname>nfp::is_named_param_pack</classname>&lt; Params &gt;::value, <classname>monomorphic::generated_by</classname>&lt; <classname>monomorphic::xrange_t</classname>&lt; SampleType &gt; &gt; &gt;::type</type><template>
825           <template-type-parameter name="SampleType"/>
826           <template-type-parameter name="Params"/>
827         </template><parameter name="end_val"><paramtype>SampleType const &amp;</paramtype></parameter><parameter name="params"><paramtype>Params const &amp;</paramtype></parameter></signature><signature><type><classname>monomorphic::generated_by</classname>&lt; <classname>monomorphic::xrange_t</classname>&lt; SampleType &gt; &gt;</type><template>
828           <template-type-parameter name="SampleType"/>
829         </template><parameter name="begin_val"><paramtype>SampleType const &amp;</paramtype></parameter><parameter name="end_val"><paramtype>SampleType const &amp;</paramtype></parameter></signature><signature><type><classname>monomorphic::generated_by</classname>&lt; <classname>monomorphic::xrange_t</classname>&lt; SampleType &gt; &gt;</type><template>
830           <template-type-parameter name="SampleType"/>
831           <template-type-parameter name="StepType"/>
832         </template><parameter name="begin_val"><paramtype>SampleType const &amp;</paramtype></parameter><parameter name="end_val"><paramtype>SampleType const &amp;</paramtype></parameter><parameter name="step_val"><paramtype>StepType const &amp;</paramtype></parameter></signature><purpose>Creates a range (sequence) dataset. </purpose><description><para>The following overloads are available: <programlisting language="c++">auto d = xrange();
833 auto d = xrange(end_val);
834 auto d = xrange(end_val, param);
835 auto d = xrange(begin_val, end_val);
836 auto d = xrange(begin_val, end_val, step_val);
837 auto d = xrange(param);
838 </programlisting></para><para><itemizedlist>
839 <listitem><para><computeroutput>begin_val</computeroutput> indicates the start of the sequence (default to 0).</para>
840 </listitem><listitem><para><computeroutput>end_val</computeroutput> is the end of the sequence. If ommited, the dataset has infinite size.<sbr/>
841 </para>
842 </listitem><listitem><para><computeroutput>step_val</computeroutput> is the step between two consecutive elements of the sequence, and defaults to 1.<sbr/>
843 </para>
844 </listitem><listitem><para><computeroutput>param</computeroutput> is the named parameters that describe the sequence. The following parameters are accepted:<itemizedlist>
845 <listitem><para><computeroutput>begin:</computeroutput> same meaning <computeroutput>begin_val</computeroutput> </para>
846 </listitem><listitem><para><computeroutput>end:</computeroutput> same meaning as <computeroutput>end_val</computeroutput> </para>
847 </listitem><listitem><para><computeroutput>step:</computeroutput> same meaning as <computeroutput>step_val</computeroutput> </para>
848 </listitem></itemizedlist>
849 </para>
850 </listitem></itemizedlist>
851 </para><para>The returned value is an object that implements the dataset API.</para><para><note><para>the step size cannot be null, and it should be positive if <computeroutput>begin_val</computeroutput> &lt; <computeroutput>end_val</computeroutput>, negative otherwise. </para>
852 </note>
853 </para></description></overloaded-function>
854
855
856
857
858 </namespace>
859
860
861
862
863
864
865 </namespace>
866 </namespace>
867 </header>
868 <header name="boost/test/data/monomorphic/grid.hpp">
869 <para>Defines monomorphic dataset n+m dimentional *. Samples in this dataset is grid of elements in DataSet1 and DataSet2. There will be total |DataSet1| * |DataSet2| samples. </para><namespace name="boost">
870 <namespace name="unit_test">
871 <namespace name="data">
872 <namespace name="monomorphic">
873 <class name="grid"><template>
874       <template-type-parameter name="DataSet1"/>
875       <template-type-parameter name="DataSet2"/>
876     </template><purpose>Implements the dataset resulting from a cartesian product/grid operation on datasets. </purpose><description><para>The arity of the resulting dataset is the sum of the arity of its operands. </para></description><struct name="iterator"><typedef name="iterator_sample"><type>decltype(sample_merge(*std::declval&lt; dataset1_iter &gt;(), *std::declval&lt; dataset2_iter &gt;()))</type></typedef>
877 <method-group name="public member functions">
878 <method name="operator *" cv="const"><type>auto</type></method>
879 <method name="operator++"><type>void</type></method>
880 </method-group>
881 <constructor specifiers="explicit"><parameter name="iter1"><paramtype>dataset1_iter</paramtype></parameter><parameter name="ds2"><paramtype>DataSet2 const &amp;</paramtype></parameter></constructor>
882 </struct><enum name="@9"><enumvalue name="arity"><default>= boost::decay&lt;DataSet1&gt;::type::arity + boost::decay&lt;DataSet2&gt;::type::arity</default></enumvalue></enum>
883 <method-group name="public member functions">
884 <method name="size" cv="const"><type><classname>data::size_t</classname></type></method>
885 <method name="begin" cv="const"><type><classname>iterator</classname></type></method>
886 </method-group>
887 <constructor><parameter name="ds1"><paramtype>DataSet1 &amp;&amp;</paramtype></parameter><parameter name="ds2"><paramtype>DataSet2 &amp;&amp;</paramtype></parameter><purpose>Constructor. </purpose></constructor>
888 <constructor><parameter name="j"><paramtype><classname>grid</classname> &amp;&amp;</paramtype></parameter><purpose>Move constructor. </purpose></constructor>
889 </class><struct-specialization name="is_dataset"><template>
890       <template-type-parameter name="DataSet1"/>
891       <template-type-parameter name="DataSet2"/>
892     </template><specialization><template-arg>grid&lt; DataSet1</template-arg><template-arg>DataSet2 &gt;</template-arg></specialization><inherit access="public">true_</inherit></struct-specialization><namespace name="result_of">
893 <struct name="grid"><template>
894       <template-type-parameter name="DS1Gen"/>
895       <template-type-parameter name="DS2Gen"/>
896     </template><purpose>Result type of the grid operation on dataset. </purpose><typedef name="type"><type><classname>monomorphic::grid</classname>&lt; typename DS1Gen::type, typename DS2Gen::type &gt;</type></typedef>
897 </struct></namespace>
898 <overloaded-function name="operator*"><signature><type>boost::lazy_enable_if_c&lt; <classname>is_dataset</classname>&lt; DataSet1 &gt;::value &amp;&amp;<classname>is_dataset</classname>&lt; DataSet2 &gt;::value, <classname>result_of::grid</classname>&lt; mpl::identity&lt; DataSet1 &gt;, mpl::identity&lt; DataSet2 &gt; &gt;&gt;::type</type><template>
899           <template-type-parameter name="DataSet1"/>
900           <template-type-parameter name="DataSet2"/>
901         </template><parameter name="ds1"><paramtype>DataSet1 &amp;&amp;</paramtype></parameter><parameter name="ds2"><paramtype>DataSet2 &amp;&amp;</paramtype></parameter></signature><signature><type>boost::lazy_enable_if_c&lt; <classname>is_dataset</classname>&lt; DataSet1 &gt;::value &amp;&amp;!<classname>is_dataset</classname>&lt; DataSet2 &gt;::value, <classname>result_of::grid</classname>&lt; mpl::identity&lt; DataSet1 &gt;, <classname>data::result_of::make</classname>&lt; DataSet2 &gt; &gt;&gt;::type</type><template>
902           <template-type-parameter name="DataSet1"/>
903           <template-type-parameter name="DataSet2"/>
904         </template><parameter name="ds1"><paramtype>DataSet1 &amp;&amp;</paramtype></parameter><parameter name="ds2"><paramtype>DataSet2 &amp;&amp;</paramtype></parameter></signature><signature><type>boost::lazy_enable_if_c&lt;!<classname>is_dataset</classname>&lt; DataSet1 &gt;::value &amp;&amp;<classname>is_dataset</classname>&lt; DataSet2 &gt;::value, <classname>result_of::grid</classname>&lt; <classname>data::result_of::make</classname>&lt; DataSet1 &gt;, mpl::identity&lt; DataSet2 &gt; &gt;&gt;::type</type><template>
905           <template-type-parameter name="DataSet1"/>
906           <template-type-parameter name="DataSet2"/>
907         </template><parameter name="ds1"><paramtype>DataSet1 &amp;&amp;</paramtype></parameter><parameter name="ds2"><paramtype>DataSet2 &amp;&amp;</paramtype></parameter></signature><purpose>Grid operation. </purpose></overloaded-function>
908
909
910
911
912
913
914
915
916 </namespace>
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965 </namespace>
966
967
968
969
970
971
972 </namespace>
973 </namespace>
974 </header>
975 <header name="boost/test/data/monomorphic/initializer_list.hpp">
976 <para>Defines monomorphic dataset based on C++11 initializer_list template. </para><namespace name="boost">
977 <namespace name="unit_test">
978 <namespace name="data">
979 <namespace name="monomorphic">
980 <class name="init_list"><template>
981       <template-type-parameter name="T"/>
982     </template><purpose>Dataset view from an initializer_list or variadic template arguments. </purpose><description><para>The data should be stored in the dataset, and since the elements are passed by an <computeroutput>std::initializer_list</computeroutput> , it implies a copy of the elements. </para></description><enum name="@4"><enumvalue name="arity"><default>= 1</default></enumvalue></enum>
983 <typedef name="iterator"><type>std::vector&lt; T &gt;::const_iterator</type></typedef>
984 <method-group name="public member functions">
985 <method name="size" cv="const"><type><classname>data::size_t</classname></type><purpose>dataset interface </purpose></method>
986 <method name="begin" cv="const"><type>iterator</type></method>
987 </method-group>
988 <constructor><parameter name="il"><paramtype>std::initializer_list&lt; T &gt;</paramtype></parameter><purpose>Constructor copies content of initializer_list. </purpose></constructor>
989 <constructor><template>
990           <template-nontype-parameter name="Args"><type>class ...</type></template-nontype-parameter>
991         </template><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><purpose>Variadic template initialization. </purpose></constructor>
992 </class><class-specialization name="init_list"><template>
993     </template><specialization><template-arg>bool</template-arg></specialization><purpose>Specialization of <classname alt="boost::unit_test::data::monomorphic::init_list">init_list</classname> for type bool. </purpose><struct name="non_proxy_iterator"><data-member name="iterator"><type>std::vector&lt; bool &gt;::const_iterator</type></data-member>
994 <method-group name="public member functions">
995 <method name="operator *" cv="const"><type>bool</type></method>
996 <method name="operator++"><type>non_proxy_iterator &amp;</type></method>
997 </method-group>
998 <constructor><parameter name="it"><paramtype>std::vector&lt; bool &gt;::const_iterator &amp;&amp;</paramtype></parameter></constructor>
999 </struct><enum name="@5"><enumvalue name="arity"><default>= 1</default></enumvalue></enum>
1000 <typedef name="sample"><type>bool</type></typedef>
1001 <typedef name="iterator"><type>non_proxy_iterator</type></typedef>
1002 <method-group name="public member functions">
1003 <method name="size" cv="const"><type><classname>data::size_t</classname></type><purpose>dataset interface </purpose></method>
1004 <method name="begin" cv="const"><type>iterator</type></method>
1005 </method-group>
1006 <constructor><parameter name="il"><paramtype>std::initializer_list&lt; bool &gt; &amp;&amp;</paramtype></parameter><purpose>Constructor copies content of initializer_list. </purpose></constructor>
1007 <constructor><template>
1008           <template-nontype-parameter name="Args"><type>class ...</type></template-nontype-parameter>
1009         </template><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><purpose>Variadic template initialization. </purpose></constructor>
1010 </class-specialization><struct-specialization name="is_dataset"><template>
1011       <template-type-parameter name="T"/>
1012     </template><specialization><template-arg>init_list&lt; T &gt;</template-arg></specialization><inherit access="public">true_</inherit><purpose>An array dataset is a dataset. </purpose></struct-specialization>
1013
1014
1015
1016
1017
1018
1019
1020
1021 </namespace>
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070 </namespace>
1071
1072
1073
1074
1075
1076
1077 </namespace>
1078 </namespace>
1079 </header>
1080 <header name="boost/test/data/monomorphic/join.hpp">
1081 <para>Defines dataset join operation. </para><namespace name="boost">
1082 <namespace name="unit_test">
1083 <namespace name="data">
1084 <namespace name="monomorphic">
1085 <struct-specialization name="is_dataset"><template>
1086       <template-type-parameter name="DataSet1"/>
1087       <template-type-parameter name="DataSet2"/>
1088     </template><specialization><template-arg>join&lt; DataSet1</template-arg><template-arg>DataSet2 &gt;</template-arg></specialization><inherit access="public">true_</inherit></struct-specialization><class name="join"><template>
1089       <template-type-parameter name="DataSet1"/>
1090       <template-type-parameter name="DataSet2"/>
1091     </template><purpose>Defines a new dataset from the concatenation of two datasets. </purpose><description><para>The size of the resulting dataset is the sum of the two underlying datasets. The arity of the datasets should match. </para></description><struct name="iterator"><method-group name="public member functions">
1092 <method name="operator *" cv="const"><type>sample_t</type></method>
1093 <method name="operator++"><type>void</type></method>
1094 </method-group>
1095 <constructor specifiers="explicit"><parameter name="it1"><paramtype>dataset1_iter &amp;&amp;</paramtype></parameter><parameter name="it2"><paramtype>dataset2_iter &amp;&amp;</paramtype></parameter><parameter name="first_size"><paramtype><classname>data::size_t</classname></paramtype></parameter></constructor>
1096 </struct><enum name="@10"><enumvalue name="arity"><default>= dataset1_decay::arity</default></enumvalue></enum>
1097 <typedef name="sample_t"><type>typename std::conditional&lt; std::is_reference&lt; iter1_ret &gt;::value &amp;&amp;std::is_reference&lt; iter2_ret &gt;::value &amp;&amp;std::is_same&lt; iter1_ret, iter2_ret &gt;::value, iter1_ret, typename std::remove_reference&lt; iter1_ret &gt;::type &gt;::type</type></typedef>
1098 <method-group name="public member functions">
1099 <method name="size" cv="const"><type><classname>data::size_t</classname></type><purpose>dataset interface </purpose></method>
1100 <method name="begin" cv="const"><type><classname>iterator</classname></type></method>
1101 </method-group>
1102 <constructor><parameter name="ds1"><paramtype>DataSet1 &amp;&amp;</paramtype></parameter><parameter name="ds2"><paramtype>DataSet2 &amp;&amp;</paramtype></parameter><purpose>Constructor. </purpose></constructor>
1103 <constructor><parameter name="j"><paramtype><classname>join</classname> &amp;&amp;</paramtype></parameter><purpose>Move constructor. </purpose></constructor>
1104 </class><namespace name="result_of">
1105 <struct name="join"><template>
1106       <template-type-parameter name="DataSet1Gen"/>
1107       <template-type-parameter name="DataSet2Gen"/>
1108     </template><purpose>Result type of the join operation on datasets. </purpose><typedef name="type"><type><classname>monomorphic::join</classname>&lt; typename DataSet1Gen::type, typename DataSet2Gen::type &gt;</type></typedef>
1109 </struct></namespace>
1110
1111
1112
1113 <function name="operator+"><type>boost::lazy_enable_if_c&lt; <classname>is_dataset</classname>&lt; DataSet1 &gt;::value &amp;&amp;<classname>is_dataset</classname>&lt; DataSet2 &gt;::value, <classname>result_of::join</classname>&lt; mpl::identity&lt; DataSet1 &gt;, mpl::identity&lt; DataSet2 &gt; &gt;&gt;::type</type><template>
1114           <template-type-parameter name="DataSet1"/>
1115           <template-type-parameter name="DataSet2"/>
1116         </template><parameter name="ds1"><paramtype>DataSet1 &amp;&amp;</paramtype></parameter><parameter name="ds2"><paramtype>DataSet2 &amp;&amp;</paramtype></parameter></function>
1117 <function name="operator+"><type>boost::lazy_enable_if_c&lt; <classname>is_dataset</classname>&lt; DataSet1 &gt;::value &amp;&amp;!<classname>is_dataset</classname>&lt; DataSet2 &gt;::value, <classname>result_of::join</classname>&lt; mpl::identity&lt; DataSet1 &gt;, <classname>data::result_of::make</classname>&lt; DataSet2 &gt; &gt;&gt;::type</type><template>
1118           <template-type-parameter name="DataSet1"/>
1119           <template-type-parameter name="DataSet2"/>
1120         </template><parameter name="ds1"><paramtype>DataSet1 &amp;&amp;</paramtype></parameter><parameter name="ds2"><paramtype>DataSet2 &amp;&amp;</paramtype></parameter></function>
1121 <function name="operator+"><type>boost::lazy_enable_if_c&lt;!<classname>is_dataset</classname>&lt; DataSet1 &gt;::value &amp;&amp;<classname>is_dataset</classname>&lt; DataSet2 &gt;::value, <classname>result_of::join</classname>&lt; <classname>data::result_of::make</classname>&lt; DataSet1 &gt;, mpl::identity&lt; DataSet2 &gt; &gt;&gt;::type</type><template>
1122           <template-type-parameter name="DataSet1"/>
1123           <template-type-parameter name="DataSet2"/>
1124         </template><parameter name="ds1"><paramtype>DataSet1 &amp;&amp;</paramtype></parameter><parameter name="ds2"><paramtype>DataSet2 &amp;&amp;</paramtype></parameter></function>
1125
1126
1127
1128 </namespace>
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177 </namespace>
1178
1179
1180
1181
1182
1183
1184 </namespace>
1185 </namespace>
1186 </header>
1187 <header name="boost/test/data/monomorphic/singleton.hpp">
1188 <para>Defines single element monomorphic dataset. </para><namespace name="boost">
1189 <namespace name="unit_test">
1190 <namespace name="data">
1191 <namespace name="monomorphic">
1192 <struct-specialization name="is_dataset"><template>
1193       <template-type-parameter name="T"/>
1194     </template><specialization><template-arg>singleton&lt; T &gt;</template-arg></specialization><inherit access="public">true_</inherit></struct-specialization><class name="singleton"><template>
1195       <template-type-parameter name="T"/>
1196     </template><purpose>Models a single element data set. </purpose><struct name="iterator"><method-group name="public member functions">
1197 <method name="operator *" cv="const"><type>sample const  &amp;</type></method>
1198 <method name="operator++"><type>void</type></method>
1199 </method-group>
1200 <constructor specifiers="explicit"><parameter name="owner"><paramtype><classname>singleton</classname>&lt; T &gt; const *</paramtype></parameter></constructor>
1201 </struct><enum name="@11"><enumvalue name="arity"><default>= 1</default></enumvalue></enum>
1202 <method-group name="public member functions">
1203 <method name="value" cv="const"><type>T const  &amp;</type><purpose>Value access method. </purpose></method>
1204 <method name="size" cv="const"><type><classname>data::size_t</classname></type><purpose>dataset interface </purpose></method>
1205 <method name="begin" cv="const"><type><classname>iterator</classname></type></method>
1206 </method-group>
1207 <constructor specifiers="explicit"><parameter name="value"><paramtype>T &amp;&amp;</paramtype></parameter><purpose>Constructor. </purpose></constructor>
1208 <constructor><parameter name="s"><paramtype><classname>singleton</classname> &amp;&amp;</paramtype></parameter><purpose>Move constructor. </purpose></constructor>
1209 </class>
1210
1211
1212
1213
1214
1215
1216
1217
1218 </namespace>
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267 </namespace>
1268
1269
1270
1271
1272
1273
1274 </namespace>
1275 </namespace>
1276 </header>
1277 <header name="boost/test/data/monomorphic/zip.hpp">
1278 <para>Defines monomorphic dataset based on zipping of 2 other monomorphic datasets. </para><namespace name="boost">
1279 <namespace name="unit_test">
1280 <namespace name="data">
1281 <namespace name="monomorphic">
1282 <struct-specialization name="is_dataset"><template>
1283       <template-type-parameter name="DataSet1"/>
1284       <template-type-parameter name="DataSet2"/>
1285     </template><specialization><template-arg>zip&lt; DataSet1</template-arg><template-arg>DataSet2 &gt;</template-arg></specialization><inherit access="public">true_</inherit><purpose>Zipped datasets results in a dataset. </purpose></struct-specialization><class name="zip"><template>
1286       <template-type-parameter name="DataSet1"/>
1287       <template-type-parameter name="DataSet2"/>
1288     </template><purpose>Zip datasets. </purpose><description><para>A zip of two datasets is a dataset whose arity is the sum of the operand datasets arity. The size is given by the function creating the instance (see <computeroutput>operator^</computeroutput> on datasets). </para></description><struct name="iterator"><typedef name="iterator_sample"><type>decltype(sample_merge(*std::declval&lt; dataset1_iter &gt;(), *std::declval&lt; dataset2_iter &gt;()))</type></typedef>
1289 <method-group name="public member functions">
1290 <method name="operator *" cv="const"><type>auto</type></method>
1291 <method name="operator++"><type>void</type></method>
1292 </method-group>
1293 <constructor specifiers="explicit"><parameter name="iter1"><paramtype>dataset1_iter</paramtype></parameter><parameter name="iter2"><paramtype>dataset2_iter</paramtype></parameter></constructor>
1294 </struct><enum name="@12"><enumvalue name="arity"><default>= dataset1_decay::arity + dataset2_decay::arity</default></enumvalue></enum>
1295 <method-group name="public member functions">
1296 <method name="size" cv="const"><type><classname>data::size_t</classname></type></method>
1297 <method name="begin" cv="const"><type><classname>iterator</classname></type></method>
1298 </method-group>
1299 <constructor><parameter name="ds1"><paramtype>DataSet1 &amp;&amp;</paramtype></parameter><parameter name="ds2"><paramtype>DataSet2 &amp;&amp;</paramtype></parameter><purpose>Constructor. </purpose><description><para>The datasets are moved and not copied. </para></description></constructor>
1300 <constructor><parameter name="j"><paramtype><classname>zip</classname> &amp;&amp;</paramtype></parameter><purpose>Move constructor. </purpose></constructor>
1301 <method-group name="private member functions">
1302 <method name="zip_size" cv="const"><type><classname>data::size_t</classname></type><purpose>Handles the sise of the resulting zipped dataset. </purpose></method>
1303 </method-group>
1304 </class><namespace name="result_of">
1305 <struct name="zip"><template>
1306       <template-type-parameter name="DS1Gen"/>
1307       <template-type-parameter name="DS2Gen"/>
1308     </template><purpose>Result type of the zip operator. </purpose><typedef name="type"><type><classname>monomorphic::zip</classname>&lt; typename DS1Gen::type, typename DS2Gen::type &gt;</type></typedef>
1309 </struct></namespace>
1310
1311
1312
1313
1314
1315
1316 <overloaded-function name="operator^"><signature><type>boost::lazy_enable_if_c&lt; <classname>is_dataset</classname>&lt; DataSet1 &gt;::value &amp;&amp;<classname>is_dataset</classname>&lt; DataSet2 &gt;::value, <classname>result_of::zip</classname>&lt; mpl::identity&lt; DataSet1 &gt;, mpl::identity&lt; DataSet2 &gt; &gt;&gt;::type</type><template>
1317           <template-type-parameter name="DataSet1"/>
1318           <template-type-parameter name="DataSet2"/>
1319         </template><parameter name="ds1"><paramtype>DataSet1 &amp;&amp;</paramtype></parameter><parameter name="ds2"><paramtype>DataSet2 &amp;&amp;</paramtype></parameter></signature><signature><type>boost::lazy_enable_if_c&lt; <classname>is_dataset</classname>&lt; DataSet1 &gt;::value &amp;&amp;!<classname>is_dataset</classname>&lt; DataSet2 &gt;::value, <classname>result_of::zip</classname>&lt; mpl::identity&lt; DataSet1 &gt;, <classname>data::result_of::make</classname>&lt; DataSet2 &gt; &gt;&gt;::type</type><template>
1320           <template-type-parameter name="DataSet1"/>
1321           <template-type-parameter name="DataSet2"/>
1322         </template><parameter name="ds1"><paramtype>DataSet1 &amp;&amp;</paramtype></parameter><parameter name="ds2"><paramtype>DataSet2 &amp;&amp;</paramtype></parameter></signature><signature><type>boost::lazy_enable_if_c&lt;!<classname>is_dataset</classname>&lt; DataSet1 &gt;::value &amp;&amp;<classname>is_dataset</classname>&lt; DataSet2 &gt;::value, <classname>result_of::zip</classname>&lt; <classname>data::result_of::make</classname>&lt; DataSet1 &gt;, mpl::identity&lt; DataSet2 &gt; &gt;&gt;::type</type><template>
1323           <template-type-parameter name="DataSet1"/>
1324           <template-type-parameter name="DataSet2"/>
1325         </template><parameter name="ds1"><paramtype>DataSet1 &amp;&amp;</paramtype></parameter><parameter name="ds2"><paramtype>DataSet2 &amp;&amp;</paramtype></parameter></signature><purpose>Overload operator for zip support. </purpose></overloaded-function>
1326
1327
1328 </namespace>
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377 </namespace>
1378
1379
1380
1381
1382
1383
1384 </namespace>
1385 </namespace>
1386 </header>
1387 <header name="boost/test/data/size.hpp">
1388 <para>simple dataset size abstraction (can be infinite) </para><namespace name="boost">
1389 <namespace name="unit_test">
1390 <namespace name="data">
1391 <class name="size_t"><purpose>Utility for handling the size of a datasets. </purpose><struct name="dummy"><method-group name="public member functions">
1392 <method name="nonnull"><type>void</type></method>
1393 </method-group>
1394 </struct><method-group name="public member functions">
1395 <method name="value" cv="const"><type>std::size_t</type></method>
1396 <method name="is_inf" cv="const"><type>bool</type></method>
1397 <method name="conversion-operator" cv="const"><type>safe_bool</type></method>
1398 <method name="operator--"><type><classname>data::size_t</classname></type></method>
1399 <method name="operator--"><type><classname>data::size_t</classname></type><parameter name=""><paramtype>int</paramtype></parameter></method>
1400 <method name="operator++"><type><classname>data::size_t</classname></type></method>
1401 <method name="operator++"><type><classname>data::size_t</classname></type><parameter name=""><paramtype>int</paramtype></parameter></method>
1402 <method name="operator+="><type><classname>data::size_t</classname> &amp;</type><parameter name="rhs"><paramtype>std::size_t</paramtype></parameter></method>
1403 <method name="operator+="><type><classname>data::size_t</classname> &amp;</type><parameter name="rhs"><paramtype><classname>data::size_t</classname></paramtype></parameter></method>
1404 <method name="operator-="><type><classname>data::size_t</classname> &amp;</type><parameter name="rhs"><paramtype>std::size_t</paramtype></parameter></method>
1405 <method name="operator-="><type><classname>data::size_t</classname> &amp;</type><parameter name="rhs"><paramtype><classname>data::size_t</classname></paramtype></parameter></method>
1406 </method-group>
1407 <constructor><parameter name="s"><paramtype>std::size_t</paramtype><default>0</default></parameter></constructor>
1408 <constructor specifiers="explicit"><parameter name=""><paramtype>bool</paramtype></parameter></constructor>
1409 <constructor><template>
1410           <template-type-parameter name="T"/>
1411         </template><parameter name="v"><paramtype>T</paramtype></parameter></constructor>
1412 </class>
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426 <function name="operator&gt;"><type>bool</type><parameter name="lhs"><paramtype><classname>data::size_t</classname></paramtype></parameter><parameter name="rhs"><paramtype>std::size_t</paramtype></parameter></function>
1427 <function name="operator&gt;"><type>bool</type><parameter name="lhs"><paramtype>std::size_t</paramtype></parameter><parameter name="rhs"><paramtype><classname>data::size_t</classname></paramtype></parameter></function>
1428 <function name="operator&gt;"><type>bool</type><parameter name="lhs"><paramtype><classname>data::size_t</classname></paramtype></parameter><parameter name="rhs"><paramtype><classname>data::size_t</classname></paramtype></parameter></function>
1429 <function name="operator&gt;="><type>bool</type><parameter name="lhs"><paramtype><classname>data::size_t</classname></paramtype></parameter><parameter name="rhs"><paramtype>std::size_t</paramtype></parameter></function>
1430 <function name="operator&gt;="><type>bool</type><parameter name="lhs"><paramtype>std::size_t</paramtype></parameter><parameter name="rhs"><paramtype><classname>data::size_t</classname></paramtype></parameter></function>
1431 <function name="operator&gt;="><type>bool</type><parameter name="lhs"><paramtype><classname>data::size_t</classname></paramtype></parameter><parameter name="rhs"><paramtype><classname>data::size_t</classname></paramtype></parameter></function>
1432 <function name="operator&lt;"><type>bool</type><parameter name="lhs"><paramtype><classname>data::size_t</classname></paramtype></parameter><parameter name="rhs"><paramtype>std::size_t</paramtype></parameter></function>
1433 <function name="operator&lt;"><type>bool</type><parameter name="lhs"><paramtype>std::size_t</paramtype></parameter><parameter name="rhs"><paramtype><classname>data::size_t</classname></paramtype></parameter></function>
1434 <function name="operator&lt;"><type>bool</type><parameter name="lhs"><paramtype><classname>data::size_t</classname></paramtype></parameter><parameter name="rhs"><paramtype><classname>data::size_t</classname></paramtype></parameter></function>
1435 <function name="operator&lt;="><type>bool</type><parameter name="lhs"><paramtype><classname>data::size_t</classname></paramtype></parameter><parameter name="rhs"><paramtype>std::size_t</paramtype></parameter></function>
1436 <function name="operator&lt;="><type>bool</type><parameter name="lhs"><paramtype>std::size_t</paramtype></parameter><parameter name="rhs"><paramtype><classname>data::size_t</classname></paramtype></parameter></function>
1437 <function name="operator&lt;="><type>bool</type><parameter name="lhs"><paramtype><classname>data::size_t</classname></paramtype></parameter><parameter name="rhs"><paramtype><classname>data::size_t</classname></paramtype></parameter></function>
1438 <function name="operator=="><type>bool</type><parameter name="lhs"><paramtype><classname>data::size_t</classname></paramtype></parameter><parameter name="rhs"><paramtype>std::size_t</paramtype></parameter></function>
1439 <function name="operator=="><type>bool</type><parameter name="lhs"><paramtype>std::size_t</paramtype></parameter><parameter name="rhs"><paramtype><classname>data::size_t</classname></paramtype></parameter></function>
1440 <function name="operator=="><type>bool</type><parameter name="lhs"><paramtype><classname>data::size_t</classname></paramtype></parameter><parameter name="rhs"><paramtype><classname>data::size_t</classname></paramtype></parameter></function>
1441 <function name="operator!="><type>bool</type><parameter name="lhs"><paramtype><classname>data::size_t</classname></paramtype></parameter><parameter name="rhs"><paramtype>std::size_t</paramtype></parameter></function>
1442 <function name="operator!="><type>bool</type><parameter name="lhs"><paramtype>std::size_t</paramtype></parameter><parameter name="rhs"><paramtype><classname>data::size_t</classname></paramtype></parameter></function>
1443 <function name="operator!="><type>bool</type><parameter name="lhs"><paramtype><classname>data::size_t</classname></paramtype></parameter><parameter name="rhs"><paramtype><classname>data::size_t</classname></paramtype></parameter></function>
1444 <function name="operator+"><type><classname>data::size_t</classname></type><parameter name="lhs"><paramtype><classname>data::size_t</classname></paramtype></parameter><parameter name="rhs"><paramtype>std::size_t</paramtype></parameter></function>
1445 <function name="operator+"><type><classname>data::size_t</classname></type><parameter name="lhs"><paramtype>std::size_t</paramtype></parameter><parameter name="rhs"><paramtype><classname>data::size_t</classname></paramtype></parameter></function>
1446 <function name="operator+"><type><classname>data::size_t</classname></type><parameter name="lhs"><paramtype><classname>data::size_t</classname></paramtype></parameter><parameter name="rhs"><paramtype><classname>data::size_t</classname></paramtype></parameter></function>
1447 <function name="operator*"><type><classname>data::size_t</classname></type><parameter name="lhs"><paramtype><classname>data::size_t</classname></paramtype></parameter><parameter name="rhs"><paramtype>std::size_t</paramtype></parameter></function>
1448 <function name="operator*"><type><classname>data::size_t</classname></type><parameter name="lhs"><paramtype>std::size_t</paramtype></parameter><parameter name="rhs"><paramtype><classname>data::size_t</classname></paramtype></parameter></function>
1449 <function name="operator*"><type><classname>data::size_t</classname></type><parameter name="lhs"><paramtype><classname>data::size_t</classname></paramtype></parameter><parameter name="rhs"><paramtype><classname>data::size_t</classname></paramtype></parameter></function>
1450 <function name="operator&lt;&lt;"><type>std::basic_ostream&lt; CharT1, Tr &gt; &amp;</type><template>
1451           <template-type-parameter name="CharT1"/>
1452           <template-type-parameter name="Tr"/>
1453         </template><parameter name="os"><paramtype>std::basic_ostream&lt; CharT1, Tr &gt; &amp;</paramtype></parameter><parameter name="s"><paramtype><classname>data::size_t</classname> const &amp;</paramtype></parameter></function>
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463 </namespace>
1464
1465
1466
1467
1468
1469
1470 </namespace>
1471 </namespace>
1472 </header>
1473 <header name="boost/test/data/test_case.hpp">
1474 <para>test case family based on data generator </para><namespace name="boost">
1475 <namespace name="unit_test">
1476 <namespace name="data">
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525 </namespace>
1526
1527
1528
1529
1530
1531
1532 </namespace>
1533 </namespace>
1534 <macro name="BOOST_TEST_DATASET_VARIADIC"/>
1535 <macro name="BOOST_DATA_TEST_CASE_PARAM" kind="functionlike"><macro-parameter name="r"/><macro-parameter name="_"/><macro-parameter name="i"/><macro-parameter name="param"/></macro>
1536 <macro name="BOOST_DATA_TEST_CONTEXT" kind="functionlike"><macro-parameter name="r"/><macro-parameter name="_"/><macro-parameter name="param"/></macro>
1537 <macro name="BOOST_DATA_TEST_CASE_PARAMS" kind="functionlike"><macro-parameter name="params"/></macro>
1538 <macro name="BOOST_DATA_TEST_CASE_IMPL" kind="functionlike"><macro-parameter name="arity"/><macro-parameter name="F"/><macro-parameter name="test_name"/><macro-parameter name="dataset"/><macro-parameter name="params"/></macro>
1539 <macro name="BOOST_DATA_TEST_CASE_WITH_PARAMS" kind="functionlike"><macro-parameter name="F"/><macro-parameter name="test_name"/><macro-parameter name="dataset"/><macro-parameter name="..."/></macro>
1540 <macro name="BOOST_DATA_TEST_CASE_NO_PARAMS" kind="functionlike"><macro-parameter name="F"/><macro-parameter name="test_name"/><macro-parameter name="dataset"/></macro>
1541 <macro name="BOOST_DATA_TEST_CASE" kind="functionlike"><macro-parameter name="..."/></macro>
1542 <macro name="BOOST_DATA_TEST_CASE_F" kind="functionlike"><macro-parameter name="F"/><macro-parameter name="..."/></macro>
1543 </header>
1544 <header name="boost/test/debug.hpp">
1545 <para>defines portable debug interfaces </para><para>Intended to standardize interface of programs with debuggers </para><namespace name="boost">
1546 <namespace name="debug">
1547 <struct name="dbg_startup_info"><purpose>Collection of data, which is used by debugger starter routine. </purpose><data-member name="pid"><type>long</type><purpose>pid of a program to attach to </purpose></data-member>
1548 <data-member name="break_or_continue"><type>bool</type><purpose>what to do after debugger is attached </purpose></data-member>
1549 <data-member name="binary_path"><type>unit_test::const_string</type><purpose>path to executable for current process </purpose></data-member>
1550 <data-member name="display"><type>unit_test::const_string</type><purpose>if debugger has a GUI, which display to use (on UNIX) </purpose></data-member>
1551 <data-member name="init_done_lock"><type>unit_test::const_string</type><purpose>path to a uniquely named lock file, which is used to pause current application while debugger is being initialized </purpose></data-member>
1552 </struct><typedef name="dbg_starter"><purpose>Signature of debugger starter routine. Takes an instance of dbg_startup_into as only argument. </purpose><type>boost::function&lt; void(<classname>dbg_startup_info</classname> const  &amp;)&gt;</type></typedef>
1553 <function name="under_debugger"><type>bool</type><purpose>Checks if programs runs under debugger. </purpose><description><para>
1554 </para></description><returns><para>true if current process is under debugger. False otherwise </para>
1555 </returns></function>
1556 <function name="debugger_break"><type>void</type><purpose>Cause program to break execution in debugger at call point. </purpose></function>
1557 <function name="set_debugger"><type>std::string</type><parameter name="dbg_id"><paramtype>unit_test::const_string</paramtype><description><para>Unique id for debugger configuration (for example, gdb) </para></description></parameter><parameter name="s"><paramtype>dbg_starter</paramtype><default>dbg_starter()</default><description><para>Optional starter routine for selected configuration (use only you want to define your own configuration) </para></description></parameter><purpose>Specifies which debugger to use when attaching and optionally what routine to use to start that debugger. </purpose><description><para>There are many different debuggers available for different platforms. Some of them also can be used in a different setups/configuratins. For example, gdb can be used in plain text mode, inside ddd, inside (x)emacs or in a separate xterm window. Boost.Test identifies each configuration with unique string. Also different debuggers configurations require different routines which is specifically tailored to start that debugger configuration. Boost.Test comes with set of predefined configuration names and corresponding routines for these configurations:<itemizedlist>
1558 <listitem><para>TODO</para>
1559 </listitem></itemizedlist>
1560 </para><para>You can use this routine to select which one of the predefined debugger configurations to use in which case you do not need to provide starter routine (the one provided by Boost.Test will be used). You can also use this routine to select your own debugger by providing unique configuration id and starter routine for this configuration.</para><para>
1561
1562 </para></description><returns><para>Id of previously selected debugger configuration </para>
1563 </returns></function>
1564 <function name="attach_debugger"><type>bool</type><parameter name="break_or_continue"><paramtype>bool</paramtype><default>true</default><description><para>tells what we wan to do after the debugger is attached. If true - process execution breaks in the point in invocation of this function. Otherwise execution continues, but now it is under the debugger </para></description></parameter><purpose>Attaches debugger to the current process. </purpose><description><para>Using currently selected debugger, this routine attempts to attach the debugger to this process. 
1565
1566 </para></description><returns><para>true if debugger successfully attached. False otherwise </para>
1567 </returns></function>
1568 <function name="detect_memory_leaks"><type>void</type><parameter name="on_off"><paramtype>bool</paramtype><description><para>boolean switch </para></description></parameter><parameter name="report_file"><paramtype>unit_test::const_string</paramtype><default>unit_test::const_string()</default><description><para>file, where the report should be directed to </para></description></parameter><purpose>Switches on/off memory leaks detection. </purpose><description><para>On platforms where memory leak detection is possible inside of running application (at the moment this is only Windows family) you can switch this feature on and off using this interface. In addition you can specify the name of the file to write a report into. Otherwise the report is going to be generated in standard error stream. 
1569 </para></description></function>
1570 <function name="break_memory_alloc"><type>void</type><parameter name="mem_alloc_order_num"><paramtype>long</paramtype><description><para>Specific memory allocation number </para></description></parameter><purpose>Causes program to break execution in debugger at specific allocation point. </purpose><description><para>On some platforms/memory managers (at the moment only on Windows/Visual Studio) one can tell a C Runtime to break on specific memory allocation. This can be used in combination with memory leak detection (which reports leaked memory allocation number) to locate the place where leak initiated. 
1571 </para></description></function>
1572 </namespace>
1573 </namespace>
1574 </header>
1575 <header name="boost/test/debug_config.hpp">
1576 <para>user's config for Boost.Test debugging support </para><para>This file is intended to be edited by end user to specify varios macros, which configure debugger interface Alterntively you can set these parameters in your own sources/makefiles </para></header>
1577 <header name="boost/test/detail/global_typedef.hpp">
1578 <para>some trivial global typedefs </para><namespace name="boost">
1579 <namespace name="unit_test">
1580 <struct name="static_constant"><template>
1581       <template-type-parameter name="T"/>
1582     </template><data-member name="value" specifiers="static"><type>T</type></data-member>
1583 </struct><enum name="report_level"><enumvalue name="INV_REPORT_LEVEL"/><enumvalue name="CONFIRMATION_REPORT"/><enumvalue name="SHORT_REPORT"/><enumvalue name="DETAILED_REPORT"/><enumvalue name="NO_REPORT"/></enum>
1584 <enum name="output_format"><enumvalue name="OF_INVALID"/><enumvalue name="OF_CLF"><purpose>compiler log format </purpose></enumvalue><enumvalue name="OF_XML"><purpose>XML format for report and log,. </purpose></enumvalue><enumvalue name="OF_JUNIT"><purpose>JUNIT format for report and log,. </purpose></enumvalue><enumvalue name="OF_CUSTOM_LOGGER"><purpose>User specified logger. </purpose></enumvalue><enumvalue name="OF_DOT"><purpose>dot format for output content </purpose></enumvalue><purpose>Indicates the output format for the loggers or the test tree printing. </purpose></enum>
1585 <enum name="test_unit_type"><enumvalue name="TUT_CASE"><default>= 0x01</default></enumvalue><enumvalue name="TUT_SUITE"><default>= 0x10</default></enumvalue><enumvalue name="TUT_ANY"><default>= 0x11</default></enumvalue></enum>
1586 <enum name="assertion_result"><enumvalue name="AR_FAILED"/><enumvalue name="AR_PASSED"/><enumvalue name="AR_TRIGGERED"/></enum>
1587 <typedef name="counter_t"><type>unsigned long</type></typedef>
1588 <typedef name="test_unit_id"><type>unsigned long</type></typedef>
1589 <data-member name="INV_TEST_UNIT_ID"><type>const test_unit_id</type></data-member>
1590 <data-member name="MAX_TEST_CASE_ID"><type>const test_unit_id</type></data-member>
1591 <data-member name="MIN_TEST_CASE_ID"><type>const test_unit_id</type></data-member>
1592 <data-member name="MAX_TEST_SUITE_ID"><type>const test_unit_id</type></data-member>
1593 <data-member name="MIN_TEST_SUITE_ID"><type>const test_unit_id</type></data-member>
1594
1595
1596
1597
1598
1599
1600 </namespace>
1601 </namespace>
1602 <macro name="BOOST_TEST_L" kind="functionlike"><macro-parameter name="s"/></macro>
1603 <macro name="BOOST_TEST_STRINGIZE" kind="functionlike"><macro-parameter name="s"/></macro>
1604 <macro name="BOOST_TEST_EMPTY_STRING"/>
1605 <macro name="BOOST_TEST_SINGLETON_CONS_NO_CTOR" kind="functionlike"><macro-parameter name="type"/></macro>
1606 <macro name="BOOST_TEST_SINGLETON_CONS" kind="functionlike"><macro-parameter name="type"/></macro>
1607 <macro name="BOOST_TEST_SINGLETON_CONS_IMPL" kind="functionlike"><macro-parameter name="type"/></macro>
1608 <macro name="BOOST_TEST_SINGLETON_INST" kind="functionlike"><macro-parameter name="inst"/></macro>
1609 </header>
1610 <header name="boost/test/execution_monitor.hpp">
1611 <para>Defines public interface of the Execution Monitor and related classes. </para><namespace name="boost">
1612 <class name="execution_aborted"><purpose>This is a trivial default constructible class. Use it to report graceful abortion of a monitored function execution. </purpose></class><class name="execution_exception"><purpose>This class is used to report any kind of an failure during execution of a monitored function inside of <classname alt="boost::execution_monitor">execution_monitor</classname>. </purpose><description><para>The instance of this class is thrown out of execution_monitor::execute invocation when failure is detected. Regardless of a kind of failure occurred the instance will provide a uniform way to catch and report it.</para><para>One important design rationale for this class is that we should be ready to work after fatal memory corruptions or out of memory conditions. To facilitate this class never allocates any memory and assumes that strings it refers to are either some constants or live in a some kind of persistent (preallocated) memory. </para></description><struct name="location"><purpose>Simple model for the location of failure in a source code. </purpose><data-member name="m_file_name"><type>const_string</type><purpose>File name. </purpose></data-member>
1613 <data-member name="m_line_num"><type>size_t</type><purpose>Line number. </purpose></data-member>
1614 <data-member name="m_function"><type>const_string</type><purpose>Function name. </purpose></data-member>
1615 <method-group name="public member functions">
1616 </method-group>
1617 <constructor specifiers="explicit"><parameter name="file_name"><paramtype>char const *</paramtype><default>0</default></parameter><parameter name="line_num"><paramtype>size_t</paramtype><default>0</default></parameter><parameter name="func"><paramtype>char const *</paramtype><default>0</default></parameter></constructor>
1618 <constructor specifiers="explicit"><parameter name="file_name"><paramtype>const_string</paramtype></parameter><parameter name="line_num"><paramtype>size_t</paramtype><default>0</default></parameter><parameter name="func"><paramtype>char const *</paramtype><default>0</default></parameter></constructor>
1619 </struct><constructor><parameter name="ec"><paramtype>error_code</paramtype><description><para>error code </para></description></parameter><parameter name="what_msg"><paramtype>const_string</paramtype><description><para>error message </para></description></parameter><parameter name="location"><paramtype><classname>location</classname> const &amp;</paramtype><description><para>error location </para></description></parameter><purpose>Constructs instance based on message, location and error code. </purpose><description><para>
1620 </para></description></constructor>
1621 <enum name="error_code"><enumvalue name="no_error"><default>= 0</default><purpose>for completeness only; never returned </purpose></enumvalue><enumvalue name="user_error"><default>= 200</default><purpose>user reported non-fatal error </purpose></enumvalue><enumvalue name="cpp_exception_error"><default>= 205</default><purpose>see note (1) above </purpose></enumvalue><enumvalue name="system_error"><default>= 210</default><purpose>see note (2) above </purpose></enumvalue><enumvalue name="timeout_error"><default>= 215</default><purpose>only detectable on certain platforms </purpose></enumvalue><enumvalue name="user_fatal_error"><default>= 220</default><purpose>user reported fatal error </purpose></enumvalue><enumvalue name="system_fatal_error"><default>= 225</default><purpose>see note (2) above </purpose></enumvalue><purpose>These values are sometimes used as program return codes. The particular values have been chosen to avoid conflicts with commonly used program return codes: values &lt; 100 are often user assigned, values &gt; 255 are sometimes used to report system errors. Gaps in values allow for orderly expansion. </purpose><description><para><note><para>(1) Only uncaught C++ exceptions are treated as errors. If a function catches a C++ exception, it never reaches the <classname alt="boost::execution_monitor">execution_monitor</classname>.</para>
1622 </note>
1623 The implementation decides what is a system_fatal_error and what is just a system_exception. Fatal errors are so likely to have corrupted machine state (like a stack overflow or addressing exception) that it is unreasonable to continue execution.</para><para><note><para>(2) These errors include Unix signals and Windows structured exceptions. They are often initiated by hardware traps. </para>
1624 </note>
1625 </para></description></enum>
1626 </class><class name="execution_monitor"><purpose>Function execution monitor. </purpose><description><para>This class is used to uniformly detect and report an occurrence of several types of signals and exceptions, reducing various errors to a uniform <classname alt="boost::execution_exception">execution_exception</classname> that is returned to a caller.</para><para>The executiom_monitor behavior can be customized through a set of public parameters (properties) associated with the <classname alt="boost::execution_monitor">execution_monitor</classname> instance. All parameters are implemented as public unit_test::readwrite_property data members of the class <classname alt="boost::execution_monitor">execution_monitor</classname>. </para></description><data-member name="p_catch_system_errors"><type>unit_test::readwrite_property&lt; bool &gt;</type><purpose>Should monitor catch system errors. </purpose><description><para>The <emphasis>p_catch_system_errors</emphasis> property is a boolean flag (default value is true) specifying whether or not <classname alt="boost::execution_monitor">execution_monitor</classname> should trap system errors/system level exceptions/signals, which would cause program to crash in a regular case (without <classname alt="boost::execution_monitor">execution_monitor</classname>). Set this property to false, for example, if you wish to force coredump file creation. The Unit Test Framework provides a runtime parameter <computeroutput>--catch_system_errors=yes</computeroutput> to alter the behavior in monitored test cases. </para></description></data-member>
1627 <data-member name="p_auto_start_dbg"><type>unit_test::readwrite_property&lt; bool &gt;</type><purpose>Should monitor try to attach debugger in case of caught system error. </purpose><description><para>The <emphasis>p_auto_start_dbg</emphasis> property is a boolean flag (default value is false) specifying whether or not <classname alt="boost::execution_monitor">execution_monitor</classname> should try to attach debugger in case system error is caught. </para></description></data-member>
1628 <data-member name="p_timeout"><type>unit_test::readwrite_property&lt; unsigned long int &gt;</type><purpose>Specifies the seconds that elapse before a timer_error occurs. </purpose><description><para>The <emphasis>p_timeout</emphasis> property is an integer timeout (in microseconds) for monitored function execution. Use this parameter to monitor code with possible deadlocks or infinite loops. This feature is only available for some operating systems (not yet Microsoft Windows). </para></description></data-member>
1629 <data-member name="p_use_alt_stack"><type>unit_test::readwrite_property&lt; bool &gt;</type><purpose>Should monitor use alternative stack for the signal catching. </purpose><description><para>The <emphasis>p_use_alt_stack</emphasis> property is a boolean flag (default value is false) specifying whether or not <classname alt="boost::execution_monitor">execution_monitor</classname> should use an alternative stack for the sigaction based signal catching. When enabled the signals are delivered to the <classname alt="boost::execution_monitor">execution_monitor</classname> on a stack different from current execution stack, which is safer in case if it is corrupted by monitored function. For more details on alternative stack handling see appropriate manuals. </para></description></data-member>
1630 <data-member name="p_detect_fp_exceptions"><type>unit_test::readwrite_property&lt; unsigned &gt;</type><purpose>Should monitor try to detect hardware floating point exceptions (!= 0), and which specific exception to catch. </purpose><description><para>The <emphasis>p_detect_fp_exceptions</emphasis> property is a boolean flag (default value is false) specifying whether or not <classname alt="boost::execution_monitor">execution_monitor</classname> should install hardware traps for the floating point exception on platforms where it's supported. </para></description></data-member>
1631 <method-group name="public member functions">
1632 <method name="execute"><type>int</type><parameter name="F"><paramtype>boost::function&lt; int()&gt; const &amp;</paramtype><description><para>Function to monitor </para></description></parameter><purpose>Execution monitor entry point for functions returning integer value. </purpose><description><para>This method executes supplied function F inside a try/catch block and also may include other unspecified platform dependent error detection code.</para><para>This method throws an <classname alt="boost::execution_exception">execution_exception</classname> on an uncaught C++ exception, a hardware or software signal, trap, or other user exception.</para><para><note><para>execute() doesn't consider it an error for F to return a non-zero value. </para>
1633 </note>
1634
1635
1636 <para><emphasis role="bold">See Also:</emphasis><para>vexecute </para>
1637 </para>
1638 </para></description><returns><para>value returned by function call F(). </para>
1639 </returns></method>
1640 <method name="vexecute"><type>void</type><parameter name="F"><paramtype>boost::function&lt; void()&gt; const &amp;</paramtype><description><para>Function to monitor </para></description></parameter><purpose>Execution monitor entry point for functions returning void. </purpose><description><para>This method is semantically identical to execution_monitor::execute, but des't produce any result code. 
1641 <para><emphasis role="bold">See Also:</emphasis><para>execute </para>
1642 </para>
1643 </para></description></method>
1644 <method name="register_exception_translator"><type>void</type><template>
1645           <template-type-parameter name="ExceptionType"><purpose><para>type of the exception we register a translator for </para></purpose></template-type-parameter>
1646           <template-type-parameter name="ExceptionTranslator"><purpose><para>type of the translator we register for this exception </para></purpose></template-type-parameter>
1647         </template><parameter name="tr"><paramtype>ExceptionTranslator const &amp;</paramtype><description><para>translator function object with the signature <emphasis> void (ExceptionType const&amp;)</emphasis> </para></description></parameter><parameter name="tag"><paramtype>const_string</paramtype><default>const_string()</default><description><para>tag associated with this translator </para></description></parameter><parameter name=""><paramtype>boost::type&lt; ExceptionType &gt; *</paramtype><default>0</default></parameter><purpose>Registers custom (user supplied) exception translator. </purpose><description><para>This method template registers a translator for an exception type specified as a first template argument. For example <programlisting language="c++">void myExceptTr( MyException const&amp; ex ) { /*do something with the exception here*/}
1648 em.register_exception_translator&lt;MyException&gt;( myExceptTr );
1649 </programlisting> The translator should be any unary function/functor object which accepts MyException const&amp;. This can be free standing function or bound class method. The second argument is an optional string tag you can associate with this translator routine. The only reason to specify the tag is if you plan to erase the translator eventually. This can be useful in scenario when you reuse the same <classname alt="boost::execution_monitor">execution_monitor</classname> instance to monitor different routines and need to register a translator specific to the routine being monitored. While it is possible to erase the translator based on an exception type it was registered for, tag string provides simpler way of doing this. 
1650
1651 </para></description></method>
1652 <method name="erase_exception_translator"><type>void</type><parameter name="tag"><paramtype>const_string</paramtype><description><para>tag associated with translator you wants to erase </para></description></parameter><purpose>Erases custom exception translator based on a tag. </purpose><description><para>Use the same tag as the one used during translator registration 
1653 </para></description></method>
1654 <method name="erase_exception_translator"><type>void</type><template>
1655           <template-type-parameter name="ExceptionType"/>
1656         </template><parameter name=""><paramtype>boost::type&lt; ExceptionType &gt; *</paramtype><default>0</default></parameter><purpose>Erases custom exception translator based on an exception type. </purpose><description><para>tparam ExceptionType Exception type for which you want to erase the translator </para></description></method>
1657 </method-group>
1658 <constructor><purpose>Default constructor initializes all execution monitor properties. </purpose></constructor>
1659 <method-group name="private member functions">
1660 <method name="catch_signals"><type>int</type><parameter name="F"><paramtype>boost::function&lt; int()&gt; const &amp;</paramtype></parameter></method>
1661 </method-group>
1662 </class><class name="system_error"><data-member name="p_errno"><type>long const</type></data-member>
1663 <data-member name="p_failed_exp"><type>char const  *const</type></data-member>
1664 <method-group name="public member functions">
1665 </method-group>
1666 <constructor specifiers="explicit"><parameter name="exp"><paramtype>char const *</paramtype></parameter></constructor>
1667 </class><namespace name="fpe">
1668 <enum name="masks"><enumvalue name="BOOST_FPE_OFF"><default>= 0</default></enumvalue><enumvalue name="BOOST_FPE_DIVBYZERO"><default>= BOOST_FPE_OFF</default></enumvalue><enumvalue name="BOOST_FPE_INEXACT"><default>= BOOST_FPE_OFF</default></enumvalue><enumvalue name="BOOST_FPE_INVALID"><default>= BOOST_FPE_OFF</default></enumvalue><enumvalue name="BOOST_FPE_OVERFLOW"><default>= BOOST_FPE_OFF</default></enumvalue><enumvalue name="BOOST_FPE_UNDERFLOW"><default>= BOOST_FPE_OFF</default></enumvalue><enumvalue name="BOOST_FPE_ALL"><default>= BOOST_FPE_OFF</default></enumvalue><enumvalue name="BOOST_FPE_INV"><default>= BOOST_FPE_ALL+1</default></enumvalue></enum>
1669 <function name="enable"><type>unsigned</type><parameter name="mask"><paramtype>unsigned</paramtype></parameter></function>
1670 <function name="disable"><type>unsigned</type><parameter name="mask"><paramtype>unsigned</paramtype></parameter></function>
1671 </namespace>
1672 </namespace>
1673 <macro name="BOOST_TEST_DISABLE_ALT_STACK"><purpose>Disables the support of the alternative stack during the compilation of the Boost.test framework. This is especially useful in case it is not possible to detect the lack of alternative stack support for your compiler (for instance, ESXi). </purpose></macro>
1674 <macro name="BOOST_TEST_SYS_ASSERT" kind="functionlike"><macro-parameter name="cond"/></macro>
1675 </header>
1676 <header name="boost/test/framework.hpp">
1677 <para>Defines Unit Test Framework mono-state interfaces. The framework interfaces are based on Monostate design pattern. </para><namespace name="boost">
1678 <namespace name="unit_test">
1679 <namespace name="framework">
1680 <struct name="context_generator"><method-group name="public member functions">
1681 <method name="is_empty" cv="const"><type>bool</type><purpose>Is there any context? </purpose></method>
1682 <method name="next" cv="const"><type>const_string</type><purpose>Give me next frame; empty - last frame. </purpose></method>
1683 </method-group>
1684 <constructor/>
1685 </struct><struct name="internal_error"><inherit access="public">runtime_error</inherit><purpose>This exception type is used to report internal Boost.Test framework errors. </purpose><method-group name="public member functions">
1686 </method-group>
1687 <constructor><parameter name="m"><paramtype>const_string</paramtype></parameter></constructor>
1688 </struct><struct name="nothing_to_test"><data-member name="m_result_code"><type>int</type></data-member>
1689 <method-group name="public member functions">
1690 </method-group>
1691 <constructor specifiers="explicit"><parameter name="rc"><paramtype>int</paramtype></parameter></constructor>
1692 </struct><struct name="setup_error"><inherit access="public">runtime_error</inherit><purpose>This exception type is used to report test module setup errors. </purpose><method-group name="public member functions">
1693 </method-group>
1694 <constructor><parameter name="m"><paramtype>const_string</paramtype></parameter></constructor>
1695 </struct><namespace name="impl">
1696 <struct name="master_test_suite_name_setter"><method-group name="public member functions">
1697 </method-group>
1698 <constructor><parameter name="name"><paramtype>const_string</paramtype></parameter></constructor>
1699 </struct><function name="setup_for_execution"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter></function>
1700 <function name="setup_loggers"><type>void</type></function>
1701 </namespace>
1702 <function name="init"><type>void</type><parameter name="init_func"><paramtype>init_unit_test_func</paramtype><description><para>test module initialization routine </para></description></parameter><parameter name="argc"><paramtype>int</paramtype><description><para>command line arguments collection </para></description></parameter><parameter name="argv"><paramtype>char *</paramtype><description><para>command line arguments collection </para></description></parameter><purpose>This function performs initialization of the framework mono-state. </purpose><description><para>It needs to be called every time before the test is started. 
1703 </para></description></function>
1704 <function name="finalize_setup_phase"><type>void</type><parameter name="tu"><paramtype>test_unit_id</paramtype><default>INV_TEST_UNIT_ID</default><description><para>Optional id of the test unit representing root of test tree. If absent, master test suite is used </para></description></parameter><purpose>This function applies all the decorators and figures out default run status. This argument facilitates an ability of the test cases to prepare some other test units (primarily used internally for self testing). </purpose><description><para>
1705 </para></description></function>
1706 <function name="test_in_progress"><type>bool</type><purpose>This function returns true when testing is in progress (setup is finished). </purpose></function>
1707 <function name="shutdown"><type>void</type><purpose>This function shuts down the framework and clears up its mono-state. </purpose><description><para>It needs to be at the very end of test module execution </para></description></function>
1708 <function name="current_auto_test_suite"><type><classname>test_suite</classname> &amp;</type><parameter name="ts"><paramtype><classname>test_suite</classname> *</paramtype><default>0</default><description><para>test suite to push back to the queue </para></description></parameter><parameter name="push_or_pop"><paramtype>bool</paramtype><default>true</default><description><para>should we push ts to the queue or pop leaf test suite instead </para></description></parameter><purpose>Provides both read and write access to current "leaf" auto test suite during the test unit registration phase. </purpose><description><para>During auto-registration phase the framework maintain a FIFO queue of test units being registered. New test units become children of the current "leaf" test suite and if this is test suite it is pushed back into queue and becomes a new leaf. When test suite registration is completed, a test suite is popped from the back of the queue. Only automatically registered test suites should be added to this queue. Master test suite is always a zero element in this queue, so if no other test suites are registered all test cases are added to master test suite. This function facilitates all three possible actions:<itemizedlist>
1709 <listitem><para>if no argument are provided it returns the current queue leaf test suite</para>
1710 </listitem><listitem><para>if test suite is provided and no second argument are set, test suite is added to the queue</para>
1711 </listitem><listitem><para>if no test suite are provided and last argument is false, the semantic of this function is similar to queue pop: last element is popped from the queue 
1712
1713 </para>
1714 </listitem></itemizedlist>
1715 </para></description></function>
1716 <function name="register_test_unit"><type>void</type><parameter name="tc"><paramtype><classname>test_case</classname> *</paramtype><description><para>test case to register </para></description></parameter><purpose>This function add new test case into the global collection of test units the framework aware of. </purpose><description><para>This function also assignes unique test unit id for every test case. Later on one can use this id to locate the test case if necessary. This is the way for the framework to maintain weak references between test units. 
1717 </para></description></function>
1718 <function name="register_test_unit"><type>void</type><parameter name="ts"><paramtype><classname>test_suite</classname> *</paramtype><description><para>test suite to register </para></description></parameter><purpose>This function add new test suite into the global collection of test units the framework aware of. </purpose><description><para>This function also assignes unique test unit id for every test suite. Later on one can use this id to locate the test case if necessary. This is the way for the framework to maintain weak references between test units. 
1719 </para></description></function>
1720 <function name="deregister_test_unit"><type>void</type><parameter name="tu"><paramtype><classname>test_unit</classname> *</paramtype><description><para>test unit to deregister </para></description></parameter><purpose>This function removes the test unit from the collection of known test units and destroys the test unit object. </purpose><description><para>This function also assigns unique test unit id for every test case. Later on one can use this id to located the test case if necessary. This is the way for the framework to maintain weak references between test units. 
1721 </para></description></function>
1722 <function name="clear"><type>void</type><purpose>After this call the framework can be reinitialized to perform a second test run during the same program lifetime. </purpose></function>
1723 <function name="register_observer"><type>void</type><parameter name="to"><paramtype><classname>test_observer</classname> &amp;</paramtype><description><para>test observer object to add </para></description></parameter><purpose>Observer lifetime should exceed the the testing execution timeframe. </purpose><description><para>
1724 </para></description></function>
1725 <function name="deregister_observer"><type>void</type><parameter name="to"><paramtype><classname>test_observer</classname> &amp;</paramtype><description><para>test observer object to exclude </para></description></parameter><purpose>Excludes the observer object form the framework's list of test observers. </purpose><description><para>
1726 </para></description></function>
1727 <function name="register_global_fixture"><type>void</type><parameter name="tuf"><paramtype>global_fixture &amp;</paramtype><description><para>fixture to add </para></description></parameter><purpose>Adds a new global fixture to be setup before any other tests starts and tore down after any other tests finished. Test unit fixture lifetime should exceed the testing execution timeframe. </purpose><description><para>
1728 </para></description></function>
1729 <function name="deregister_global_fixture"><type>void</type><parameter name="tuf"><paramtype>global_fixture &amp;</paramtype><description><para>fixture to remove </para></description></parameter><purpose>Removes a test global fixture from the framework. </purpose><description><para>Test unit fixture lifetime should exceed the testing execution timeframe 
1730 </para></description></function>
1731 <function name="add_context"><type>int</type><parameter name="context_descr"><paramtype>lazy_ostream const &amp;</paramtype><description><para>context frame message </para></description></parameter><parameter name="sticky"><paramtype>bool</paramtype><description><para>is this sticky frame or not </para></description></parameter><purpose>Records context frame message. </purpose><description><para>Some context frames are sticky - they can only explicitly cleared by specifying context id. Other (non sticky) context frames cleared after every assertion. 
1732
1733 </para></description><returns><para>id of the newly created frame </para>
1734 </returns></function>
1735 <function name="clear_context"><type>void</type><parameter name="context_id"><paramtype>int</paramtype><default>-1</default></parameter><purpose>Erases context frame (when test exits context scope) </purpose><description><para>If context_id is passed clears that specific context frame identified by this id, otherwise clears all non sticky contexts. </para></description></function>
1736 <function name="get_context"><type><classname>context_generator</classname></type><purpose>Produces an instance of small "delegate" object, which facilitates access to collected context. </purpose></function>
1737 <function name="master_test_suite"><type><classname>master_test_suite_t</classname> &amp;</type><purpose>There is only only master test suite per test module. </purpose><description><para>
1738 </para></description><returns><para>a reference the master test suite instance </para>
1739 </returns></function>
1740 <function name="current_test_unit"><type><classname>test_unit</classname> const  &amp;</type><purpose>This function provides an access to the test unit currently being executed. </purpose><description><para>The difference with current_test_case is about the time between a test-suite is being set up or torn down (fixtures) and when the test-cases of that suite start. This function is only valid during test execution phase. <para><emphasis role="bold">See Also:</emphasis><para>current_test_case_id, current_test_case </para>
1741 </para>
1742 </para></description></function>
1743 <function name="current_test_case"><type><classname>test_case</classname> const  &amp;</type><purpose>This function provides an access to the test case currently being executed. </purpose><description><para>This function is only valid during test execution phase. <para><emphasis role="bold">See Also:</emphasis><para>current_test_case_id </para>
1744 </para>
1745 </para></description></function>
1746 <function name="current_test_case_id"><type>test_unit_id</type><purpose>This function provides an access to an id of the test case currently being executed. </purpose><description><para>This function safer than current_test_case, cause if wont throw if no test case is being executed. <para><emphasis role="bold">See Also:</emphasis><para>current_test_case </para>
1747 </para>
1748 </para></description></function>
1749 <function name="get"><type><classname>test_unit</classname> &amp;</type><parameter name="tu_id"><paramtype>test_unit_id</paramtype><description><para>id of a test unit to locate </para></description></parameter><parameter name="tu_type"><paramtype>test_unit_type</paramtype><description><para>type of a test unit to locate </para></description></parameter><purpose>This function provides access to a test unit by id and type combination. It will throw if no test unit located. </purpose><description><para>
1750
1751 </para></description><returns><para>located test unit </para>
1752 </returns></function>
1753 <function name="get"><type>UnitType &amp;</type><template>
1754           <template-type-parameter name="UnitType"><purpose><para>compile time type of test unit to get (<classname alt="boost::unit_test::test_suite">test_suite</classname> or <classname alt="boost::unit_test::test_case">test_case</classname>) </para></purpose></template-type-parameter>
1755         </template><parameter name="id"><paramtype>test_unit_id</paramtype><description><para>id of test unit to get </para></description></parameter><purpose>This function template provides access to a typed test unit by id. </purpose><description><para>It will throw if you specify incorrect test unit type 
1756
1757 </para></description></function>
1758 <function name="run"><type>void</type><parameter name="tu"><paramtype>test_unit_id</paramtype><default>INV_TEST_UNIT_ID</default><description><para>Optional id of the test unit or test unit itself from which the test is started. If absent, master test suite is used </para></description></parameter><parameter name="continue_test"><paramtype>bool</paramtype><default>true</default><description><para>true == continue test if it was already started, false == restart the test from scratch regardless </para></description></parameter><purpose>Initiates test execution. </purpose><description><para>This function is used to start the test execution from a specific "root" test unit. If no root provided, test is started from master test suite. This second argument facilitates an ability of the test cases to start some other test units (primarily used internally for self testing). 
1759 </para></description></function>
1760 <function name="run"><type>void</type><parameter name="tu"><paramtype><classname>test_unit</classname> const *</paramtype></parameter><parameter name="continue_test"><paramtype>bool</paramtype><default>true</default></parameter><purpose>Initiates test execution. Same as other overload. </purpose></function>
1761 <function name="assertion_result"><type>void</type><parameter name="ar"><paramtype>unit_test::assertion_result</paramtype></parameter></function>
1762 <function name="exception_caught"><type>void</type><parameter name=""><paramtype><classname>execution_exception</classname> const &amp;</paramtype></parameter><purpose>Reports uncaught exception to all test observers. </purpose></function>
1763 <function name="test_unit_aborted"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><purpose>Reports aborted test unit to all test observers. </purpose></function>
1764 <function name="test_aborted"><type>void</type><purpose>Reports aborted test module to all test observers. </purpose></function>
1765 </namespace>
1766 <typedef name="init_unit_test_func"><purpose>Test module initialization routine signature. </purpose><description><para>Different depending on whether BOOST_TEST_ALTERNATIVE_INIT_API is defined or not </para></description><type><classname>test_suite</classname> *(*</type></typedef>
1767
1768
1769
1770
1771
1772
1773 </namespace>
1774 </namespace>
1775 <macro name="BOOST_TEST_SETUP_ASSERT" kind="functionlike"><macro-parameter name="cond"/><macro-parameter name="msg"/></macro>
1776 </header>
1777 <header name="boost/test/output/compiler_log_formatter.hpp">
1778 <para>Contains the formatter for the Human Readable Format (HRF) </para><namespace name="boost">
1779 <namespace name="unit_test">
1780 <namespace name="output">
1781 <class name="compiler_log_formatter"><inherit access="public">boost::unit_test::unit_test_log_formatter</inherit><purpose>Log formatter for the Human Readable Format (HRF) log format. </purpose><method-group name="public member functions">
1782 <method name="log_start" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages to </para></description></parameter><parameter name="test_cases_amount"><paramtype>counter_t</paramtype><description><para>total test case amount to be run </para></description></parameter><purpose>Invoked at the beginning of test module execution. </purpose><description><para>
1783 <para><emphasis role="bold">See Also:</emphasis><para>log_finish </para>
1784 </para>
1785 </para></description></method>
1786 <method name="log_finish" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><purpose>Invoked at the end of test module execution. </purpose><description><para>
1787 <para><emphasis role="bold">See Also:</emphasis><para>log_start </para>
1788 </para>
1789 </para></description></method>
1790 <method name="log_build_info" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="log_build_info"><paramtype>bool</paramtype><description><para>indicates if build info should be logged or not </para></description></parameter><purpose>Invoked when Unit Test Framework build information is requested. </purpose><description><para>
1791 </para></description></method>
1792 <method name="test_unit_start" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="tu"><paramtype><classname>test_unit</classname> const &amp;</paramtype><description><para>test unit being started </para></description></parameter><purpose>Invoked when test unit starts (either test suite or test case) </purpose><description><para>
1793 <para><emphasis role="bold">See Also:</emphasis><para>test_unit_finish </para>
1794 </para>
1795 </para></description></method>
1796 <method name="test_unit_finish" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="tu"><paramtype><classname>test_unit</classname> const &amp;</paramtype><description><para>test unit being finished </para></description></parameter><parameter name="elapsed"><paramtype>unsigned long</paramtype><description><para>time in microseconds spend executing this test unit </para></description></parameter><purpose>Invoked when test unit finishes. </purpose><description><para>
1797 <para><emphasis role="bold">See Also:</emphasis><para>test_unit_start </para>
1798 </para>
1799 </para></description></method>
1800 <method name="test_unit_skipped" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="tu"><paramtype><classname>test_unit</classname> const &amp;</paramtype><description><para>skipped test unit </para></description></parameter><parameter name=""><paramtype>const_string</paramtype></parameter><purpose>Invoked if test unit skipped for any reason. </purpose><description><para>
1801 </para></description></method>
1802 <method name="log_exception_start" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="lcd"><paramtype><classname>log_checkpoint_data</classname> const &amp;</paramtype><description><para>information about the last checkpoint before the exception was triggered </para></description></parameter><parameter name="ex"><paramtype><classname>execution_exception</classname> const &amp;</paramtype><description><para>information about the caught exception </para></description></parameter><purpose>Invoked when Unit Test Framework detects uncaught exception. </purpose><description><para>The framwork calls this function when an uncaught exception it detected. This call is followed by context information:<itemizedlist>
1803 <listitem><para>one call to <computeroutput>entry_context_start</computeroutput>,</para>
1804 </listitem><listitem><para>as many calls to <computeroutput>log_entry_context</computeroutput> as there are context entries</para>
1805 </listitem><listitem><para>one call to <computeroutput>entry_context_finish</computeroutput> </para>
1806 </listitem></itemizedlist>
1807 </para><para>The logging of the exception information is finilized by a call to <computeroutput>log_exception_finish</computeroutput>.</para><para>
1808 <para><emphasis role="bold">See Also:</emphasis><para>log_exception_finish </para>
1809 </para>
1810 </para></description></method>
1811 <method name="log_exception_finish" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><purpose>Invoked when Unit Test Framework detects uncaught exception. </purpose><description><para>Call to this function finishes uncaught exception report. 
1812 <para><emphasis role="bold">See Also:</emphasis><para>log_exception_start </para>
1813 </para>
1814 </para></description></method>
1815 <method name="log_entry_start" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="led"><paramtype><classname>log_entry_data</classname> const &amp;</paramtype><description><para>log entry attributes </para></description></parameter><parameter name="let"><paramtype>log_entry_types</paramtype><description><para>log entry type log_entry_finish </para></description></parameter><purpose>Invoked by Unit Test Framework to start new log entry. </purpose><description><para>Call to this function starts new log entry. It is followed by series of log_entry_value calls and finally call to log_entry_finish. A log entry may consist of one or more values being reported. Some of these values will be plain strings, while others can be complicated expressions in a form of "lazy" expression template lazy_ostream. 
1816 <para><emphasis role="bold">See Also:</emphasis><para>log_entry_value, log_entry_finish</para>
1817 </para>
1818 <note><para>call to this function may happen before any call to test_unit_start or all calls to test_unit_finish as the framework might log errors raised during global initialization/shutdown. </para>
1819 </note>
1820 </para></description></method>
1821 <method name="log_entry_value" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into. </para></description></parameter><parameter name="value"><paramtype>const_string</paramtype><description><para>log entry string value </para></description></parameter><purpose>Invoked by Unit Test Framework to report a log entry content. </purpose><description><para>This is one of two overloaded methods to report log entry content. This one is used to report plain string value. 
1822 <para><emphasis role="bold">See Also:</emphasis><para>log_entry_start, log_entry_finish </para>
1823 </para>
1824 </para></description></method>
1825 <method name="log_entry_value" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="value"><paramtype>lazy_ostream const &amp;</paramtype><description><para>log entry "lazy" value </para></description></parameter><purpose>Invoked by Unit Test Framework to report a log entry content. </purpose><description><para>This is one of two overloaded methods to report log entry content. This one is used to report some complicated expression passed as an expression template lazy_ostream. In most cases default implementation provided by the framework should work as is (it just converts the lazy expression into a string. 
1826 <para><emphasis role="bold">See Also:</emphasis><para>log_entry_start, log_entry_finish </para>
1827 </para>
1828 </para></description></method>
1829 <method name="log_entry_finish" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><purpose>Invoked by Unit Test Framework to finish a log entry report. </purpose><description><para>
1830 <para><emphasis role="bold">See Also:</emphasis><para>log_entry_start, log_entry_start </para>
1831 </para>
1832 </para></description></method>
1833 <method name="entry_context_start" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="l"><paramtype>log_level</paramtype><description><para>entry log_level, to be used to fine tune the message </para></description></parameter><purpose>Invoked by Unit Test Framework to start log entry context report. </purpose><description><para>Unit Test Framework logs for failed assertions and uncaught exceptions context if one was defined by a test module. Context consists of multiple "scopes" identified by description messages assigned by the test module using BOOST_TEST_INFO/BOOST_TEST_CONTEXT statements. 
1834 <para><emphasis role="bold">See Also:</emphasis><para>log_entry_context, entry_context_finish </para>
1835 </para>
1836 </para></description></method>
1837 <method name="log_entry_context" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="l"><paramtype>log_level</paramtype><description><para>entry log_level, to be used to fine tune the message </para></description></parameter><parameter name="value"><paramtype>const_string</paramtype><description><para>context "scope" description </para></description></parameter><purpose>Invoked by Unit Test Framework to report log entry context "scope" description. </purpose><description><para>Each "scope" description is reported by separate call to log_entry_context. 
1838 <para><emphasis role="bold">See Also:</emphasis><para>log_entry_start, entry_context_finish </para>
1839 </para>
1840 </para></description></method>
1841 <method name="entry_context_finish" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="l"><paramtype>log_level</paramtype><description><para>entry log_level, to be used to fine tune the message </para></description></parameter><purpose>Invoked by Unit Test Framework to finish log entry context report. </purpose><description><para>
1842 <para><emphasis role="bold">See Also:</emphasis><para>log_entry_start, entry_context_context </para>
1843 </para>
1844 </para></description></method>
1845 <method name="test_unit_skipped" specifiers="virtual"><type>void</type><parameter name=""><paramtype>std::ostream &amp;</paramtype></parameter><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><purpose>Deprecated version of this interface. </purpose><description><para><xrefsect id="a00851_1_deprecated000001"><xreftitle>Deprecated</xreftitle><xrefdescription/></xrefsect></para></description></method>
1846 <method name="test_unit_aborted" specifiers="virtual"><type>void</type><parameter name=""><paramtype>std::ostream &amp;</paramtype></parameter><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><purpose>Invoked when a test unit is aborted. </purpose></method>
1847 <method name="test_unit_timed_out" specifiers="virtual"><type>void</type><parameter name=""><paramtype>std::ostream &amp;</paramtype></parameter><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><purpose>Invoked when a test unit times-out. </purpose></method>
1848 <method name="set_log_level" specifiers="virtual"><type>void</type><parameter name="new_log_level"><paramtype>log_level</paramtype></parameter><purpose>Sets the log level of the logger/formatter. </purpose><description><para>Some loggers need to manage the log level by their own. This member function let the implementation decide of that. <formalpara><title>Since Boost 1.62 </title><para/>
1849 </formalpara>
1850 </para></description></method>
1851 <method name="get_log_level" cv="const" specifiers="virtual"><type>log_level</type><purpose>Returns the log level of the logger/formatter. </purpose><description><para><formalpara><title>Since Boost 1.62 </title><para/>
1852 </formalpara>
1853 </para></description></method>
1854 <method name="get_default_stream_description" cv="const" specifiers="virtual"><type>std::string</type><purpose>Returns a default stream for this logger. </purpose><description><para>The returned string describes the stream as if it was passed from the command line <computeroutput>"--log_sink"</computeroutput> parameter. With that regards, <emphasis role="bold">stdout</emphasis> and <emphasis role="bold">stderr</emphasis> have special meaning indicating the standard output or error stream respectively.</para><para><formalpara><title>Since Boost 1.62 </title><para/>
1855 </formalpara>
1856 </para></description></method>
1857 </method-group>
1858 <constructor/>
1859 <method-group name="protected member functions">
1860 <method name="print_prefix" specifiers="virtual"><type>void</type><parameter name=""><paramtype>std::ostream &amp;</paramtype></parameter><parameter name="file"><paramtype>const_string</paramtype></parameter><parameter name="line"><paramtype>std::size_t</paramtype></parameter></method>
1861 </method-group>
1862 </class></namespace>
1863
1864
1865
1866
1867
1868
1869 </namespace>
1870 </namespace>
1871 </header>
1872 <header name="boost/test/output/plain_report_formatter.hpp">
1873 <namespace name="boost">
1874 <namespace name="unit_test">
1875 <namespace name="output">
1876 <class name="plain_report_formatter"><inherit access="public">boost::unit_test::results_reporter::format</inherit><method-group name="public member functions">
1877 <method name="results_report_start" specifiers="virtual"><type>void</type><parameter name="ostr"><paramtype>std::ostream &amp;</paramtype></parameter></method>
1878 <method name="results_report_finish" specifiers="virtual"><type>void</type><parameter name="ostr"><paramtype>std::ostream &amp;</paramtype></parameter></method>
1879 <method name="test_unit_report_start" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><parameter name="ostr"><paramtype>std::ostream &amp;</paramtype></parameter></method>
1880 <method name="test_unit_report_finish" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><parameter name="ostr"><paramtype>std::ostream &amp;</paramtype></parameter></method>
1881 <method name="do_confirmation_report" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><parameter name="ostr"><paramtype>std::ostream &amp;</paramtype></parameter></method>
1882 </method-group>
1883 <constructor/>
1884 </class></namespace>
1885
1886
1887
1888
1889
1890
1891 </namespace>
1892 </namespace>
1893 </header>
1894 <header name="boost/test/output/xml_log_formatter.hpp">
1895 <namespace name="boost">
1896 <namespace name="unit_test">
1897 <namespace name="output">
1898 <class name="xml_log_formatter"><inherit access="public">boost::unit_test::unit_test_log_formatter</inherit><method-group name="public member functions">
1899 <method name="log_start" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages to </para></description></parameter><parameter name="test_cases_amount"><paramtype>counter_t</paramtype><description><para>total test case amount to be run </para></description></parameter><purpose>Invoked at the beginning of test module execution. </purpose><description><para>
1900 <para><emphasis role="bold">See Also:</emphasis><para>log_finish </para>
1901 </para>
1902 </para></description></method>
1903 <method name="log_finish" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><purpose>Invoked at the end of test module execution. </purpose><description><para>
1904 <para><emphasis role="bold">See Also:</emphasis><para>log_start </para>
1905 </para>
1906 </para></description></method>
1907 <method name="log_build_info" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="log_build_info"><paramtype>bool</paramtype><description><para>indicates if build info should be logged or not </para></description></parameter><purpose>Invoked when Unit Test Framework build information is requested. </purpose><description><para>
1908 </para></description></method>
1909 <method name="test_unit_start" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="tu"><paramtype><classname>test_unit</classname> const &amp;</paramtype><description><para>test unit being started </para></description></parameter><purpose>Invoked when test unit starts (either test suite or test case) </purpose><description><para>
1910 <para><emphasis role="bold">See Also:</emphasis><para>test_unit_finish </para>
1911 </para>
1912 </para></description></method>
1913 <method name="test_unit_finish" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="tu"><paramtype><classname>test_unit</classname> const &amp;</paramtype><description><para>test unit being finished </para></description></parameter><parameter name="elapsed"><paramtype>unsigned long</paramtype><description><para>time in microseconds spend executing this test unit </para></description></parameter><purpose>Invoked when test unit finishes. </purpose><description><para>
1914 <para><emphasis role="bold">See Also:</emphasis><para>test_unit_start </para>
1915 </para>
1916 </para></description></method>
1917 <method name="test_unit_skipped" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="tu"><paramtype><classname>test_unit</classname> const &amp;</paramtype><description><para>skipped test unit </para></description></parameter><parameter name=""><paramtype>const_string</paramtype></parameter><purpose>Invoked if test unit skipped for any reason. </purpose><description><para>
1918 </para></description></method>
1919 <method name="log_exception_start" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="lcd"><paramtype><classname>log_checkpoint_data</classname> const &amp;</paramtype><description><para>information about the last checkpoint before the exception was triggered </para></description></parameter><parameter name="ex"><paramtype><classname>execution_exception</classname> const &amp;</paramtype><description><para>information about the caught exception </para></description></parameter><purpose>Invoked when Unit Test Framework detects uncaught exception. </purpose><description><para>The framwork calls this function when an uncaught exception it detected. This call is followed by context information:<itemizedlist>
1920 <listitem><para>one call to <computeroutput>entry_context_start</computeroutput>,</para>
1921 </listitem><listitem><para>as many calls to <computeroutput>log_entry_context</computeroutput> as there are context entries</para>
1922 </listitem><listitem><para>one call to <computeroutput>entry_context_finish</computeroutput> </para>
1923 </listitem></itemizedlist>
1924 </para><para>The logging of the exception information is finilized by a call to <computeroutput>log_exception_finish</computeroutput>.</para><para>
1925 <para><emphasis role="bold">See Also:</emphasis><para>log_exception_finish </para>
1926 </para>
1927 </para></description></method>
1928 <method name="log_exception_finish" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><purpose>Invoked when Unit Test Framework detects uncaught exception. </purpose><description><para>Call to this function finishes uncaught exception report. 
1929 <para><emphasis role="bold">See Also:</emphasis><para>log_exception_start </para>
1930 </para>
1931 </para></description></method>
1932 <method name="log_entry_start" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="led"><paramtype><classname>log_entry_data</classname> const &amp;</paramtype><description><para>log entry attributes </para></description></parameter><parameter name="let"><paramtype>log_entry_types</paramtype><description><para>log entry type log_entry_finish </para></description></parameter><purpose>Invoked by Unit Test Framework to start new log entry. </purpose><description><para>Call to this function starts new log entry. It is followed by series of log_entry_value calls and finally call to log_entry_finish. A log entry may consist of one or more values being reported. Some of these values will be plain strings, while others can be complicated expressions in a form of "lazy" expression template lazy_ostream. 
1933 <para><emphasis role="bold">See Also:</emphasis><para>log_entry_value, log_entry_finish</para>
1934 </para>
1935 <note><para>call to this function may happen before any call to test_unit_start or all calls to test_unit_finish as the framework might log errors raised during global initialization/shutdown. </para>
1936 </note>
1937 </para></description></method>
1938 <method name="log_entry_value" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into. </para></description></parameter><parameter name="value"><paramtype>const_string</paramtype><description><para>log entry string value </para></description></parameter><purpose>Invoked by Unit Test Framework to report a log entry content. </purpose><description><para>This is one of two overloaded methods to report log entry content. This one is used to report plain string value. 
1939 <para><emphasis role="bold">See Also:</emphasis><para>log_entry_start, log_entry_finish </para>
1940 </para>
1941 </para></description></method>
1942 <method name="log_entry_finish" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><purpose>Invoked by Unit Test Framework to finish a log entry report. </purpose><description><para>
1943 <para><emphasis role="bold">See Also:</emphasis><para>log_entry_start, log_entry_start </para>
1944 </para>
1945 </para></description></method>
1946 <method name="entry_context_start" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="l"><paramtype>log_level</paramtype><description><para>entry log_level, to be used to fine tune the message </para></description></parameter><purpose>Invoked by Unit Test Framework to start log entry context report. </purpose><description><para>Unit Test Framework logs for failed assertions and uncaught exceptions context if one was defined by a test module. Context consists of multiple "scopes" identified by description messages assigned by the test module using BOOST_TEST_INFO/BOOST_TEST_CONTEXT statements. 
1947 <para><emphasis role="bold">See Also:</emphasis><para>log_entry_context, entry_context_finish </para>
1948 </para>
1949 </para></description></method>
1950 <method name="log_entry_context" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="l"><paramtype>log_level</paramtype><description><para>entry log_level, to be used to fine tune the message </para></description></parameter><parameter name="value"><paramtype>const_string</paramtype><description><para>context "scope" description </para></description></parameter><purpose>Invoked by Unit Test Framework to report log entry context "scope" description. </purpose><description><para>Each "scope" description is reported by separate call to log_entry_context. 
1951 <para><emphasis role="bold">See Also:</emphasis><para>log_entry_start, entry_context_finish </para>
1952 </para>
1953 </para></description></method>
1954 <method name="entry_context_finish" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="l"><paramtype>log_level</paramtype><description><para>entry log_level, to be used to fine tune the message </para></description></parameter><purpose>Invoked by Unit Test Framework to finish log entry context report. </purpose><description><para>
1955 <para><emphasis role="bold">See Also:</emphasis><para>log_entry_start, entry_context_context </para>
1956 </para>
1957 </para></description></method>
1958 <method name="log_entry_value"><type>void</type><purpose>Invoked by Unit Test Framework to report a log entry content. </purpose><description><para>This is one of two overloaded methods to report log entry content. This one is used to report plain string value. 
1959 <para><emphasis role="bold">See Also:</emphasis><para>log_entry_start, log_entry_finish </para>
1960 </para>
1961 </para></description></method>
1962 <method name="log_entry_value"><type>void</type><purpose>Invoked by Unit Test Framework to report a log entry content. </purpose><description><para>This is one of two overloaded methods to report log entry content. This one is used to report some complicated expression passed as an expression template lazy_ostream. In most cases default implementation provided by the framework should work as is (it just converts the lazy expression into a string. 
1963 <para><emphasis role="bold">See Also:</emphasis><para>log_entry_start, log_entry_finish </para>
1964 </para>
1965 </para></description></method>
1966 <method name="test_unit_skipped" specifiers="virtual"><type>void</type><parameter name=""><paramtype>std::ostream &amp;</paramtype></parameter><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><purpose>Deprecated version of this interface. </purpose><description><para><xrefsect id="a00851_1_deprecated000001"><xreftitle>Deprecated</xreftitle><xrefdescription/></xrefsect></para></description></method>
1967 <method name="test_unit_aborted" specifiers="virtual"><type>void</type><parameter name=""><paramtype>std::ostream &amp;</paramtype></parameter><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><purpose>Invoked when a test unit is aborted. </purpose></method>
1968 <method name="test_unit_timed_out" specifiers="virtual"><type>void</type><parameter name=""><paramtype>std::ostream &amp;</paramtype></parameter><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><purpose>Invoked when a test unit times-out. </purpose></method>
1969 <method name="log_entry_value" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="value"><paramtype>lazy_ostream const &amp;</paramtype><description><para>log entry "lazy" value </para></description></parameter><purpose>Invoked by Unit Test Framework to report a log entry content. </purpose><description><para>This is one of two overloaded methods to report log entry content. This one is used to report some complicated expression passed as an expression template lazy_ostream. In most cases default implementation provided by the framework should work as is (it just converts the lazy expression into a string. 
1970 <para><emphasis role="bold">See Also:</emphasis><para>log_entry_start, log_entry_finish </para>
1971 </para>
1972 </para></description></method>
1973 <method name="set_log_level" specifiers="virtual"><type>void</type><parameter name="new_log_level"><paramtype>log_level</paramtype></parameter><purpose>Sets the log level of the logger/formatter. </purpose><description><para>Some loggers need to manage the log level by their own. This member function let the implementation decide of that. <formalpara><title>Since Boost 1.62 </title><para/>
1974 </formalpara>
1975 </para></description></method>
1976 <method name="get_log_level" cv="const" specifiers="virtual"><type>log_level</type><purpose>Returns the log level of the logger/formatter. </purpose><description><para><formalpara><title>Since Boost 1.62 </title><para/>
1977 </formalpara>
1978 </para></description></method>
1979 <method name="get_default_stream_description" cv="const" specifiers="virtual"><type>std::string</type><purpose>Returns a default stream for this logger. </purpose><description><para>The returned string describes the stream as if it was passed from the command line <computeroutput>"--log_sink"</computeroutput> parameter. With that regards, <emphasis role="bold">stdout</emphasis> and <emphasis role="bold">stderr</emphasis> have special meaning indicating the standard output or error stream respectively.</para><para><formalpara><title>Since Boost 1.62 </title><para/>
1980 </formalpara>
1981 </para></description></method>
1982 </method-group>
1983 </class></namespace>
1984
1985
1986
1987
1988
1989
1990 </namespace>
1991 </namespace>
1992 </header>
1993 <header name="boost/test/output/xml_report_formatter.hpp">
1994 <namespace name="boost">
1995 <namespace name="unit_test">
1996 <namespace name="output">
1997 <class name="xml_report_formatter"><inherit access="public">boost::unit_test::results_reporter::format</inherit><method-group name="public member functions">
1998 <method name="results_report_start" specifiers="virtual"><type>void</type><parameter name="ostr"><paramtype>std::ostream &amp;</paramtype></parameter></method>
1999 <method name="results_report_finish" specifiers="virtual"><type>void</type><parameter name="ostr"><paramtype>std::ostream &amp;</paramtype></parameter></method>
2000 <method name="test_unit_report_start" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><parameter name="ostr"><paramtype>std::ostream &amp;</paramtype></parameter></method>
2001 <method name="test_unit_report_finish" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><parameter name="ostr"><paramtype>std::ostream &amp;</paramtype></parameter></method>
2002 <method name="do_confirmation_report" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><parameter name="ostr"><paramtype>std::ostream &amp;</paramtype></parameter></method>
2003 </method-group>
2004 </class></namespace>
2005
2006
2007
2008
2009
2010
2011 </namespace>
2012 </namespace>
2013 </header>
2014 <header name="boost/test/parameterized_test.hpp">
2015 <para>generators and helper macros for parameterized tests </para><namespace name="boost">
2016 <namespace name="unit_test">
2017
2018
2019
2020 <function name="make_test_case"><type><emphasis>unspecified</emphasis></type><template>
2021           <template-type-parameter name="ParamType"/>
2022           <template-type-parameter name="ParamIter"/>
2023         </template><parameter name="test_func"><paramtype>boost::function&lt; void(ParamType)&gt; const &amp;</paramtype></parameter><parameter name="tc_name"><paramtype>const_string</paramtype></parameter><parameter name="tc_file"><paramtype>const_string</paramtype></parameter><parameter name="tc_line"><paramtype>std::size_t</paramtype></parameter><parameter name="par_begin"><paramtype>ParamIter</paramtype></parameter><parameter name="par_end"><paramtype>ParamIter</paramtype></parameter></function>
2024 <function name="make_test_case"><type><emphasis>unspecified</emphasis></type><template>
2025           <template-type-parameter name="ParamType"/>
2026           <template-type-parameter name="ParamIter"/>
2027         </template><parameter name="test_func"><paramtype>void(*)(ParamType)</paramtype></parameter><parameter name="tc_name"><paramtype>const_string</paramtype></parameter><parameter name="tc_file"><paramtype>const_string</paramtype></parameter><parameter name="tc_line"><paramtype>std::size_t</paramtype></parameter><parameter name="par_begin"><paramtype>ParamIter</paramtype></parameter><parameter name="par_end"><paramtype>ParamIter</paramtype></parameter></function>
2028 <function name="make_test_case"><type><emphasis>unspecified</emphasis></type><template>
2029           <template-type-parameter name="UserTestCase"/>
2030           <template-type-parameter name="ParamType"/>
2031           <template-type-parameter name="ParamIter"/>
2032         </template><parameter name="test_method"><paramtype>void(UserTestCase::*)(ParamType)</paramtype></parameter><parameter name="tc_name"><paramtype>const_string</paramtype></parameter><parameter name="tc_file"><paramtype>const_string</paramtype></parameter><parameter name="tc_line"><paramtype>std::size_t</paramtype></parameter><parameter name="user_test_case"><paramtype>boost::shared_ptr&lt; UserTestCase &gt; const &amp;</paramtype></parameter><parameter name="par_begin"><paramtype>ParamIter</paramtype></parameter><parameter name="par_end"><paramtype>ParamIter</paramtype></parameter></function>
2033 </namespace>
2034 </namespace>
2035 <macro name="BOOST_PARAM_TEST_CASE" kind="functionlike"><macro-parameter name="function"/><macro-parameter name="begin"/><macro-parameter name="end"/></macro>
2036 <macro name="BOOST_PARAM_CLASS_TEST_CASE" kind="functionlike"><macro-parameter name="function"/><macro-parameter name="tc_instance"/><macro-parameter name="begin"/><macro-parameter name="end"/></macro>
2037 </header>
2038 <header name="boost/test/progress_monitor.hpp">
2039 <para>defines simple text based progress monitor </para><namespace name="boost">
2040 <namespace name="unit_test">
2041 <class name="progress_monitor_t"><inherit access="public">boost::unit_test::test_observer</inherit><purpose>This class implements test observer interface and updates test progress as test units finish or get aborted. </purpose><method-group name="public member functions">
2042 <method name="test_finish" specifiers="virtual"><type>void</type><purpose>Called after the framework ends executing the test cases. </purpose><description><para><note><para>The call is made with a reversed priority order. </para>
2043 </note>
2044 </para></description></method>
2045 <method name="test_unit_start" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><purpose>Called before the framework starts executing a test unit. </purpose><description><para>
2046 </para></description></method>
2047 <method name="test_unit_skipped" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><purpose>backward compatibility </purpose></method>
2048 <method name="test_unit_timed_out" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><purpose>Called when the test timed out. </purpose><description><para>This function is called to signal that a test unit (case or suite) timed out. A valid test unit is available through boost::unit_test::framework::current_test_unit </para></description></method>
2049 <method name="test_unit_aborted" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><purpose>Called when a test unit indicates a fatal error. </purpose><description><para>A fatal error happens when<itemizedlist>
2050 <listitem><para>a strong assertion (with <computeroutput>REQUIRE</computeroutput>) fails, which indicates that the test case cannot continue</para>
2051 </listitem><listitem><para>an unexpected exception is caught by the Boost.Test framework </para>
2052 </listitem></itemizedlist>
2053 </para></description></method>
2054 <method name="assertion_result" specifiers="virtual"><type>void</type><parameter name=""><paramtype>unit_test::assertion_result</paramtype></parameter></method>
2055 <method name="exception_caught" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>execution_exception</classname> const &amp;</paramtype></parameter><purpose>Called when an exception is intercepted. </purpose><description><para>In case an exception is intercepted, this call happens before the call to test_unit_aborted in order to log additional data about the exception. </para></description></method>
2056 </method-group>
2057 </class>
2058
2059
2060
2061
2062
2063 </namespace>
2064 </namespace>
2065 </header>
2066 <header name="boost/test/results_collector.hpp">
2067 <para>Defines testing result collector components. </para><para>Defines classes for keeping track (test_results) and collecting (results_collector_t) the states of the test units. </para><namespace name="boost">
2068 <namespace name="unit_test">
2069 <class name="results_collector_t"><inherit access="public">boost::unit_test::test_observer</inherit><purpose>Collects and combines the test results. </purpose><description><para>This class collects and combines the results of the test unit during the execution of the test tree. The results_collector_t::results() function combines the test results on a subtree of the test tree.</para><para><para><emphasis role="bold">See Also:</emphasis><para><classname alt="boost::unit_test::test_observer">boost::unit_test::test_observer</classname> </para>
2070 </para>
2071 </para></description><method-group name="public member functions">
2072 <method name="test_start" specifiers="virtual"><type>void</type><parameter name=""><paramtype>counter_t</paramtype></parameter><purpose>Called before the framework starts executing the test cases. </purpose><description><para>
2073 </para></description></method>
2074 <method name="test_unit_start" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><purpose>Called before the framework starts executing a test unit. </purpose><description><para>
2075 </para></description></method>
2076 <method name="test_unit_finish" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><parameter name=""><paramtype>unsigned long</paramtype></parameter><purpose>Called at each end of a test unit. </purpose><description><para>
2077 </para></description></method>
2078 <method name="test_unit_skipped" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><parameter name=""><paramtype>const_string</paramtype></parameter></method>
2079 <method name="test_unit_aborted" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><purpose>Called when a test unit indicates a fatal error. </purpose><description><para>A fatal error happens when<itemizedlist>
2080 <listitem><para>a strong assertion (with <computeroutput>REQUIRE</computeroutput>) fails, which indicates that the test case cannot continue</para>
2081 </listitem><listitem><para>an unexpected exception is caught by the Boost.Test framework </para>
2082 </listitem></itemizedlist>
2083 </para></description></method>
2084 <method name="test_unit_timed_out" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><purpose>Called when the test timed out. </purpose><description><para>This function is called to signal that a test unit (case or suite) timed out. A valid test unit is available through boost::unit_test::framework::current_test_unit </para></description></method>
2085 <method name="assertion_result" specifiers="virtual"><type>void</type><parameter name=""><paramtype>unit_test::assertion_result</paramtype></parameter></method>
2086 <method name="exception_caught" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>execution_exception</classname> const &amp;</paramtype></parameter><purpose>Called when an exception is intercepted. </purpose><description><para>In case an exception is intercepted, this call happens before the call to test_unit_aborted in order to log additional data about the exception. </para></description></method>
2087 <method name="priority" specifiers="virtual"><type>int</type><purpose>The priority indicates the order at which this observer is initialized and tore down in the UTF framework. The order is lowest to highest priority. </purpose></method>
2088 <method name="results" cv="const"><type><classname>test_results</classname> const  &amp;</type><parameter name="tu_id"><paramtype>test_unit_id</paramtype><description><para>id of a test unit </para></description></parameter><purpose>Results access per test unit. </purpose><description><para>
2089 </para></description></method>
2090 <method name="test_finish" specifiers="virtual"><type>void</type><purpose>Called after the framework ends executing the test cases. </purpose><description><para><note><para>The call is made with a reversed priority order. </para>
2091 </note>
2092 </para></description></method>
2093 <method name="test_aborted" specifiers="virtual"><type>void</type><purpose>Called when a critical error is detected. </purpose><description><para>The critical errors are mainly the signals sent by the system and caught by the Boost.Test framework. Since the running binary may be in incoherent/instable state, the test execution is aborted and all remaining tests are discarded.</para><para><note><para>may be called before test_observer::test_unit_finish() </para>
2094 </note>
2095 </para></description></method>
2096 <method name="test_unit_skipped" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><purpose>backward compatibility </purpose></method>
2097 </method-group>
2098 </class><class name="test_results"><purpose>Collection of attributes constituting test unit results. </purpose><description><para>This class is a collection of attributes describing a test result.</para><para>The attributes presented as public properties on an instance of the class. In addition summary conclusion methods are presented to generate simple answer to pass/fail question </para></description><data-member name="p_test_suites"><type>counter_prop</type><purpose>Number of test suites. </purpose></data-member>
2099 <data-member name="p_assertions_passed"><type>counter_prop</type><purpose>Number of successful assertions. </purpose></data-member>
2100 <data-member name="p_assertions_failed"><type>counter_prop</type><purpose>Number of failing assertions. </purpose></data-member>
2101 <data-member name="p_warnings_failed"><type>counter_prop</type><purpose>Number of warnings. </purpose></data-member>
2102 <data-member name="p_expected_failures"><type>counter_prop</type></data-member>
2103 <data-member name="p_test_cases_passed"><type>counter_prop</type><purpose>Number of successfull test cases. </purpose></data-member>
2104 <data-member name="p_test_cases_warned"><type>counter_prop</type><purpose>Number of warnings in test cases. </purpose></data-member>
2105 <data-member name="p_test_cases_failed"><type>counter_prop</type><purpose>Number of failing test cases. </purpose></data-member>
2106 <data-member name="p_test_cases_skipped"><type>counter_prop</type><purpose>Number of skipped test cases. </purpose></data-member>
2107 <data-member name="p_test_cases_aborted"><type>counter_prop</type><purpose>Number of aborted test cases. </purpose></data-member>
2108 <data-member name="p_test_cases_timed_out"><type>counter_prop</type><purpose>Number of timed out test cases. </purpose></data-member>
2109 <data-member name="p_test_suites_timed_out"><type>counter_prop</type><purpose>Number of timed out test suites. </purpose></data-member>
2110 <data-member name="p_duration_microseconds"><type>counter_prop</type><purpose>Duration of the test in microseconds. </purpose></data-member>
2111 <data-member name="p_aborted"><type>bool_prop</type><purpose>Indicates that the test unit execution has been aborted. </purpose></data-member>
2112 <data-member name="p_skipped"><type>bool_prop</type><purpose>Indicates that the test unit execution has been skipped. </purpose></data-member>
2113 <data-member name="p_timed_out"><type>bool_prop</type><purpose>Indicates that the test unit has timed out. </purpose></data-member>
2114 <method-group name="public member functions">
2115 <method name="BOOST_READONLY_PROPERTY"><type>typedef</type><parameter name=""><paramtype>counter_t</paramtype></parameter><parameter name=""><paramtype>(<classname>results_collector_t</classname>)(<classname>test_results</classname>)(results_collect_helper)</paramtype></parameter><purpose>Type representing counter like public property. </purpose></method>
2116 <method name="BOOST_READONLY_PROPERTY"><type>typedef</type><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>(<classname>results_collector_t</classname>)(<classname>test_results</classname>)(results_collect_helper)</paramtype></parameter><purpose>Type representing boolean like public property. </purpose></method>
2117 <method name="passed" cv="const"><type>bool</type><purpose>Returns true if test unit passed. </purpose></method>
2118 <method name="skipped" cv="const"><type>bool</type><purpose>Returns true if test unit skipped. </purpose><description><para>For test suites, this indicates if the test suite itself has been marked as skipped, and not if the test suite contains any skipped test. </para></description></method>
2119 <method name="aborted" cv="const"><type>bool</type><purpose>Returns true if the test unit was aborted (hard failure) </purpose></method>
2120 <method name="result_code" cv="const"><type>int</type><purpose>Produces result code for the test unit execution. </purpose><description><para>This methhod return one of the result codes defined in <computeroutput>boost/cstdlib.hpp</computeroutput> 
2121 </para></description><returns><para><itemizedlist>
2122 <listitem><para><computeroutput>boost::exit_success</computeroutput> on success,</para>
2123 </listitem><listitem><para><computeroutput>boost::exit_exception_failure</computeroutput> in case test unit was aborted for any reason (incuding uncaught exception)</para>
2124 </listitem><listitem><para>and <computeroutput>boost::exit_test_failure</computeroutput> otherwise </para>
2125 </listitem></itemizedlist>
2126 </para>
2127 </returns></method>
2128 <method name="operator+="><type>void</type><parameter name=""><paramtype><classname>test_results</classname> const &amp;</paramtype></parameter><purpose>Combines the results of the current instance with another. </purpose><description><para>Only the counters are updated and the <computeroutput>p_aborted</computeroutput> and <computeroutput>p_skipped</computeroutput> are left unchanged. </para></description></method>
2129 <method name="clear"><type>void</type><purpose>Resets the current state of the result. </purpose></method>
2130 </method-group>
2131 <constructor/>
2132 </class>
2133
2134
2135
2136
2137
2138 </namespace>
2139 </namespace>
2140 </header>
2141 <header name="boost/test/results_reporter.hpp">
2142 <para>defines testing result reporter interfaces </para><para>This file defines interfaces that are responsible for results reporting. Interface is presented in a form of free standing function implemented in namespace result_reporter </para><namespace name="boost">
2143 <namespace name="unit_test">
2144 <namespace name="results_reporter">
2145 <class name="format"><purpose>Results report formatter interface. </purpose><description><para>This is abstract interface for the report formatter used by results reporter routines. You can define a custom formatter by implementing this interface and setting the formatter using set_format function. This is usually done during test module initialization </para></description><method-group name="public member functions">
2146 <method name="results_report_start" cv="= 0" specifiers="virtual"><type>void</type><parameter name="ostr"><paramtype>std::ostream &amp;</paramtype></parameter></method>
2147 <method name="results_report_finish" cv="= 0" specifiers="virtual"><type>void</type><parameter name="ostr"><paramtype>std::ostream &amp;</paramtype></parameter></method>
2148 <method name="test_unit_report_start" cv="= 0" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><parameter name="ostr"><paramtype>std::ostream &amp;</paramtype></parameter></method>
2149 <method name="test_unit_report_finish" cv="= 0" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><parameter name="ostr"><paramtype>std::ostream &amp;</paramtype></parameter></method>
2150 <method name="do_confirmation_report" cv="= 0" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><parameter name="ostr"><paramtype>std::ostream &amp;</paramtype></parameter></method>
2151 </method-group>
2152 <destructor/>
2153 </class><function name="set_level"><type>void</type><parameter name="l"><paramtype>report_level</paramtype><description><para>report level </para></description></parameter><purpose>Sets reporting level. </purpose><description><para>There are only four possible levels for results report:<itemizedlist>
2154 <listitem><para>confirmation report (boost::unit_test::CONFIRMATION_REPORT). This report level only produces short confirmation message about test module pass/fail status</para>
2155 </listitem><listitem><para>short report (boost::unit_test::SHORT_REPORT). This report level produces short summary report for failed/passed assertions and test units.</para>
2156 </listitem><listitem><para>detailed report (boost::unit_test::DETAILED_REPORT). This report level produces detailed report per test unit for passed/failed assertions and uncaught exceptions</para>
2157 </listitem><listitem><para>no report (boost::unit_test::NO_REPORT). This report level produces no results report. This is used for test modules running as part of some kind of continues integration framework 
2158 </para>
2159 </listitem></itemizedlist>
2160 </para></description></function>
2161 <function name="set_stream"><type>void</type><parameter name=""><paramtype>std::ostream &amp;</paramtype></parameter><purpose>Sets output stream for results reporting. </purpose><description><para>By default std::cerr is used. Use this function to set a different stream. The framework refers to the stream by reference, so you need to make sure the stream object lifetime exceeds the testing main scope. </para></description></function>
2162 <function name="set_format"><type>void</type><parameter name="of"><paramtype>output_format</paramtype><description><para>one of the presefined enumeration values for output formats </para></description></parameter><purpose>Sets one of the predefined formats. </purpose><description><para>The framework implements two results report formats:<itemizedlist>
2163 <listitem><para>plain human readable format (boost::unit_test::OF_CLF)</para>
2164 </listitem><listitem><para>XML format (boost::unit_test::OF_XML) 
2165 </para>
2166 </listitem></itemizedlist>
2167 </para></description></function>
2168 <function name="set_format"><type>void</type><parameter name="f"><paramtype><classname>results_reporter::format</classname> *</paramtype><description><para>pointer to heap allocated instance of custom report formatter class </para></description></parameter><purpose>Sets custom report formatter. </purpose><description><para>The framework takes ownership of the pointer passed as an argument. So this should be a pointer to a heap allocated object 
2169 </para></description></function>
2170 <function name="get_stream"><type>std::ostream &amp;</type><purpose>Access to configured results reporter stream. </purpose><description><para>Use this stream to report additional information abut test module execution </para></description></function>
2171 <function name="make_report"><type>void</type><parameter name="l"><paramtype>report_level</paramtype><default>INV_REPORT_LEVEL</default></parameter><parameter name=""><paramtype>test_unit_id</paramtype><default>INV_TEST_UNIT_ID</default></parameter></function>
2172 <function name="confirmation_report"><type>void</type><parameter name="id"><paramtype>test_unit_id</paramtype><default>INV_TEST_UNIT_ID</default></parameter></function>
2173 <function name="short_report"><type>void</type><parameter name="id"><paramtype>test_unit_id</paramtype><default>INV_TEST_UNIT_ID</default></parameter></function>
2174 <function name="detailed_report"><type>void</type><parameter name="id"><paramtype>test_unit_id</paramtype><default>INV_TEST_UNIT_ID</default></parameter></function>
2175 </namespace>
2176
2177
2178
2179
2180
2181
2182 </namespace>
2183 </namespace>
2184 </header>
2185 <header name="boost/test/tools/assertion_result.hpp">
2186 <para>Enhanced result for test predicate that include message explaining failure. </para><namespace name="boost">
2187 <namespace name="test_tools">
2188 <class name="assertion_result"><purpose>Type used for storing the result of an assertion. </purpose><struct name="dummy"><method-group name="public member functions">
2189 <method name="nonnull"><type>void</type></method>
2190 </method-group>
2191 </struct><method-group name="public member functions">
2192 <method name="operator!" cv="const"><type>bool</type></method>
2193 <method name="conversion-operator" cv="const"><type>safe_bool</type></method>
2194 <method name="BOOST_READONLY_PROPERTY"><type/><parameter name=""><paramtype>bool</paramtype></parameter><parameter name=""><paramtype>(<classname>assertion_result</classname>)</paramtype></parameter></method>
2195 <method name="has_empty_message" cv="const"><type>bool</type></method>
2196 <method name="message"><type>wrap_stringstream &amp;</type></method>
2197 <method name="message" cv="const"><type>const_string</type></method>
2198 </method-group>
2199 <constructor><parameter name="pv_"><paramtype>bool</paramtype></parameter></constructor>
2200 <constructor><template>
2201           <template-type-parameter name="BoolConvertable"/>
2202         </template><parameter name="pv_"><paramtype>BoolConvertable const &amp;</paramtype></parameter></constructor>
2203 <copy-assignment><type>void</type><parameter name="pv_"><paramtype>bool</paramtype></parameter></copy-assignment>
2204 </class><typedef name="predicate_result"><type><classname>assertion_result</classname></type></typedef>
2205
2206
2207
2208
2209
2210
2211 </namespace>
2212 </namespace>
2213 </header>
2214 <header name="boost/test/tools/detail/bitwise_manip.hpp">
2215 <para>Bitwise comparison manipulator implementation. </para><namespace name="boost">
2216 <namespace name="test_tools">
2217 <struct name="bitwise"><purpose>Bitwise comparison manipulator. </purpose></struct><function name="operator&lt;&lt;"><type>int</type><parameter name=""><paramtype>unit_test::lazy_ostream const &amp;</paramtype></parameter><parameter name=""><paramtype><classname>bitwise</classname></paramtype></parameter></function>
2218
2219
2220
2221
2222
2223 </namespace>
2224 </namespace>
2225 </header>
2226 <header name="boost/test/tools/detail/lexicographic_manip.hpp">
2227 <para>Lexicographic comparison manipulator implementation. </para><namespace name="boost">
2228 <namespace name="test_tools">
2229 <struct name="lexicographic"><purpose>Lexicographic comparison manipulator, for containers. </purpose></struct>
2230 <function name="operator&lt;&lt;"><type>int</type><parameter name=""><paramtype>unit_test::lazy_ostream const &amp;</paramtype></parameter><parameter name=""><paramtype><classname>lexicographic</classname></paramtype></parameter></function>
2231
2232
2233
2234
2235 </namespace>
2236 </namespace>
2237 </header>
2238 <header name="boost/test/tools/detail/per_element_manip.hpp">
2239 <para>Per element comparison manipulator implementation. </para><namespace name="boost">
2240 <namespace name="test_tools">
2241 <struct name="per_element"><purpose>Per element comparison manipulator, for containers. </purpose></struct>
2242
2243 <function name="operator&lt;&lt;"><type>int</type><parameter name=""><paramtype>unit_test::lazy_ostream const &amp;</paramtype></parameter><parameter name=""><paramtype><classname>per_element</classname></paramtype></parameter></function>
2244
2245
2246
2247 </namespace>
2248 </namespace>
2249 </header>
2250 <header name="boost/test/tools/detail/tolerance_manip.hpp">
2251 <para>Floating point comparison tolerance manipulators. </para><para>This file defines several manipulators for floating point comparison. These manipulators are intended to be used with BOOST_TEST. </para><namespace name="boost">
2252 <namespace name="test_tools">
2253
2254
2255
2256 <overloaded-function name="tolerance"><signature><type><emphasis>unspecified</emphasis></type><template>
2257           <template-type-parameter name="FPT"/>
2258         </template><parameter name="v"><paramtype>FPT</paramtype></parameter></signature><signature><type><emphasis>unspecified</emphasis></type><template>
2259           <template-type-parameter name="FPT"/>
2260         </template><parameter name="v"><paramtype>fpc::percent_tolerance_t&lt; FPT &gt;</paramtype></parameter></signature><signature><type><emphasis>unspecified</emphasis></type></signature><description><para>Tolerance manipulator</para><para>These functions return a manipulator that can be used in conjunction with BOOST_TEST in order to specify the tolerance with which floating point comparisons are made. </para></description></overloaded-function>
2261
2262
2263 </namespace>
2264 </namespace>
2265 </header>
2266 <header name="boost/test/tools/floating_point_comparison.hpp">
2267 <para>algorithms for comparing floating point values </para><namespace name="boost">
2268 <namespace name="math">
2269 <namespace name="fpc">
2270 <class name="close_at_tolerance"><template>
2271       <template-type-parameter name="FPT"/>
2272     </template><purpose>Predicate for comparing floating point numbers. </purpose><description><para>This predicate is used to compare floating point numbers. In addition the comparison produces maximum related difference, which can be used to generate detailed error message The methods for comparing floating points are detailed in the documentation. The method is chosen by the boost::math::fpc::strength given at construction.</para><para>This predicate is not suitable for comparing to 0 or to infinity. </para></description><typedef name="result_type"><type>bool</type></typedef>
2273 <method-group name="public member functions">
2274 <method name="fraction_tolerance" cv="const"><type>FPT</type><purpose>Returns the tolerance. </purpose></method>
2275 <method name="strength" cv="const"><type>fpc::strength</type><purpose>Returns the comparison method. </purpose></method>
2276 <method name="tested_rel_diff" cv="const"><type>FPT</type><purpose>Returns the failing fraction. </purpose></method>
2277 <method name="operator()" cv="const"><type>bool</type><parameter name="left"><paramtype>FPT</paramtype><description><para>first floating point number to be compared </para></description></parameter><parameter name="right"><paramtype>FPT</paramtype><description><para>second floating point number to be compared</para></description></parameter><description><para>Compares two floating point numbers a and b such that their "left" relative difference |a-b|/a and/or "right" relative difference |a-b|/b does not exceed specified relative (fraction) tolerance.</para><para>
2278 What is reported by <computeroutput>tested_rel_diff</computeroutput> in case of failure depends on the comparison method:<itemizedlist>
2279 <listitem><para>for <computeroutput>FPC_STRONG:</computeroutput> the max of the two fractions</para>
2280 </listitem><listitem><para>for <computeroutput>FPC_WEAK:</computeroutput> the min of the two fractions The rationale behind is to report the tolerance to set in order to make a test pass. </para>
2281 </listitem></itemizedlist>
2282 </para></description></method>
2283 </method-group>
2284 <constructor specifiers="explicit"><template>
2285           <template-type-parameter name="ToleranceType"/>
2286         </template><parameter name="tolerance"><paramtype>ToleranceType</paramtype></parameter><parameter name="fpc_strength"><paramtype>fpc::strength</paramtype><default>FPC_STRONG</default></parameter></constructor>
2287 </class><class name="is_abstract_class_or_function"><template>
2288       <template-type-parameter name="T"/>
2289     </template><data-member name="value" specifiers="static"><type>const bool</type></data-member>
2290 <method-group name="private static functions">
2291 <method name="test" specifiers="static"><type>char</type><template>
2292           <template-type-parameter name="U"/>
2293         </template><parameter name=""><paramtype>U(*)</paramtype></parameter></method>
2294 <method name="test" specifiers="static"><type>Two</type><template>
2295           <template-type-parameter name="U"/>
2296         </template><parameter name=""><paramtype>...</paramtype></parameter></method>
2297 </method-group>
2298 </class><struct name="percent_tolerance_t"><template>
2299       <template-type-parameter name="FPT"/>
2300     </template><data-member name="m_value"><type>FPT</type></data-member>
2301 <method-group name="public member functions">
2302 </method-group>
2303 <constructor specifiers="explicit"><parameter name="v"><paramtype>FPT</paramtype></parameter></constructor>
2304 </struct><class name="small_with_tolerance"><template>
2305       <template-type-parameter name="FPT"/>
2306     </template><purpose>Predicate for comparing floating point numbers against 0. </purpose><description><para>Serves the same purpose as <classname alt="boost::math::fpc::close_at_tolerance">boost::math::fpc::close_at_tolerance</classname>, but used when one of the operand is null. </para></description><typedef name="result_type"><type>bool</type></typedef>
2307 <method-group name="public member functions">
2308 <method name="operator()" cv="const"><type>bool</type><parameter name="fpv"><paramtype>FPT</paramtype></parameter></method>
2309 </method-group>
2310 <constructor specifiers="explicit"><parameter name="tolerance"><paramtype>FPT</paramtype></parameter></constructor>
2311 </class><struct name="tolerance_based"><template>
2312       <template-type-parameter name="T"/>
2313     </template><inherit access="public">tolerance_based_delegate::type&lt; T, !is_array&lt; T &gt;::value &amp;&amp;!is_abstract_class_or_function&lt; T &gt;::value &gt;</inherit><purpose>Indicates if a type can be compared using a tolerance scheme. </purpose><description><para>This is a metafunction that should evaluate to <computeroutput>mpl::true_</computeroutput> if the type <computeroutput>T</computeroutput> can be compared using a tolerance based method, typically for floating point types.</para><para>This metafunction can be specialized further to declare user types that are floating point (eg. boost.multiprecision). </para></description></struct><struct name="tolerance_based_delegate"><template>
2314       <template-type-parameter name="T"/>
2315       <template-nontype-parameter name="enabled"><type>bool</type></template-nontype-parameter>
2316     </template></struct><struct-specialization name="tolerance_based_delegate"><template>
2317       <template-type-parameter name="T"/>
2318     </template><specialization><template-arg>T</template-arg><template-arg>false</template-arg></specialization><inherit access="public">false_</inherit></struct-specialization><struct-specialization name="tolerance_based_delegate"><template>
2319       <template-type-parameter name="T"/>
2320     </template><specialization><template-arg>T</template-arg><template-arg>true</template-arg></specialization><inherit access="public">mpl::bool_&lt; is_floating_point&lt; T &gt;::value||(!std::numeric_limits&lt; T &gt;::is_integer &amp;&amp;std::numeric_limits&lt; T &gt;::is_specialized &amp;&amp;!std::numeric_limits&lt; T &gt;::is_exact)&gt;</inherit></struct-specialization><enum name="strength"><enumvalue name="FPC_STRONG"><purpose>"Very close" - equation 2' in docs, the default </purpose></enumvalue><enumvalue name="FPC_WEAK"><purpose>"Close enough" - equation 3' in docs. </purpose></enumvalue><purpose>Method for comparing floating point numbers. </purpose></enum>
2321 <function name="operator&lt;&lt;"><type>std::ostream &amp;</type><template>
2322           <template-type-parameter name="FPT"/>
2323         </template><parameter name="out"><paramtype>std::ostream &amp;</paramtype></parameter><parameter name="t"><paramtype><classname>percent_tolerance_t</classname>&lt; FPT &gt;</paramtype></parameter></function>
2324 <function name="percent_tolerance"><type><classname>percent_tolerance_t</classname>&lt; FPT &gt;</type><template>
2325           <template-type-parameter name="FPT"/>
2326         </template><parameter name="v"><paramtype>FPT</paramtype></parameter></function>
2327 <function name="is_small"><type>bool</type><template>
2328           <template-type-parameter name="FPT"/>
2329         </template><parameter name="fpv"><paramtype>FPT</paramtype></parameter><parameter name="tolerance"><paramtype>FPT</paramtype></parameter></function>
2330 </namespace>
2331 </namespace>
2332 </namespace>
2333 </header>
2334 <header name="boost/test/tools/output_test_stream.hpp">
2335 <para>output_test_stream class definition </para><namespace name="boost">
2336 <namespace name="test_tools">
2337 <class name="output_test_stream"><inherit access="public">wrapped_stream</inherit><purpose>Class to be used to simplify testing of ostream-based output operations. </purpose><method-group name="public member functions">
2338 <method name="is_empty" specifiers="virtual"><type><classname>assertion_result</classname></type><parameter name="flush_stream"><paramtype>bool</paramtype><default>true</default><description><para>if true, flushes the stream after the call </para></description></parameter><purpose>Checks if the stream is empty. </purpose><description><para>
2339 </para></description></method>
2340 <method name="check_length" specifiers="virtual"><type><classname>assertion_result</classname></type><parameter name="length"><paramtype>std::size_t</paramtype><description><para>target length </para></description></parameter><parameter name="flush_stream"><paramtype>bool</paramtype><default>true</default><description><para>if true, flushes the stream after the call. Set to false to call additional checks on the same content. </para></description></parameter><purpose>Checks the length of the stream. </purpose><description><para>
2341 </para></description></method>
2342 <method name="is_equal" specifiers="virtual"><type><classname>assertion_result</classname></type><parameter name="arg_"><paramtype>const_string</paramtype><description><para>the target stream </para></description></parameter><parameter name="flush_stream"><paramtype>bool</paramtype><default>true</default><description><para>if true, flushes the stream after the call. </para></description></parameter><purpose>Checks the content of the stream against a string. </purpose><description><para>
2343 </para></description></method>
2344 <method name="match_pattern" specifiers="virtual"><type><classname>assertion_result</classname></type><parameter name="flush_stream"><paramtype>bool</paramtype><default>true</default><description><para>if true, flushes/resets the stream after the call. </para></description></parameter><purpose>Checks the content of the stream against a pattern file. </purpose><description><para>
2345 </para></description></method>
2346 <method name="flush"><type>void</type><purpose>Flushes the stream. </purpose></method>
2347 </method-group>
2348 <constructor specifiers="explicit"><parameter name="pattern_file_name"><paramtype>const_string</paramtype><default>const_string()</default><description><para>indicates the name of the file for matching. If the string is empty, the standard input or output streams are used instead (depending on match_or_save) </para></description></parameter><parameter name="match_or_save"><paramtype>bool</paramtype><default>true</default><description><para>if true, the pattern file will be read, otherwise it will be written </para></description></parameter><parameter name="text_or_binary"><paramtype>bool</paramtype><default>true</default><description><para>if false, opens the stream in binary mode. Otherwise the stream is opened with default flags and the carriage returns are ignored. </para></description></parameter><purpose>Constructor. </purpose><description><para>
2349 </para></description></constructor>
2350 <destructor/>
2351 <method-group name="protected member functions">
2352 <method name="get_stream_string_representation" cv="const" specifiers="virtual"><type>std::string</type><purpose>Returns the string representation of the stream. </purpose><description><para>May be overriden in order to mutate the string before the matching operations. </para></description></method>
2353 </method-group>
2354 <method-group name="private member functions">
2355 <method name="length"><type>std::size_t</type><purpose>Length of the stream. </purpose></method>
2356 <method name="sync" specifiers="virtual"><type>void</type><purpose>Synching the stream into an internal string representation. </purpose></method>
2357 </method-group>
2358 </class>
2359
2360
2361
2362
2363
2364 </namespace>
2365 </namespace>
2366 </header>
2367 <header name="boost/test/tree/observer.hpp">
2368 <para>defines abstract interface for test observer </para><namespace name="boost">
2369 <namespace name="unit_test">
2370 <class name="test_observer"><purpose>Generic test observer interface. </purpose><description><para>This interface is used by observers in order to receive notifications from the Boost.Test framework on the current execution state.</para><para>Several observers can be running at the same time, and it is not unusual to have interactions among them. The test_observer::priority member function allows the specification of a particular order among them (lowest priority executed first, except specified otherwise). </para></description><method-group name="public member functions">
2371 <method name="test_start" specifiers="virtual"><type>void</type><parameter name=""><paramtype>counter_t</paramtype></parameter><purpose>Called before the framework starts executing the test cases. </purpose><description><para>
2372 </para></description></method>
2373 <method name="test_finish" specifiers="virtual"><type>void</type><purpose>Called after the framework ends executing the test cases. </purpose><description><para><note><para>The call is made with a reversed priority order. </para>
2374 </note>
2375 </para></description></method>
2376 <method name="test_aborted" specifiers="virtual"><type>void</type><purpose>Called when a critical error is detected. </purpose><description><para>The critical errors are mainly the signals sent by the system and caught by the Boost.Test framework. Since the running binary may be in incoherent/instable state, the test execution is aborted and all remaining tests are discarded.</para><para><note><para>may be called before test_observer::test_unit_finish() </para>
2377 </note>
2378 </para></description></method>
2379 <method name="test_unit_start" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><purpose>Called before the framework starts executing a test unit. </purpose><description><para>
2380 </para></description></method>
2381 <method name="test_unit_finish" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><parameter name=""><paramtype>unsigned long</paramtype></parameter><purpose>Called at each end of a test unit. </purpose><description><para>
2382 </para></description></method>
2383 <method name="test_unit_skipped" specifiers="virtual"><type>void</type><parameter name="tu"><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><parameter name=""><paramtype>const_string</paramtype></parameter></method>
2384 <method name="test_unit_skipped" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><purpose>backward compatibility </purpose></method>
2385 <method name="test_unit_timed_out" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><purpose>Called when the test timed out. </purpose><description><para>This function is called to signal that a test unit (case or suite) timed out. A valid test unit is available through boost::unit_test::framework::current_test_unit </para></description></method>
2386 <method name="test_unit_aborted" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><purpose>Called when a test unit indicates a fatal error. </purpose><description><para>A fatal error happens when<itemizedlist>
2387 <listitem><para>a strong assertion (with <computeroutput>REQUIRE</computeroutput>) fails, which indicates that the test case cannot continue</para>
2388 </listitem><listitem><para>an unexpected exception is caught by the Boost.Test framework </para>
2389 </listitem></itemizedlist>
2390 </para></description></method>
2391 <method name="assertion_result" specifiers="virtual"><type>void</type><parameter name=""><paramtype>unit_test::assertion_result</paramtype></parameter></method>
2392 <method name="exception_caught" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>execution_exception</classname> const &amp;</paramtype></parameter><purpose>Called when an exception is intercepted. </purpose><description><para>In case an exception is intercepted, this call happens before the call to test_unit_aborted in order to log additional data about the exception. </para></description></method>
2393 <method name="priority" specifiers="virtual"><type>int</type><purpose>The priority indicates the order at which this observer is initialized and tore down in the UTF framework. The order is lowest to highest priority. </purpose></method>
2394 </method-group>
2395 <method-group name="protected member functions">
2396 </method-group>
2397 <destructor/>
2398 </class>
2399
2400
2401
2402
2403
2404 </namespace>
2405 </namespace>
2406 </header>
2407 <header name="boost/test/tree/test_unit.hpp">
2408 <para>Defines <classname alt="boost::unit_test::test_unit">test_unit</classname>, <classname alt="boost::unit_test::test_case">test_case</classname>, <classname alt="boost::unit_test::test_suite">test_suite</classname> and <classname alt="boost::unit_test::master_test_suite_t">master_test_suite_t</classname>. </para><namespace name="boost">
2409 <namespace name="unit_test">
2410 <class name="master_test_suite_t"><inherit access="public">boost::unit_test::test_suite</inherit><data-member name="argc"><type>int</type></data-member>
2411 <data-member name="argv"><type>char **</type></data-member>
2412 <data-member name="p_type"><type>test_unit_type const</type><purpose>type for this test unit </purpose></data-member>
2413 <data-member name="p_type_name"><type>const_string const</type><purpose>"case"/"suite"/"module" </purpose></data-member>
2414 <data-member name="p_file_name"><type>const_string const</type></data-member>
2415 <data-member name="p_line_num"><type>std::size_t const</type></data-member>
2416 <data-member name="p_id"><type>id_t</type><purpose>unique id for this test unit </purpose></data-member>
2417 <data-member name="p_parent_id"><type>parent_id_t</type><purpose>parent test suite id </purpose></data-member>
2418 <data-member name="p_labels"><type>label_list_t</type><purpose>list of labels associated with this test unit </purpose></data-member>
2419 <data-member name="p_dependencies"><type>id_list_t</type><purpose>list of test units this one depends on </purpose></data-member>
2420 <data-member name="p_preconditions"><type>precond_list_t</type><purpose>user supplied preconditions for this test unit; </purpose></data-member>
2421 <data-member name="p_name"><type>readwrite_property&lt; std::string &gt;</type><purpose>name for this test unit </purpose></data-member>
2422 <data-member name="p_description"><type>readwrite_property&lt; std::string &gt;</type><purpose>description for this test unit </purpose></data-member>
2423 <data-member name="p_timeout"><type>readwrite_property&lt; unsigned &gt;</type><purpose>timeout for the test unit execution in seconds </purpose></data-member>
2424 <data-member name="p_expected_failures"><type>readwrite_property&lt; counter_t &gt;</type><purpose>number of expected failures in this test unit </purpose></data-member>
2425 <data-member name="p_default_status"><type>readwrite_property&lt; run_status &gt;</type><purpose>run status obtained by this unit during setup phase </purpose></data-member>
2426 <data-member name="p_run_status"><type>readwrite_property&lt; run_status &gt;</type><purpose>run status assigned to this unit before execution phase after applying all filters </purpose></data-member>
2427 <data-member name="p_sibling_rank"><type>readwrite_property&lt; counter_t &gt;</type><purpose>rank of this test unit amoung siblings of the same parent </purpose></data-member>
2428 <data-member name="p_decorators"><type>readwrite_property&lt; decor_list_t &gt;</type><purpose>automatically assigned decorators; execution is delayed till framework::finalize_setup_phase function </purpose></data-member>
2429 <data-member name="p_fixtures"><type>readwrite_property&lt; fixture_list_t &gt;</type><purpose>fixtures associated with this test unit </purpose></data-member>
2430 <method-group name="private member functions">
2431 </method-group>
2432 <constructor/>
2433 <constructor><parameter name=""><paramtype>const <classname>master_test_suite_t</classname> &amp;</paramtype></parameter></constructor>
2434 <copy-assignment><type><classname>master_test_suite_t</classname> &amp;</type><parameter name=""><paramtype><classname>master_test_suite_t</classname> const &amp;</paramtype></parameter></copy-assignment>
2435 <enum name="@2"><enumvalue name="type"><default>= TUT_SUITE</default></enumvalue></enum>
2436 <enum name="@0"><enumvalue name="type"><default>= TUT_ANY</default></enumvalue></enum>
2437 <enum name="run_status"><enumvalue name="RS_DISABLED"/><enumvalue name="RS_ENABLED"/><enumvalue name="RS_INHERIT"/><enumvalue name="RS_INVALID"/></enum>
2438 <typedef name="id_list"><type>std::vector&lt; test_unit_id &gt;</type></typedef>
2439 <typedef name="fixture_list_t"><type>std::vector&lt; test_unit_fixture_ptr &gt;</type></typedef>
2440 <typedef name="decor_list_t"><type>std::vector&lt; decorator::base_ptr &gt;</type></typedef>
2441 <typedef name="precondition_t"><type>boost::function&lt; <classname>test_tools::assertion_result</classname>(test_unit_id)&gt;</type></typedef>
2442 <method-group name="public member functions">
2443 <method name="add"><type>void</type><parameter name="tu"><paramtype><classname>test_unit</classname> *</paramtype></parameter><parameter name="expected_failures"><paramtype>counter_t</paramtype><default>0</default></parameter><parameter name="timeout"><paramtype>unsigned</paramtype><default>0</default></parameter><purpose>Adds a test unit to a test suite. </purpose><description><para>It is possible to specify the timeout and the expected failures. </para></description></method>
2444 <method name="add"><type>void</type><parameter name="gen"><paramtype><classname>test_unit_generator</classname> const &amp;</paramtype></parameter><parameter name="timeout"><paramtype>unsigned</paramtype><default>0</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></description></method>
2445 <method name="add"><type>void</type><parameter name="gen"><paramtype><classname>test_unit_generator</classname> const &amp;</paramtype></parameter><parameter name="decorators"><paramtype>decorator::collector_t &amp;</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>
2446 <method name="add"><type>void</type><parameter name="gen_ptr"><paramtype>boost::shared_ptr&lt; <classname>test_unit_generator</classname> &gt;</paramtype></parameter><parameter name="decorators"><paramtype>decorator::collector_t &amp;</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>
2447 <method name="remove"><type>void</type><parameter name="id"><paramtype>test_unit_id</paramtype></parameter><purpose>Removes a test from the test suite. </purpose></method>
2448 <method name="generate"><type>void</type><purpose>Generates all the delayed test_units from the generators. </purpose></method>
2449 <method name="check_for_duplicate_test_cases"><type>void</type><purpose>Check for duplicates name in test cases. </purpose><description><para>Raises a setup_error if there are duplicates </para></description></method>
2450 <method name="get" cv="const"><type>test_unit_id</type><parameter name="tu_name"><paramtype>const_string</paramtype></parameter></method>
2451 <method name="size" cv="const"><type>std::size_t</type></method>
2452 <method name="BOOST_READONLY_PROPERTY"><type>typedef</type><parameter name=""><paramtype>test_unit_id</paramtype></parameter><parameter name=""><paramtype>(framework::state)</paramtype></parameter></method>
2453 <method name="BOOST_READONLY_PROPERTY"><type>typedef</type><parameter name=""><paramtype>test_unit_id</paramtype></parameter><parameter name=""><paramtype>(<classname>test_suite</classname>)</paramtype></parameter></method>
2454 <method name="BOOST_READONLY_PROPERTY"><type>typedef</type><parameter name=""><paramtype>id_list</paramtype></parameter><parameter name=""><paramtype>(<classname>test_unit</classname>)</paramtype></parameter></method>
2455 <method name="BOOST_READONLY_PROPERTY"><type>typedef</type><parameter name=""><paramtype>std::vector&lt; std::string &gt;</paramtype></parameter><parameter name=""><paramtype>(<classname>test_unit</classname>)</paramtype></parameter></method>
2456 <method name="BOOST_READONLY_PROPERTY"><type>typedef</type><parameter name=""><paramtype>std::vector&lt; precondition_t &gt;</paramtype></parameter><parameter name=""><paramtype>(<classname>test_unit</classname>)</paramtype></parameter></method>
2457 <method name="depends_on"><type>void</type><parameter name="tu"><paramtype><classname>test_unit</classname> *</paramtype></parameter></method>
2458 <method name="add_precondition"><type>void</type><parameter name=""><paramtype>precondition_t const &amp;</paramtype></parameter></method>
2459 <method name="check_preconditions" cv="const"><type><classname>test_tools::assertion_result</classname></type></method>
2460 <method name="add_label"><type>void</type><parameter name="l"><paramtype>const_string</paramtype></parameter></method>
2461 <method name="has_label" cv="const"><type>bool</type><parameter name="l"><paramtype>const_string</paramtype></parameter></method>
2462 <method name="increase_exp_fail"><type>void</type><parameter name="num"><paramtype>counter_t</paramtype></parameter></method>
2463 <method name="is_enabled" cv="const"><type>bool</type></method>
2464 <method name="full_name" cv="const"><type>std::string</type></method>
2465 </method-group>
2466 </class><class name="test_case"><inherit access="public">boost::unit_test::test_unit</inherit><enum name="@1"><enumvalue name="type"><default>= TUT_CASE</default></enumvalue></enum>
2467 <enum name="@0"><enumvalue name="type"><default>= TUT_ANY</default></enumvalue></enum>
2468 <enum name="run_status"><enumvalue name="RS_DISABLED"/><enumvalue name="RS_ENABLED"/><enumvalue name="RS_INHERIT"/><enumvalue name="RS_INVALID"/></enum>
2469 <typedef name="id_list"><type>std::vector&lt; test_unit_id &gt;</type></typedef>
2470 <typedef name="fixture_list_t"><type>std::vector&lt; test_unit_fixture_ptr &gt;</type></typedef>
2471 <typedef name="decor_list_t"><type>std::vector&lt; decorator::base_ptr &gt;</type></typedef>
2472 <typedef name="precondition_t"><type>boost::function&lt; <classname>test_tools::assertion_result</classname>(test_unit_id)&gt;</type></typedef>
2473 <data-member name="p_test_func"><type>test_func</type></data-member>
2474 <data-member name="p_type"><type>test_unit_type const</type><purpose>type for this test unit </purpose></data-member>
2475 <data-member name="p_type_name"><type>const_string const</type><purpose>"case"/"suite"/"module" </purpose></data-member>
2476 <data-member name="p_file_name"><type>const_string const</type></data-member>
2477 <data-member name="p_line_num"><type>std::size_t const</type></data-member>
2478 <data-member name="p_id"><type>id_t</type><purpose>unique id for this test unit </purpose></data-member>
2479 <data-member name="p_parent_id"><type>parent_id_t</type><purpose>parent test suite id </purpose></data-member>
2480 <data-member name="p_labels"><type>label_list_t</type><purpose>list of labels associated with this test unit </purpose></data-member>
2481 <data-member name="p_dependencies"><type>id_list_t</type><purpose>list of test units this one depends on </purpose></data-member>
2482 <data-member name="p_preconditions"><type>precond_list_t</type><purpose>user supplied preconditions for this test unit; </purpose></data-member>
2483 <data-member name="p_name"><type>readwrite_property&lt; std::string &gt;</type><purpose>name for this test unit </purpose></data-member>
2484 <data-member name="p_description"><type>readwrite_property&lt; std::string &gt;</type><purpose>description for this test unit </purpose></data-member>
2485 <data-member name="p_timeout"><type>readwrite_property&lt; unsigned &gt;</type><purpose>timeout for the test unit execution in seconds </purpose></data-member>
2486 <data-member name="p_expected_failures"><type>readwrite_property&lt; counter_t &gt;</type><purpose>number of expected failures in this test unit </purpose></data-member>
2487 <data-member name="p_default_status"><type>readwrite_property&lt; run_status &gt;</type><purpose>run status obtained by this unit during setup phase </purpose></data-member>
2488 <data-member name="p_run_status"><type>readwrite_property&lt; run_status &gt;</type><purpose>run status assigned to this unit before execution phase after applying all filters </purpose></data-member>
2489 <data-member name="p_sibling_rank"><type>readwrite_property&lt; counter_t &gt;</type><purpose>rank of this test unit amoung siblings of the same parent </purpose></data-member>
2490 <data-member name="p_decorators"><type>readwrite_property&lt; decor_list_t &gt;</type><purpose>automatically assigned decorators; execution is delayed till framework::finalize_setup_phase function </purpose></data-member>
2491 <data-member name="p_fixtures"><type>readwrite_property&lt; fixture_list_t &gt;</type><purpose>fixtures associated with this test unit </purpose></data-member>
2492 <method-group name="public member functions">
2493 <method name="BOOST_READONLY_PROPERTY"><type>typedef</type><parameter name=""><paramtype>boost::function&lt; void()&gt;</paramtype></parameter><parameter name=""><paramtype>(<classname>test_case</classname>)</paramtype></parameter></method>
2494 <method name="BOOST_READONLY_PROPERTY"><type>typedef</type><parameter name=""><paramtype>test_unit_id</paramtype></parameter><parameter name=""><paramtype>(framework::state)</paramtype></parameter></method>
2495 <method name="BOOST_READONLY_PROPERTY"><type>typedef</type><parameter name=""><paramtype>test_unit_id</paramtype></parameter><parameter name=""><paramtype>(<classname>test_suite</classname>)</paramtype></parameter></method>
2496 <method name="BOOST_READONLY_PROPERTY"><type>typedef</type><parameter name=""><paramtype>id_list</paramtype></parameter><parameter name=""><paramtype>(<classname>test_unit</classname>)</paramtype></parameter></method>
2497 <method name="BOOST_READONLY_PROPERTY"><type>typedef</type><parameter name=""><paramtype>std::vector&lt; std::string &gt;</paramtype></parameter><parameter name=""><paramtype>(<classname>test_unit</classname>)</paramtype></parameter></method>
2498 <method name="BOOST_READONLY_PROPERTY"><type>typedef</type><parameter name=""><paramtype>std::vector&lt; precondition_t &gt;</paramtype></parameter><parameter name=""><paramtype>(<classname>test_unit</classname>)</paramtype></parameter></method>
2499 <method name="depends_on"><type>void</type><parameter name="tu"><paramtype><classname>test_unit</classname> *</paramtype></parameter></method>
2500 <method name="add_precondition"><type>void</type><parameter name=""><paramtype>precondition_t const &amp;</paramtype></parameter></method>
2501 <method name="check_preconditions" cv="const"><type><classname>test_tools::assertion_result</classname></type></method>
2502 <method name="add_label"><type>void</type><parameter name="l"><paramtype>const_string</paramtype></parameter></method>
2503 <method name="has_label" cv="const"><type>bool</type><parameter name="l"><paramtype>const_string</paramtype></parameter></method>
2504 <method name="increase_exp_fail"><type>void</type><parameter name="num"><paramtype>counter_t</paramtype></parameter></method>
2505 <method name="is_enabled" cv="const"><type>bool</type></method>
2506 <method name="full_name" cv="const"><type>std::string</type></method>
2507 </method-group>
2508 <constructor><parameter name="tc_name"><paramtype>const_string</paramtype></parameter><parameter name="test_func"><paramtype>boost::function&lt; void()&gt; const &amp;</paramtype></parameter></constructor>
2509 <constructor><parameter name="tc_name"><paramtype>const_string</paramtype></parameter><parameter name="tc_file"><paramtype>const_string</paramtype></parameter><parameter name="tc_line"><paramtype>std::size_t</paramtype></parameter><parameter name="test_func"><paramtype>boost::function&lt; void()&gt; const &amp;</paramtype></parameter></constructor>
2510 <method-group name="private member functions">
2511 </method-group>
2512 <destructor/>
2513 </class><class name="test_suite"><inherit access="public">boost::unit_test::test_unit</inherit><purpose>Class representing test suites. </purpose><enum name="@2"><enumvalue name="type"><default>= TUT_SUITE</default></enumvalue></enum>
2514 <enum name="@0"><enumvalue name="type"><default>= TUT_ANY</default></enumvalue></enum>
2515 <enum name="run_status"><enumvalue name="RS_DISABLED"/><enumvalue name="RS_ENABLED"/><enumvalue name="RS_INHERIT"/><enumvalue name="RS_INVALID"/></enum>
2516 <typedef name="id_list"><type>std::vector&lt; test_unit_id &gt;</type></typedef>
2517 <typedef name="fixture_list_t"><type>std::vector&lt; test_unit_fixture_ptr &gt;</type></typedef>
2518 <typedef name="decor_list_t"><type>std::vector&lt; decorator::base_ptr &gt;</type></typedef>
2519 <typedef name="precondition_t"><type>boost::function&lt; <classname>test_tools::assertion_result</classname>(test_unit_id)&gt;</type></typedef>
2520 <method-group name="public member functions">
2521 <method name="add"><type>void</type><parameter name="tu"><paramtype><classname>test_unit</classname> *</paramtype></parameter><parameter name="expected_failures"><paramtype>counter_t</paramtype><default>0</default></parameter><parameter name="timeout"><paramtype>unsigned</paramtype><default>0</default></parameter><purpose>Adds a test unit to a test suite. </purpose><description><para>It is possible to specify the timeout and the expected failures. </para></description></method>
2522 <method name="add"><type>void</type><parameter name="gen"><paramtype><classname>test_unit_generator</classname> const &amp;</paramtype></parameter><parameter name="timeout"><paramtype>unsigned</paramtype><default>0</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></description></method>
2523 <method name="add"><type>void</type><parameter name="gen"><paramtype><classname>test_unit_generator</classname> const &amp;</paramtype></parameter><parameter name="decorators"><paramtype>decorator::collector_t &amp;</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>
2524 <method name="add"><type>void</type><parameter name="gen_ptr"><paramtype>boost::shared_ptr&lt; <classname>test_unit_generator</classname> &gt;</paramtype></parameter><parameter name="decorators"><paramtype>decorator::collector_t &amp;</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>
2525 <method name="remove"><type>void</type><parameter name="id"><paramtype>test_unit_id</paramtype></parameter><purpose>Removes a test from the test suite. </purpose></method>
2526 <method name="generate"><type>void</type><purpose>Generates all the delayed test_units from the generators. </purpose></method>
2527 <method name="check_for_duplicate_test_cases"><type>void</type><purpose>Check for duplicates name in test cases. </purpose><description><para>Raises a setup_error if there are duplicates </para></description></method>
2528 <method name="get" cv="const"><type>test_unit_id</type><parameter name="tu_name"><paramtype>const_string</paramtype></parameter></method>
2529 <method name="size" cv="const"><type>std::size_t</type></method>
2530 <method name="BOOST_READONLY_PROPERTY"><type>typedef</type><parameter name=""><paramtype>test_unit_id</paramtype></parameter><parameter name=""><paramtype>(framework::state)</paramtype></parameter></method>
2531 <method name="BOOST_READONLY_PROPERTY"><type>typedef</type><parameter name=""><paramtype>test_unit_id</paramtype></parameter><parameter name=""><paramtype>(<classname>test_suite</classname>)</paramtype></parameter></method>
2532 <method name="BOOST_READONLY_PROPERTY"><type>typedef</type><parameter name=""><paramtype>id_list</paramtype></parameter><parameter name=""><paramtype>(<classname>test_unit</classname>)</paramtype></parameter></method>
2533 <method name="BOOST_READONLY_PROPERTY"><type>typedef</type><parameter name=""><paramtype>std::vector&lt; std::string &gt;</paramtype></parameter><parameter name=""><paramtype>(<classname>test_unit</classname>)</paramtype></parameter></method>
2534 <method name="BOOST_READONLY_PROPERTY"><type>typedef</type><parameter name=""><paramtype>std::vector&lt; precondition_t &gt;</paramtype></parameter><parameter name=""><paramtype>(<classname>test_unit</classname>)</paramtype></parameter></method>
2535 <method name="depends_on"><type>void</type><parameter name="tu"><paramtype><classname>test_unit</classname> *</paramtype></parameter></method>
2536 <method name="add_precondition"><type>void</type><parameter name=""><paramtype>precondition_t const &amp;</paramtype></parameter></method>
2537 <method name="check_preconditions" cv="const"><type><classname>test_tools::assertion_result</classname></type></method>
2538 <method name="add_label"><type>void</type><parameter name="l"><paramtype>const_string</paramtype></parameter></method>
2539 <method name="has_label" cv="const"><type>bool</type><parameter name="l"><paramtype>const_string</paramtype></parameter></method>
2540 <method name="increase_exp_fail"><type>void</type><parameter name="num"><paramtype>counter_t</paramtype></parameter></method>
2541 <method name="is_enabled" cv="const"><type>bool</type></method>
2542 <method name="full_name" cv="const"><type>std::string</type></method>
2543 </method-group>
2544 <constructor specifiers="explicit"><parameter name="ts_name"><paramtype>const_string</paramtype></parameter><parameter name="ts_file"><paramtype>const_string</paramtype></parameter><parameter name="ts_line"><paramtype>std::size_t</paramtype></parameter></constructor>
2545 <method-group name="protected member functions">
2546 </method-group>
2547 <constructor specifiers="explicit"><parameter name="module_name"><paramtype>const_string</paramtype></parameter></constructor>
2548 <destructor/>
2549 <data-member name="p_type"><type>test_unit_type const</type><purpose>type for this test unit </purpose></data-member>
2550 <data-member name="p_type_name"><type>const_string const</type><purpose>"case"/"suite"/"module" </purpose></data-member>
2551 <data-member name="p_file_name"><type>const_string const</type></data-member>
2552 <data-member name="p_line_num"><type>std::size_t const</type></data-member>
2553 <data-member name="p_id"><type>id_t</type><purpose>unique id for this test unit </purpose></data-member>
2554 <data-member name="p_parent_id"><type>parent_id_t</type><purpose>parent test suite id </purpose></data-member>
2555 <data-member name="p_labels"><type>label_list_t</type><purpose>list of labels associated with this test unit </purpose></data-member>
2556 <data-member name="p_dependencies"><type>id_list_t</type><purpose>list of test units this one depends on </purpose></data-member>
2557 <data-member name="p_preconditions"><type>precond_list_t</type><purpose>user supplied preconditions for this test unit; </purpose></data-member>
2558 <data-member name="p_name"><type>readwrite_property&lt; std::string &gt;</type><purpose>name for this test unit </purpose></data-member>
2559 <data-member name="p_description"><type>readwrite_property&lt; std::string &gt;</type><purpose>description for this test unit </purpose></data-member>
2560 <data-member name="p_timeout"><type>readwrite_property&lt; unsigned &gt;</type><purpose>timeout for the test unit execution in seconds </purpose></data-member>
2561 <data-member name="p_expected_failures"><type>readwrite_property&lt; counter_t &gt;</type><purpose>number of expected failures in this test unit </purpose></data-member>
2562 <data-member name="p_default_status"><type>readwrite_property&lt; run_status &gt;</type><purpose>run status obtained by this unit during setup phase </purpose></data-member>
2563 <data-member name="p_run_status"><type>readwrite_property&lt; run_status &gt;</type><purpose>run status assigned to this unit before execution phase after applying all filters </purpose></data-member>
2564 <data-member name="p_sibling_rank"><type>readwrite_property&lt; counter_t &gt;</type><purpose>rank of this test unit amoung siblings of the same parent </purpose></data-member>
2565 <data-member name="p_decorators"><type>readwrite_property&lt; decor_list_t &gt;</type><purpose>automatically assigned decorators; execution is delayed till framework::finalize_setup_phase function </purpose></data-member>
2566 <data-member name="p_fixtures"><type>readwrite_property&lt; fixture_list_t &gt;</type><purpose>fixtures associated with this test unit </purpose></data-member>
2567 </class><class name="test_unit"><enum name="@0"><enumvalue name="type"><default>= TUT_ANY</default></enumvalue></enum>
2568 <enum name="run_status"><enumvalue name="RS_DISABLED"/><enumvalue name="RS_ENABLED"/><enumvalue name="RS_INHERIT"/><enumvalue name="RS_INVALID"/></enum>
2569 <typedef name="id_list"><type>std::vector&lt; test_unit_id &gt;</type></typedef>
2570 <typedef name="fixture_list_t"><type>std::vector&lt; test_unit_fixture_ptr &gt;</type></typedef>
2571 <typedef name="decor_list_t"><type>std::vector&lt; decorator::base_ptr &gt;</type></typedef>
2572 <typedef name="precondition_t"><type>boost::function&lt; <classname>test_tools::assertion_result</classname>(test_unit_id)&gt;</type></typedef>
2573 <data-member name="p_type"><type>test_unit_type const</type><purpose>type for this test unit </purpose></data-member>
2574 <data-member name="p_type_name"><type>const_string const</type><purpose>"case"/"suite"/"module" </purpose></data-member>
2575 <data-member name="p_file_name"><type>const_string const</type></data-member>
2576 <data-member name="p_line_num"><type>std::size_t const</type></data-member>
2577 <data-member name="p_id"><type>id_t</type><purpose>unique id for this test unit </purpose></data-member>
2578 <data-member name="p_parent_id"><type>parent_id_t</type><purpose>parent test suite id </purpose></data-member>
2579 <data-member name="p_labels"><type>label_list_t</type><purpose>list of labels associated with this test unit </purpose></data-member>
2580 <data-member name="p_dependencies"><type>id_list_t</type><purpose>list of test units this one depends on </purpose></data-member>
2581 <data-member name="p_preconditions"><type>precond_list_t</type><purpose>user supplied preconditions for this test unit; </purpose></data-member>
2582 <data-member name="p_name"><type>readwrite_property&lt; std::string &gt;</type><purpose>name for this test unit </purpose></data-member>
2583 <data-member name="p_description"><type>readwrite_property&lt; std::string &gt;</type><purpose>description for this test unit </purpose></data-member>
2584 <data-member name="p_timeout"><type>readwrite_property&lt; unsigned &gt;</type><purpose>timeout for the test unit execution in seconds </purpose></data-member>
2585 <data-member name="p_expected_failures"><type>readwrite_property&lt; counter_t &gt;</type><purpose>number of expected failures in this test unit </purpose></data-member>
2586 <data-member name="p_default_status"><type>readwrite_property&lt; run_status &gt;</type><purpose>run status obtained by this unit during setup phase </purpose></data-member>
2587 <data-member name="p_run_status"><type>readwrite_property&lt; run_status &gt;</type><purpose>run status assigned to this unit before execution phase after applying all filters </purpose></data-member>
2588 <data-member name="p_sibling_rank"><type>readwrite_property&lt; counter_t &gt;</type><purpose>rank of this test unit amoung siblings of the same parent </purpose></data-member>
2589 <data-member name="p_decorators"><type>readwrite_property&lt; decor_list_t &gt;</type><purpose>automatically assigned decorators; execution is delayed till framework::finalize_setup_phase function </purpose></data-member>
2590 <data-member name="p_fixtures"><type>readwrite_property&lt; fixture_list_t &gt;</type><purpose>fixtures associated with this test unit </purpose></data-member>
2591 <method-group name="public member functions">
2592 <method name="BOOST_READONLY_PROPERTY"><type>typedef</type><parameter name=""><paramtype>test_unit_id</paramtype></parameter><parameter name=""><paramtype>(framework::state)</paramtype></parameter></method>
2593 <method name="BOOST_READONLY_PROPERTY"><type>typedef</type><parameter name=""><paramtype>test_unit_id</paramtype></parameter><parameter name=""><paramtype>(<classname>test_suite</classname>)</paramtype></parameter></method>
2594 <method name="BOOST_READONLY_PROPERTY"><type>typedef</type><parameter name=""><paramtype>id_list</paramtype></parameter><parameter name=""><paramtype>(<classname>test_unit</classname>)</paramtype></parameter></method>
2595 <method name="BOOST_READONLY_PROPERTY"><type>typedef</type><parameter name=""><paramtype>std::vector&lt; std::string &gt;</paramtype></parameter><parameter name=""><paramtype>(<classname>test_unit</classname>)</paramtype></parameter></method>
2596 <method name="BOOST_READONLY_PROPERTY"><type>typedef</type><parameter name=""><paramtype>std::vector&lt; precondition_t &gt;</paramtype></parameter><parameter name=""><paramtype>(<classname>test_unit</classname>)</paramtype></parameter></method>
2597 <method name="depends_on"><type>void</type><parameter name="tu"><paramtype><classname>test_unit</classname> *</paramtype></parameter></method>
2598 <method name="add_precondition"><type>void</type><parameter name=""><paramtype>precondition_t const &amp;</paramtype></parameter></method>
2599 <method name="check_preconditions" cv="const"><type><classname>test_tools::assertion_result</classname></type></method>
2600 <method name="add_label"><type>void</type><parameter name="l"><paramtype>const_string</paramtype></parameter></method>
2601 <method name="has_label" cv="const"><type>bool</type><parameter name="l"><paramtype>const_string</paramtype></parameter></method>
2602 <method name="increase_exp_fail"><type>void</type><parameter name="num"><paramtype>counter_t</paramtype></parameter></method>
2603 <method name="is_enabled" cv="const"><type>bool</type></method>
2604 <method name="full_name" cv="const"><type>std::string</type></method>
2605 </method-group>
2606 <method-group name="protected member functions">
2607 </method-group>
2608 <destructor/>
2609 <constructor><parameter name="tu_name"><paramtype>const_string</paramtype></parameter><parameter name="tc_file"><paramtype>const_string</paramtype></parameter><parameter name="tc_line"><paramtype>std::size_t</paramtype></parameter><parameter name="t"><paramtype>test_unit_type</paramtype></parameter></constructor>
2610 <constructor specifiers="explicit"><parameter name="module_name"><paramtype>const_string</paramtype></parameter></constructor>
2611 </class><class name="test_unit_generator"><method-group name="public member functions">
2612 <method name="next" cv="const = 0" specifiers="virtual"><type><classname>test_unit</classname> *</type></method>
2613 </method-group>
2614 <method-group name="protected member functions">
2615 </method-group>
2616 <destructor/>
2617 </class><namespace name="framework">
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646 </namespace>
2647 <typedef name="test_unit_id_list"><type>std::vector&lt; test_unit_id &gt;</type></typedef>
2648
2649 <function name="make_test_case"><type><classname>test_case</classname> *</type><parameter name="test_func"><paramtype>boost::function&lt; void()&gt; const &amp;</paramtype></parameter><parameter name="tc_name"><paramtype>const_string</paramtype></parameter><parameter name="tc_file"><paramtype>const_string</paramtype></parameter><parameter name="tc_line"><paramtype>std::size_t</paramtype></parameter></function>
2650 <function name="make_test_case"><type><classname>test_case</classname> *</type><template>
2651           <template-type-parameter name="UserTestCase"/>
2652           <template-type-parameter name="InstanceType"/>
2653         </template><parameter name="test_method"><paramtype>void(UserTestCase::*)()</paramtype></parameter><parameter name="tc_name"><paramtype>const_string</paramtype></parameter><parameter name="tc_file"><paramtype>const_string</paramtype></parameter><parameter name="tc_line"><paramtype>std::size_t</paramtype></parameter><parameter name="user_test_case"><paramtype>boost::shared_ptr&lt; InstanceType &gt;</paramtype></parameter></function>
2654
2655
2656
2657 </namespace>
2658 </namespace>
2659 </header>
2660 <header name="boost/test/unit_test.hpp">
2661 <para>Entry point into the Unit Test Framework. </para><para>This header should be the only header necessary to include to start using the framework </para><namespace name="boost">
2662 <namespace name="unit_test">
2663 <function name="unit_test_main"><type>int</type><parameter name="init_func"><paramtype>init_unit_test_func</paramtype></parameter><parameter name="argc"><paramtype>int</paramtype></parameter><parameter name="argv"><paramtype>char *</paramtype></parameter></function>
2664
2665
2666
2667
2668
2669 </namespace>
2670 </namespace>
2671 <macro name="BOOST_LIB_NAME"/>
2672 </header>
2673 <header name="boost/test/unit_test_log.hpp">
2674 <para>defines singleton class unit_test_log and all manipulators. unit_test_log has output stream like interface. It's implementation is completely hidden with pimple idiom </para><namespace name="boost">
2675 <namespace name="unit_test">
2676 <class name="unit_test_log_t"><inherit access="public">boost::unit_test::test_observer</inherit><purpose>Manages the sets of loggers, their streams and log levels. </purpose><description><para>The Boost.Test framework allows for having several formatters/loggers at the same time, each of which having their own log level and output stream.</para><para>This class serves the purpose of<itemizedlist>
2677 <listitem><para>exposing an interface to the test framework (as a <classname alt="boost::unit_test::test_observer">boost::unit_test::test_observer</classname>)</para>
2678 </listitem><listitem><para>exposing an interface to the testing tools</para>
2679 </listitem><listitem><para>managing several loggers</para>
2680 </listitem></itemizedlist>
2681 </para><para><note><para>Accesses to the functions exposed by this class are made through the singleton <computeroutput>boost::unit_test::unit_test_log</computeroutput>.</para>
2682 </note>
2683 Users/developers willing to implement their own formatter need to:<itemizedlist>
2684 <listitem><para>implement a <classname alt="boost::unit_test::unit_test_log_formatter">boost::unit_test::unit_test_log_formatter</classname> that will output the desired format</para>
2685 </listitem><listitem><para>register the formatter during a eg. global fixture using the method <computeroutput>set_formatter</computeroutput> (though the framework singleton).</para>
2686 </listitem></itemizedlist>
2687 </para><para><warning><para>this observer has a higher priority than the <classname alt="boost::unit_test::results_collector_t">boost::unit_test::results_collector_t</classname>. This means that the various <classname alt="boost::unit_test::test_results">boost::unit_test::test_results</classname> associated to each test unit may not be available at the time the <computeroutput>test_unit_start</computeroutput>, <computeroutput>test_unit_finish</computeroutput> ... are called.</para>
2688 </warning>
2689 <para><emphasis role="bold">See Also:</emphasis><para><itemizedlist>
2690 <listitem><para><classname alt="boost::unit_test::test_observer">boost::unit_test::test_observer</classname></para>
2691 </listitem><listitem><para><classname alt="boost::unit_test::unit_test_log_formatter">boost::unit_test::unit_test_log_formatter</classname> </para>
2692 </listitem></itemizedlist>
2693 </para>
2694 </para>
2695 </para></description><method-group name="public member functions">
2696 <method name="test_start" specifiers="virtual"><type>void</type><parameter name=""><paramtype>counter_t</paramtype></parameter><purpose>Called before the framework starts executing the test cases. </purpose><description><para>
2697 </para></description></method>
2698 <method name="test_finish" specifiers="virtual"><type>void</type><purpose>Called after the framework ends executing the test cases. </purpose><description><para><note><para>The call is made with a reversed priority order. </para>
2699 </note>
2700 </para></description></method>
2701 <method name="test_aborted" specifiers="virtual"><type>void</type><purpose>Called when a critical error is detected. </purpose><description><para>The critical errors are mainly the signals sent by the system and caught by the Boost.Test framework. Since the running binary may be in incoherent/instable state, the test execution is aborted and all remaining tests are discarded.</para><para><note><para>may be called before test_observer::test_unit_finish() </para>
2702 </note>
2703 </para></description></method>
2704 <method name="test_unit_start" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><purpose>Called before the framework starts executing a test unit. </purpose><description><para>
2705 </para></description></method>
2706 <method name="test_unit_finish" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><parameter name=""><paramtype>unsigned long</paramtype></parameter><purpose>Called at each end of a test unit. </purpose><description><para>
2707 </para></description></method>
2708 <method name="test_unit_skipped" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><parameter name=""><paramtype>const_string</paramtype></parameter></method>
2709 <method name="test_unit_aborted" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><purpose>Called when a test unit indicates a fatal error. </purpose><description><para>A fatal error happens when<itemizedlist>
2710 <listitem><para>a strong assertion (with <computeroutput>REQUIRE</computeroutput>) fails, which indicates that the test case cannot continue</para>
2711 </listitem><listitem><para>an unexpected exception is caught by the Boost.Test framework </para>
2712 </listitem></itemizedlist>
2713 </para></description></method>
2714 <method name="test_unit_timed_out" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><purpose>Called when the test timed out. </purpose><description><para>This function is called to signal that a test unit (case or suite) timed out. A valid test unit is available through boost::unit_test::framework::current_test_unit </para></description></method>
2715 <method name="exception_caught" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>execution_exception</classname> const &amp;</paramtype></parameter><purpose>Called when an exception is intercepted. </purpose><description><para>In case an exception is intercepted, this call happens before the call to test_unit_aborted in order to log additional data about the exception. </para></description></method>
2716 <method name="priority" specifiers="virtual"><type>int</type><purpose>The priority indicates the order at which this observer is initialized and tore down in the UTF framework. The order is lowest to highest priority. </purpose></method>
2717 <method name="set_stream"><type>void</type><parameter name=""><paramtype>std::ostream &amp;</paramtype></parameter><purpose>Sets the stream for all loggers. </purpose><description><para>This will override the log sink/stream of all loggers, whether enabled or not. </para></description></method>
2718 <method name="set_stream"><type>void</type><parameter name=""><paramtype>output_format</paramtype></parameter><parameter name=""><paramtype>std::ostream &amp;</paramtype></parameter><purpose>Sets the stream for specific logger. </purpose><description><para><note><para>Has no effect if the specified format is not found </para>
2719 </note>
2720 <formalpara><title>Since Boost 1.62 </title><para/>
2721 </formalpara>
2722 </para></description></method>
2723 <method name="get_stream" cv="const"><type>std::ostream *</type><parameter name=""><paramtype>output_format</paramtype></parameter><purpose>Returns a pointer to the stream associated to specific logger. </purpose><description><para><note><para>Returns a null pointer if the format is not found </para>
2724 </note>
2725 <formalpara><title>Since Boost 1.67 </title><para/>
2726 </formalpara>
2727 </para></description></method>
2728 <method name="set_threshold_level"><type>void</type><parameter name=""><paramtype>log_level</paramtype></parameter><purpose>Sets the threshold level for all loggers/formatters. </purpose><description><para>This will override the log level of all loggers, whether enabled or not. </para></description></method>
2729 <method name="set_threshold_level"><type>void</type><parameter name=""><paramtype>output_format</paramtype></parameter><parameter name=""><paramtype>log_level</paramtype></parameter><purpose>Sets the threshold/log level of a specific format. </purpose><description><para><note><para>Has no effect if the specified format is not found </para>
2730 </note>
2731 <formalpara><title>Since Boost 1.62 </title><para/>
2732 </formalpara>
2733 </para></description></method>
2734 <method name="add_format"><type>void</type><parameter name=""><paramtype>output_format</paramtype></parameter><purpose>Add a format to the set of loggers. </purpose><description><para>Adding a logger means that the specified logger is enabled. The log level is managed by the formatter itself and specifies what events are forwarded to the underlying formatter. <formalpara><title>Since Boost 1.62 </title><para/>
2735 </formalpara>
2736 </para></description></method>
2737 <method name="set_format"><type>void</type><parameter name=""><paramtype>output_format</paramtype></parameter><purpose>Sets the format of the logger. </purpose><description><para>This will become the only active format of the logs. </para></description></method>
2738 <method name="get_formatter"><type><classname>unit_test_log_formatter</classname> *</type><parameter name=""><paramtype>output_format</paramtype></parameter><purpose>Returns the logger instance for a specific format. </purpose><description><para>
2739 <formalpara><title>Since Boost 1.62 </title><para/>
2740 </formalpara>
2741 </para></description><returns><para>the logger/formatter instance, or <computeroutput/>(unit_test_log_formatter*)0 if the format is not found. </para>
2742 </returns></method>
2743 <method name="set_formatter"><type>void</type><parameter name=""><paramtype><classname>unit_test_log_formatter</classname> *</paramtype></parameter><purpose>Sets the logger instance. </purpose><description><para>The specified logger becomes the unique active one. The custom log formatter has the format <computeroutput>OF_CUSTOM_LOGGER</computeroutput>. If such a format exists already, its formatter gets replaced by the one given in argument.</para><para>The log level and output stream of the new formatter are taken from the currently active logger. In case several loggers are active, the order of priority is CUSTOM, HRF, XML, and JUNIT. If (unit_test_log_formatter*)0 is given as argument, the custom logger (if any) is removed.</para><para><note><para>The ownership of the pointer is transfered to the Boost.Test framework. This call is equivalent to<itemizedlist>
2744 <listitem><para>a call to <computeroutput>add_formatter</computeroutput> </para>
2745 </listitem><listitem><para>a call to <computeroutput>set_format(OF_CUSTOM_LOGGER)</computeroutput> </para>
2746 </listitem><listitem><para>a configuration of the newly added logger with a previously configured stream and log level. </para>
2747 </listitem></itemizedlist>
2748 </para>
2749 </note>
2750 </para></description></method>
2751 <method name="add_formatter"><type>void</type><parameter name="the_formatter"><paramtype><classname>unit_test_log_formatter</classname> *</paramtype></parameter><purpose>Adds a custom log formatter to the set of formatters. </purpose><description><para>The specified logger is added with the format <computeroutput>OF_CUSTOM_LOGGER</computeroutput>, such that it can be futher selected or its stream/log level can be specified. If there is already a custom logger (with <computeroutput>OF_CUSTOM_LOGGER</computeroutput>), then the existing one gets replaced by the one given in argument. The provided logger is added with an enabled state. If (unit_test_log_formatter*)0 is given as argument, the custom logger (if any) is removed and no other action is performed.</para><para><note><para>The ownership of the pointer is transfered to the Boost.Test framework. </para>
2752 </note>
2753 <formalpara><title>Since Boost 1.62 </title><para/>
2754 </formalpara>
2755 </para></description></method>
2756 <method name="set_checkpoint"><type>void</type><parameter name="file"><paramtype>const_string</paramtype></parameter><parameter name="line_num"><paramtype>std::size_t</paramtype></parameter><parameter name="msg"><paramtype>const_string</paramtype><default>const_string()</default></parameter></method>
2757 <method name="operator&lt;&lt;"><type><classname>unit_test_log_t</classname> &amp;</type><parameter name=""><paramtype><classname>log::begin</classname> const &amp;</paramtype></parameter></method>
2758 <method name="operator&lt;&lt;"><type><classname>unit_test_log_t</classname> &amp;</type><parameter name=""><paramtype><classname>log::end</classname> const &amp;</paramtype></parameter></method>
2759 <method name="operator&lt;&lt;"><type><classname>unit_test_log_t</classname> &amp;</type><parameter name=""><paramtype>log_level</paramtype></parameter></method>
2760 <method name="operator&lt;&lt;"><type><classname>unit_test_log_t</classname> &amp;</type><parameter name=""><paramtype>const_string</paramtype></parameter></method>
2761 <method name="operator&lt;&lt;"><type><classname>unit_test_log_t</classname> &amp;</type><parameter name=""><paramtype>lazy_ostream const &amp;</paramtype></parameter></method>
2762 <method name="operator()"><type><emphasis>unspecified</emphasis></type><parameter name=""><paramtype>log_level</paramtype></parameter></method>
2763 <method name="test_unit_skipped" specifiers="virtual"><type>void</type><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><purpose>backward compatibility </purpose></method>
2764 <method name="assertion_result" specifiers="virtual"><type>void</type><parameter name=""><paramtype>unit_test::assertion_result</paramtype></parameter></method>
2765 </method-group>
2766 <method-group name="private member functions">
2767 <method name="log_entry_start"><type>bool</type><parameter name="log_format"><paramtype>output_format</paramtype></parameter></method>
2768 <method name="log_entry_context"><type>void</type><parameter name="l"><paramtype>log_level</paramtype></parameter></method>
2769 <method name="clear_entry_context"><type>void</type></method>
2770 </method-group>
2771 </class><namespace name="log">
2772 <struct name="begin"><data-member name="m_file_name"><type>const_string</type></data-member>
2773 <data-member name="m_line_num"><type>std::size_t</type></data-member>
2774 <method-group name="public member functions">
2775 </method-group>
2776 <constructor><parameter name="fn"><paramtype>const_string</paramtype></parameter><parameter name="ln"><paramtype>std::size_t</paramtype></parameter></constructor>
2777 </struct><struct name="end"/></namespace>
2778
2779
2780
2781
2782
2783
2784 </namespace>
2785 </namespace>
2786 <macro name="BOOST_TEST_LOG_ENTRY" kind="functionlike"><macro-parameter name="ll"/></macro>
2787 <macro name="BOOST_TEST_FRAMEWORK_MESSAGE" kind="functionlike"><macro-parameter name="M"/></macro>
2788 <macro name="BOOST_TEST_MESSAGE" kind="functionlike"><macro-parameter name="M"/></macro>
2789 <macro name="BOOST_TEST_PASSPOINT" kind="functionlike"><macro-parameter name=""/></macro>
2790 <macro name="BOOST_TEST_CHECKPOINT" kind="functionlike"><macro-parameter name="M"/></macro>
2791 </header>
2792 <header name="boost/test/unit_test_log_formatter.hpp">
2793 <para>Defines unit test log formatter interface. </para><para>You can define a class with implements this interface and use an instance of it as a Unit Test Framework log formatter </para><namespace name="boost">
2794 <namespace name="unit_test">
2795 <struct name="log_checkpoint_data"><purpose>Collection of log checkpoint attributes. </purpose><data-member name="m_file_name"><type>const_string</type><purpose>log checkpoint file name </purpose></data-member>
2796 <data-member name="m_line_num"><type>std::size_t</type><purpose>log checkpoint file name </purpose></data-member>
2797 <data-member name="m_message"><type>std::string</type><purpose>log checkpoint message </purpose></data-member>
2798 <method-group name="public member functions">
2799 <method name="clear"><type>void</type></method>
2800 </method-group>
2801 </struct><struct name="log_entry_data"><purpose>Collection of log entry attributes. </purpose><data-member name="m_file_name"><type>std::string</type><purpose>log entry file name </purpose></data-member>
2802 <data-member name="m_line_num"><type>std::size_t</type><purpose>log entry line number </purpose></data-member>
2803 <data-member name="m_level"><type>log_level</type><purpose>log entry level </purpose></data-member>
2804 <method-group name="public member functions">
2805 <method name="clear"><type>void</type></method>
2806 </method-group>
2807 <constructor/>
2808 </struct><class name="unit_test_log_formatter"><purpose>Abstract Unit Test Framework log formatter interface. </purpose><description><para>During the test module execution Unit Test Framework can report messages about success or failure of assertions, which test suites are being run and more (specifically which messages are reported depends on log level threshold selected by the user).</para><para>All these messages constitute Unit Test Framework log. There are many ways (formats) to present these messages to the user.</para><para>Boost.Test comes with three formats:<itemizedlist>
2809 <listitem><para>Compiler-like log format: intended for human consumption/diagnostic</para>
2810 </listitem><listitem><para>XML based log format: intended for processing by automated regression test systems.</para>
2811 </listitem><listitem><para>JUNIT based log format: intended for processing by automated regression test systems.</para>
2812 </listitem></itemizedlist>
2813 </para><para>If you want to produce some other format you need to implement class with specific interface and use method <computeroutput>unit_test_log_t::set_formatter</computeroutput> during a test module initialization to set an active formatter. The class <classname alt="boost::unit_test::unit_test_log_formatter">unit_test_log_formatter</classname> defines this interface.</para><para>This interface requires you to format all possible messages being produced in the log. These includes error messages about failed assertions, messages about caught exceptions and information messages about test units being started/ended. All the methods in this interface takes a reference to standard stream as a first argument. This is where final messages needs to be directed to. Also you are given all the information necessary to produce a message.</para><para><formalpara><title>Since Boost 1.62:</title><para><itemizedlist>
2814 <listitem><para>Each formatter may indicate the default output stream. This is convenient for instance for streams intended for automated processing that indicate a file. See <computeroutput>get_default_stream_description</computeroutput> for more details.</para>
2815 </listitem><listitem><para>Each formatter may manage its own log level through the getter/setter <computeroutput>get_log_level</computeroutput> and <computeroutput>set_log_level</computeroutput> .</para>
2816 </listitem></itemizedlist>
2817 </para>
2818 </formalpara>
2819 <para><emphasis role="bold">See Also:</emphasis><para><itemizedlist>
2820 <listitem><para><classname alt="boost::unit_test::test_observer">boost::unit_test::test_observer</classname> for an indication of the calls of the test observer interface </para>
2821 </listitem></itemizedlist>
2822 </para>
2823 </para>
2824 </para></description><enum name="log_entry_types"><enumvalue name="BOOST_UTL_ET_INFO"><purpose>Information message from the framework. </purpose></enumvalue><enumvalue name="BOOST_UTL_ET_MESSAGE"><purpose>Information message from the user. </purpose></enumvalue><enumvalue name="BOOST_UTL_ET_WARNING"><purpose>Warning (non error) condition notification message. </purpose></enumvalue><enumvalue name="BOOST_UTL_ET_ERROR"><purpose>Non fatal error notification message. </purpose></enumvalue><enumvalue name="BOOST_UTL_ET_FATAL_ERROR"><purpose>Fatal error notification message. </purpose></enumvalue><purpose>Types of log entries (messages written into a log) </purpose></enum>
2825 <method-group name="public member functions">
2826 <method name="log_start" cv="= 0" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages to </para></description></parameter><parameter name="test_cases_amount"><paramtype>counter_t</paramtype><description><para>total test case amount to be run </para></description></parameter><purpose>Invoked at the beginning of test module execution. </purpose><description><para>
2827 <para><emphasis role="bold">See Also:</emphasis><para>log_finish </para>
2828 </para>
2829 </para></description></method>
2830 <method name="log_finish" cv="= 0" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><purpose>Invoked at the end of test module execution. </purpose><description><para>
2831 <para><emphasis role="bold">See Also:</emphasis><para>log_start </para>
2832 </para>
2833 </para></description></method>
2834 <method name="log_build_info" cv="= 0" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="log_build_info"><paramtype>bool</paramtype><default>true</default><description><para>indicates if build info should be logged or not </para></description></parameter><purpose>Invoked when Unit Test Framework build information is requested. </purpose><description><para>
2835 </para></description></method>
2836 <method name="test_unit_start" cv="= 0" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="tu"><paramtype><classname>test_unit</classname> const &amp;</paramtype><description><para>test unit being started </para></description></parameter><purpose>Invoked when test unit starts (either test suite or test case) </purpose><description><para>
2837 <para><emphasis role="bold">See Also:</emphasis><para>test_unit_finish </para>
2838 </para>
2839 </para></description></method>
2840 <method name="test_unit_finish" cv="= 0" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="tu"><paramtype><classname>test_unit</classname> const &amp;</paramtype><description><para>test unit being finished </para></description></parameter><parameter name="elapsed"><paramtype>unsigned long</paramtype><description><para>time in microseconds spend executing this test unit </para></description></parameter><purpose>Invoked when test unit finishes. </purpose><description><para>
2841 <para><emphasis role="bold">See Also:</emphasis><para>test_unit_start </para>
2842 </para>
2843 </para></description></method>
2844 <method name="test_unit_skipped" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="tu"><paramtype><classname>test_unit</classname> const &amp;</paramtype><description><para>skipped test unit </para></description></parameter><parameter name=""><paramtype>const_string</paramtype></parameter><purpose>Invoked if test unit skipped for any reason. </purpose><description><para>
2845 </para></description></method>
2846 <method name="test_unit_skipped" specifiers="virtual"><type>void</type><parameter name=""><paramtype>std::ostream &amp;</paramtype></parameter><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><purpose>Deprecated version of this interface. </purpose><description><para><xrefsect id="a00851_1_deprecated000001"><xreftitle>Deprecated</xreftitle><xrefdescription/></xrefsect></para></description></method>
2847 <method name="test_unit_aborted" specifiers="virtual"><type>void</type><parameter name=""><paramtype>std::ostream &amp;</paramtype></parameter><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><purpose>Invoked when a test unit is aborted. </purpose></method>
2848 <method name="test_unit_timed_out" specifiers="virtual"><type>void</type><parameter name=""><paramtype>std::ostream &amp;</paramtype></parameter><parameter name=""><paramtype><classname>test_unit</classname> const &amp;</paramtype></parameter><purpose>Invoked when a test unit times-out. </purpose></method>
2849 <method name="log_exception_start" cv="= 0" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="lcd"><paramtype><classname>log_checkpoint_data</classname> const &amp;</paramtype><description><para>information about the last checkpoint before the exception was triggered </para></description></parameter><parameter name="ex"><paramtype><classname>execution_exception</classname> const &amp;</paramtype><description><para>information about the caught exception </para></description></parameter><purpose>Invoked when Unit Test Framework detects uncaught exception. </purpose><description><para>The framwork calls this function when an uncaught exception it detected. This call is followed by context information:<itemizedlist>
2850 <listitem><para>one call to <computeroutput>entry_context_start</computeroutput>,</para>
2851 </listitem><listitem><para>as many calls to <computeroutput>log_entry_context</computeroutput> as there are context entries</para>
2852 </listitem><listitem><para>one call to <computeroutput>entry_context_finish</computeroutput> </para>
2853 </listitem></itemizedlist>
2854 </para><para>The logging of the exception information is finilized by a call to <computeroutput>log_exception_finish</computeroutput>.</para><para>
2855 <para><emphasis role="bold">See Also:</emphasis><para>log_exception_finish </para>
2856 </para>
2857 </para></description></method>
2858 <method name="log_exception_finish" cv="= 0" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><purpose>Invoked when Unit Test Framework detects uncaught exception. </purpose><description><para>Call to this function finishes uncaught exception report. 
2859 <para><emphasis role="bold">See Also:</emphasis><para>log_exception_start </para>
2860 </para>
2861 </para></description></method>
2862 <method name="log_entry_start" cv="= 0" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="led"><paramtype><classname>log_entry_data</classname> const &amp;</paramtype><description><para>log entry attributes </para></description></parameter><parameter name="let"><paramtype>log_entry_types</paramtype><description><para>log entry type log_entry_finish </para></description></parameter><purpose>Invoked by Unit Test Framework to start new log entry. </purpose><description><para>Call to this function starts new log entry. It is followed by series of log_entry_value calls and finally call to log_entry_finish. A log entry may consist of one or more values being reported. Some of these values will be plain strings, while others can be complicated expressions in a form of "lazy" expression template lazy_ostream. 
2863 <para><emphasis role="bold">See Also:</emphasis><para>log_entry_value, log_entry_finish</para>
2864 </para>
2865 <note><para>call to this function may happen before any call to test_unit_start or all calls to test_unit_finish as the framework might log errors raised during global initialization/shutdown. </para>
2866 </note>
2867 </para></description></method>
2868 <method name="log_entry_value" cv="= 0" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into. </para></description></parameter><parameter name="value"><paramtype>const_string</paramtype><description><para>log entry string value </para></description></parameter><purpose>Invoked by Unit Test Framework to report a log entry content. </purpose><description><para>This is one of two overloaded methods to report log entry content. This one is used to report plain string value. 
2869 <para><emphasis role="bold">See Also:</emphasis><para>log_entry_start, log_entry_finish </para>
2870 </para>
2871 </para></description></method>
2872 <method name="log_entry_value" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="value"><paramtype>lazy_ostream const &amp;</paramtype><description><para>log entry "lazy" value </para></description></parameter><purpose>Invoked by Unit Test Framework to report a log entry content. </purpose><description><para>This is one of two overloaded methods to report log entry content. This one is used to report some complicated expression passed as an expression template lazy_ostream. In most cases default implementation provided by the framework should work as is (it just converts the lazy expression into a string. 
2873 <para><emphasis role="bold">See Also:</emphasis><para>log_entry_start, log_entry_finish </para>
2874 </para>
2875 </para></description></method>
2876 <method name="log_entry_finish" cv="= 0" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><purpose>Invoked by Unit Test Framework to finish a log entry report. </purpose><description><para>
2877 <para><emphasis role="bold">See Also:</emphasis><para>log_entry_start, log_entry_start </para>
2878 </para>
2879 </para></description></method>
2880 <method name="entry_context_start" cv="= 0" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="l"><paramtype>log_level</paramtype><description><para>entry log_level, to be used to fine tune the message </para></description></parameter><purpose>Invoked by Unit Test Framework to start log entry context report. </purpose><description><para>Unit Test Framework logs for failed assertions and uncaught exceptions context if one was defined by a test module. Context consists of multiple "scopes" identified by description messages assigned by the test module using BOOST_TEST_INFO/BOOST_TEST_CONTEXT statements. 
2881 <para><emphasis role="bold">See Also:</emphasis><para>log_entry_context, entry_context_finish </para>
2882 </para>
2883 </para></description></method>
2884 <method name="log_entry_context" cv="= 0" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="l"><paramtype>log_level</paramtype><description><para>entry log_level, to be used to fine tune the message </para></description></parameter><parameter name="value"><paramtype>const_string</paramtype><description><para>context "scope" description </para></description></parameter><purpose>Invoked by Unit Test Framework to report log entry context "scope" description. </purpose><description><para>Each "scope" description is reported by separate call to log_entry_context. 
2885 <para><emphasis role="bold">See Also:</emphasis><para>log_entry_start, entry_context_finish </para>
2886 </para>
2887 </para></description></method>
2888 <method name="entry_context_finish" cv="= 0" specifiers="virtual"><type>void</type><parameter name="os"><paramtype>std::ostream &amp;</paramtype><description><para>output stream to write a messages into </para></description></parameter><parameter name="l"><paramtype>log_level</paramtype><description><para>entry log_level, to be used to fine tune the message </para></description></parameter><purpose>Invoked by Unit Test Framework to finish log entry context report. </purpose><description><para>
2889 <para><emphasis role="bold">See Also:</emphasis><para>log_entry_start, entry_context_context </para>
2890 </para>
2891 </para></description></method>
2892 <method name="set_log_level" specifiers="virtual"><type>void</type><parameter name="new_log_level"><paramtype>log_level</paramtype></parameter><purpose>Sets the log level of the logger/formatter. </purpose><description><para>Some loggers need to manage the log level by their own. This member function let the implementation decide of that. <formalpara><title>Since Boost 1.62 </title><para/>
2893 </formalpara>
2894 </para></description></method>
2895 <method name="get_log_level" cv="const" specifiers="virtual"><type>log_level</type><purpose>Returns the log level of the logger/formatter. </purpose><description><para><formalpara><title>Since Boost 1.62 </title><para/>
2896 </formalpara>
2897 </para></description></method>
2898 <method name="get_default_stream_description" cv="const" specifiers="virtual"><type>std::string</type><purpose>Returns a default stream for this logger. </purpose><description><para>The returned string describes the stream as if it was passed from the command line <computeroutput>"--log_sink"</computeroutput> parameter. With that regards, <emphasis role="bold">stdout</emphasis> and <emphasis role="bold">stderr</emphasis> have special meaning indicating the standard output or error stream respectively.</para><para><formalpara><title>Since Boost 1.62 </title><para/>
2899 </formalpara>
2900 </para></description></method>
2901 </method-group>
2902 <constructor><purpose>Constructor. </purpose></constructor>
2903 <destructor/>
2904 </class>
2905
2906
2907
2908
2909
2910 </namespace>
2911 </namespace>
2912 </header>
2913 <header name="boost/test/unit_test_parameters.hpp">
2914 <para>Provides access to various Unit Test Framework runtime parameters. </para><para>Primarily for use by the framework itself </para><namespace name="boost">
2915 <namespace name="unit_test">
2916 <namespace name="runtime_config">
2917 <class name="stream_holder"><struct name="callback_cleaner"><data-member name="m_cleaner_callback"><type>boost::function&lt; void()&gt;</type></data-member>
2918 <data-member name="m_file"><type>std::ofstream</type></data-member>
2919 <method-group name="public member functions">
2920 </method-group>
2921 <constructor><parameter name="cleaner_callback"><paramtype>boost::function&lt; void()&gt;</paramtype></parameter></constructor>
2922 <destructor/>
2923 </struct><method-group name="public member functions">
2924 <method name="setup"><type>void</type><parameter name="stream_name"><paramtype>const const_string &amp;</paramtype></parameter><parameter name="cleaner_callback"><paramtype>boost::function&lt; void()&gt; const &amp;</paramtype><default>boost::function&lt; void()&gt;()</default></parameter></method>
2925 <method name="ref" cv="const"><type>std::ostream &amp;</type></method>
2926 </method-group>
2927 <constructor specifiers="explicit"><parameter name="default_stream"><paramtype>std::ostream &amp;</paramtype><default>std::cout</default></parameter></constructor>
2928 </class><data-member name="btrt_auto_start_dbg"><type>std::string</type></data-member>
2929 <data-member name="btrt_break_exec_path"><type>std::string</type></data-member>
2930 <data-member name="btrt_build_info"><type>std::string</type></data-member>
2931 <data-member name="btrt_catch_sys_errors"><type>std::string</type></data-member>
2932 <data-member name="btrt_color_output"><type>std::string</type></data-member>
2933 <data-member name="btrt_detect_fp_except"><type>std::string</type></data-member>
2934 <data-member name="btrt_detect_mem_leaks"><type>std::string</type></data-member>
2935 <data-member name="btrt_list_content"><type>std::string</type></data-member>
2936 <data-member name="btrt_list_labels"><type>std::string</type></data-member>
2937 <data-member name="btrt_log_format"><type>std::string</type></data-member>
2938 <data-member name="btrt_log_level"><type>std::string</type></data-member>
2939 <data-member name="btrt_log_sink"><type>std::string</type></data-member>
2940 <data-member name="btrt_combined_logger"><type>std::string</type></data-member>
2941 <data-member name="btrt_output_format"><type>std::string</type></data-member>
2942 <data-member name="btrt_random_seed"><type>std::string</type></data-member>
2943 <data-member name="btrt_report_format"><type>std::string</type></data-member>
2944 <data-member name="btrt_report_level"><type>std::string</type></data-member>
2945 <data-member name="btrt_report_mem_leaks"><type>std::string</type></data-member>
2946 <data-member name="btrt_report_sink"><type>std::string</type></data-member>
2947 <data-member name="btrt_result_code"><type>std::string</type></data-member>
2948 <data-member name="btrt_run_filters"><type>std::string</type></data-member>
2949 <data-member name="btrt_save_test_pattern"><type>std::string</type></data-member>
2950 <data-member name="btrt_show_progress"><type>std::string</type></data-member>
2951 <data-member name="btrt_use_alt_stack"><type>std::string</type></data-member>
2952 <data-member name="btrt_wait_for_debugger"><type>std::string</type></data-member>
2953 <data-member name="btrt_help"><type>std::string</type></data-member>
2954 <data-member name="btrt_usage"><type>std::string</type></data-member>
2955 <data-member name="btrt_version"><type>std::string</type></data-member>
2956 <function name="init"><type>void</type><parameter name="argc"><paramtype>int &amp;</paramtype></parameter><parameter name="argv"><paramtype>char **</paramtype></parameter></function>
2957 <function name="argument_store"><type>runtime::arguments_store const  &amp;</type><purpose>Access to arguments. </purpose></function>
2958 <function name="get"><type>T const  &amp;</type><template>
2959           <template-type-parameter name="T"/>
2960         </template><parameter name="parameter_name"><paramtype>runtime::cstring</paramtype></parameter></function>
2961 <function name="has"><type>bool</type><parameter name="parameter_name"><paramtype>runtime::cstring</paramtype></parameter></function>
2962 <function name="save_pattern"><type>bool</type><purpose>For public access. </purpose></function>
2963 </namespace>
2964
2965
2966
2967
2968
2969
2970 </namespace>
2971 </namespace>
2972 </header>
2973 <header name="boost/test/utils/algorithm.hpp">
2974 <para>Addition to STL algorithms. </para><namespace name="boost">
2975 <namespace name="unit_test">
2976 <namespace name="utils">
2977 <function name="mismatch"><type>std::pair&lt; InputIter1, InputIter2 &gt;</type><template>
2978           <template-type-parameter name="InputIter1"/>
2979           <template-type-parameter name="InputIter2"/>
2980         </template><parameter name="first1"><paramtype>InputIter1</paramtype><description><para>- first collection begin iterator </para></description></parameter><parameter name="last1"><paramtype>InputIter1</paramtype><description><para>- first collection end iterator </para></description></parameter><parameter name="first2"><paramtype>InputIter2</paramtype><description><para>- second collection begin iterator </para></description></parameter><parameter name="last2"><paramtype>InputIter2</paramtype><description><para>- second collection end iterator </para></description></parameter><purpose>this algorithm search through two collections for first mismatch position that get returned as a pair of iterators, first pointing to the mismatch position in first collection, second iterator in second one </purpose><description><para>
2981 </para></description></function>
2982 <function name="mismatch"><type>std::pair&lt; InputIter1, InputIter2 &gt;</type><template>
2983           <template-type-parameter name="InputIter1"/>
2984           <template-type-parameter name="InputIter2"/>
2985           <template-type-parameter name="Predicate"/>
2986         </template><parameter name="first1"><paramtype>InputIter1</paramtype><description><para>- first collection begin iterator </para></description></parameter><parameter name="last1"><paramtype>InputIter1</paramtype><description><para>- first collection end iterator </para></description></parameter><parameter name="first2"><paramtype>InputIter2</paramtype><description><para>- second collection begin iterator </para></description></parameter><parameter name="last2"><paramtype>InputIter2</paramtype><description><para>- second collection end iterator </para></description></parameter><parameter name="pred"><paramtype>Predicate</paramtype><description><para>- predicate to be used for search </para></description></parameter><purpose>this algorithm search through two collections for first mismatch position that get returned as a pair of iterators, first pointing to the mismatch position in first collection, second iterator in second one. This algorithms uses supplied predicate for collection elements comparison </purpose><description><para>
2987 </para></description></function>
2988 <function name="find_first_not_of"><type>ForwardIterator1</type><template>
2989           <template-type-parameter name="ForwardIterator1"/>
2990           <template-type-parameter name="ForwardIterator2"/>
2991         </template><parameter name="first1"><paramtype>ForwardIterator1</paramtype><description><para>- first collection begin iterator </para></description></parameter><parameter name="last1"><paramtype>ForwardIterator1</paramtype><description><para>- first collection end iterator </para></description></parameter><parameter name="first2"><paramtype>ForwardIterator2</paramtype><description><para>- second collection begin iterator </para></description></parameter><parameter name="last2"><paramtype>ForwardIterator2</paramtype><description><para>- second collection end iterator </para></description></parameter><purpose>this algorithm search through first collection for first element that does not belong a second one </purpose><description><para>
2992 </para></description></function>
2993 <function name="find_first_not_of"><type>ForwardIterator1</type><template>
2994           <template-type-parameter name="ForwardIterator1"/>
2995           <template-type-parameter name="ForwardIterator2"/>
2996           <template-type-parameter name="Predicate"/>
2997         </template><parameter name="first1"><paramtype>ForwardIterator1</paramtype><description><para>- first collection begin iterator </para></description></parameter><parameter name="last1"><paramtype>ForwardIterator1</paramtype><description><para>- first collection end iterator </para></description></parameter><parameter name="first2"><paramtype>ForwardIterator2</paramtype><description><para>- second collection begin iterator </para></description></parameter><parameter name="last2"><paramtype>ForwardIterator2</paramtype><description><para>- second collection end iterator </para></description></parameter><parameter name="pred"><paramtype>Predicate</paramtype><description><para>- predicate to be used for search </para></description></parameter><purpose>this algorithm search through first collection for first element that does not satisfy binary predicate in conjunction will any element in second collection </purpose><description><para>
2998 </para></description></function>
2999 <function name="find_last_of"><type>BidirectionalIterator1</type><template>
3000           <template-type-parameter name="BidirectionalIterator1"/>
3001           <template-type-parameter name="ForwardIterator2"/>
3002         </template><parameter name="first1"><paramtype>BidirectionalIterator1</paramtype><description><para>- first collection begin iterator </para></description></parameter><parameter name="last1"><paramtype>BidirectionalIterator1</paramtype><description><para>- first collection end iterator </para></description></parameter><parameter name="first2"><paramtype>ForwardIterator2</paramtype><description><para>- second collection begin iterator </para></description></parameter><parameter name="last2"><paramtype>ForwardIterator2</paramtype><description><para>- second collection end iterator </para></description></parameter><purpose>this algorithm search through first collection for last element that belongs to a second one </purpose><description><para>
3003 </para></description></function>
3004 <function name="find_last_of"><type>BidirectionalIterator1</type><template>
3005           <template-type-parameter name="BidirectionalIterator1"/>
3006           <template-type-parameter name="ForwardIterator2"/>
3007           <template-type-parameter name="Predicate"/>
3008         </template><parameter name="first1"><paramtype>BidirectionalIterator1</paramtype><description><para>- first collection begin iterator </para></description></parameter><parameter name="last1"><paramtype>BidirectionalIterator1</paramtype><description><para>- first collection end iterator </para></description></parameter><parameter name="first2"><paramtype>ForwardIterator2</paramtype><description><para>- second collection begin iterator </para></description></parameter><parameter name="last2"><paramtype>ForwardIterator2</paramtype><description><para>- second collection end iterator </para></description></parameter><parameter name="pred"><paramtype>Predicate</paramtype><description><para>- predicate to be used for search </para></description></parameter><purpose>this algorithm search through first collection for last element that satisfy binary predicate in conjunction will at least one element in second collection </purpose><description><para>
3009 </para></description></function>
3010 <function name="find_last_not_of"><type>BidirectionalIterator1</type><template>
3011           <template-type-parameter name="BidirectionalIterator1"/>
3012           <template-type-parameter name="ForwardIterator2"/>
3013         </template><parameter name="first1"><paramtype>BidirectionalIterator1</paramtype><description><para>- first collection begin iterator </para></description></parameter><parameter name="last1"><paramtype>BidirectionalIterator1</paramtype><description><para>- first collection end iterator </para></description></parameter><parameter name="first2"><paramtype>ForwardIterator2</paramtype><description><para>- second collection begin iterator </para></description></parameter><parameter name="last2"><paramtype>ForwardIterator2</paramtype><description><para>- second collection end iterator </para></description></parameter><purpose>this algorithm search through first collection for last element that does not belong to a second one </purpose><description><para>
3014 </para></description></function>
3015 <function name="find_last_not_of"><type>BidirectionalIterator1</type><template>
3016           <template-type-parameter name="BidirectionalIterator1"/>
3017           <template-type-parameter name="ForwardIterator2"/>
3018           <template-type-parameter name="Predicate"/>
3019         </template><parameter name="first1"><paramtype>BidirectionalIterator1</paramtype><description><para>- first collection begin iterator </para></description></parameter><parameter name="last1"><paramtype>BidirectionalIterator1</paramtype><description><para>- first collection end iterator </para></description></parameter><parameter name="first2"><paramtype>ForwardIterator2</paramtype><description><para>- second collection begin iterator </para></description></parameter><parameter name="last2"><paramtype>ForwardIterator2</paramtype><description><para>- second collection end iterator </para></description></parameter><parameter name="pred"><paramtype>Predicate</paramtype><description><para>- predicate to be used for search </para></description></parameter><purpose>this algorithm search through first collection for last element that does not satisfy binary predicate in conjunction will any element in second collection </purpose><description><para>
3020 </para></description></function>
3021 <function name="replace_all_occurrences_of"><type>StringClass</type><template>
3022           <template-type-parameter name="StringClass"/>
3023           <template-type-parameter name="ForwardIterator"/>
3024         </template><parameter name="str"><paramtype>StringClass</paramtype><description><para>- string of operation </para></description></parameter><parameter name="first1"><paramtype>ForwardIterator</paramtype><description><para>- iterator to the beginning of the substrings to replace </para></description></parameter><parameter name="last1"><paramtype>ForwardIterator</paramtype><description><para>- iterator to the end of the substrings to replace </para></description></parameter><parameter name="first2"><paramtype>ForwardIterator</paramtype><description><para>- iterator to the beginning of the substrings to replace with </para></description></parameter><parameter name="last2"><paramtype>ForwardIterator</paramtype><description><para>- iterator to the end of the substrings to replace with </para></description></parameter><purpose>This algorithm replaces all occurrences of a set of substrings by another substrings. </purpose><description><para>
3025 </para></description></function>
3026 <function name="replace_all_occurrences_with_wildcards"><type>StringClass</type><template>
3027           <template-type-parameter name="StringClass"/>
3028           <template-type-parameter name="ForwardIterator"/>
3029         </template><parameter name="str"><paramtype>StringClass</paramtype><description><para>- string to transform </para></description></parameter><parameter name="it_string_to_find"><paramtype>ForwardIterator</paramtype><description><para>- iterator to the beginning of the substrings to replace </para></description></parameter><parameter name="it_string_to_find_end"><paramtype>ForwardIterator</paramtype><description><para>- iterator to the end of the substrings to replace </para></description></parameter><parameter name="it_string_to_replace"><paramtype>ForwardIterator</paramtype><description><para>- iterator to the beginning of the substrings to replace with </para></description></parameter><parameter name="it_string_to_replace_end"><paramtype>ForwardIterator</paramtype><description><para>- iterator to the end of the substrings to replace with</para></description></parameter><purpose>This algorithm replaces all occurrences of a string with basic wildcards with another (optionally containing wildcards as well). </purpose><description><para>
3030 The wildcard is the symbol '*'. Only a unique wildcard per string is supported. The replacement string may also contain a wildcard, in which case it is considered as a placeholder to the content of the wildcard in the source string. Example:<itemizedlist>
3031 <listitem><para>In order to replace the occurrences of <computeroutput>'time="some-variable-value"'</computeroutput> to a constant string, one may use <computeroutput>'time="*"'</computeroutput> as the string to search for, and 'time="0.0"' as the replacement string.</para>
3032 </listitem><listitem><para>In order to replace the occurrences of 'file.cpp(XX)' per 'file.cpp:XX', where XX is a variable to keep, on may use <computeroutput>'file.cpp(*)'</computeroutput> as the string to search for, and 'file.cpp:*' as the replacement string. </para>
3033 </listitem></itemizedlist>
3034 </para></description></function>
3035 </namespace>
3036
3037
3038
3039
3040
3041
3042 </namespace>
3043 </namespace>
3044 <macro name="BOOST_TEST_BIND1ST" kind="functionlike"><macro-parameter name="F"/><macro-parameter name="A"/></macro>
3045 </header>
3046 <header name="boost/test/utils/is_forward_iterable.hpp">
3047 <para>Defines the is_forward_iterable collection type trait. </para><namespace name="boost">
3048 <namespace name="unit_test">
3049 <struct name="bt_iterator_traits"><template>
3050       <template-type-parameter name="T"/>
3051       <template-nontype-parameter name="is_forward_iterable"><type>bool</type><default><classname alt="boost::unit_test::is_forward_iterable">is_forward_iterable</classname>&lt;T&gt;::value</default></template-nontype-parameter>
3052     </template><purpose>Helper structure for accessing the content of a container or an array. </purpose></struct><struct-specialization name="bt_iterator_traits"><template>
3053       <template-type-parameter name="T"/>
3054       <template-nontype-parameter name="N"><type>std::size_t</type></template-nontype-parameter>
3055     </template><specialization><template-arg>T [N]</template-arg><template-arg>true</template-arg></specialization><typedef name="T_const"><type>boost::add_const&lt; T &gt;::type</type></typedef>
3056 <typedef name="const_iterator"><type>boost::add_pointer&lt; T_const &gt;::type</type></typedef>
3057 <typedef name="value_type"><type>T</type></typedef>
3058 <method-group name="public static functions">
3059 <method name="begin" specifiers="static"><type>const_iterator</type><parameter name="array"><paramtype>T_const(&amp;)</paramtype></parameter></method>
3060 <method name="end" specifiers="static"><type>const_iterator</type><parameter name="array"><paramtype>T_const(&amp;)</paramtype></parameter></method>
3061 <method name="size" specifiers="static"><type>std::size_t</type><parameter name=""><paramtype>T_const(&amp;)</paramtype></parameter></method>
3062 </method-group>
3063 </struct-specialization><struct-specialization name="bt_iterator_traits"><template>
3064       <template-type-parameter name="T"/>
3065     </template><specialization><template-arg>T</template-arg><template-arg>true</template-arg></specialization><typedef name="value_type"><type>std::iterator_traits&lt; const_iterator &gt;::value_type</type></typedef>
3066 <data-member name="const_iterator"><type>decltype(boost::declval&lt; typename boost::add_const&lt; typename boost::remove_reference&lt; T &gt;::type &gt;::type &gt;().begin()) typedef</type></data-member>
3067 <method-group name="public member functions">
3068 <method name="BOOST_STATIC_ASSERT"><type/><parameter name=""><paramtype>(<classname>is_forward_iterable</classname>&lt; T &gt;::value)</paramtype></parameter></method>
3069 </method-group>
3070 <method-group name="public static functions">
3071 <method name="begin" specifiers="static"><type>const_iterator</type><parameter name="container"><paramtype>T const &amp;</paramtype></parameter></method>
3072 <method name="end" specifiers="static"><type>const_iterator</type><parameter name="container"><paramtype>T const &amp;</paramtype></parameter></method>
3073 <method name="size" specifiers="static"><type>std::size_t</type><parameter name="container"><paramtype>T const &amp;</paramtype></parameter></method>
3074 </method-group>
3075 <method-group name="private static functions">
3076 <method name="size" specifiers="static"><type>std::size_t</type><parameter name="container"><paramtype>T const &amp;</paramtype></parameter><parameter name=""><paramtype>std::true_type</paramtype></parameter></method>
3077 <method name="size" specifiers="static"><type>std::size_t</type><parameter name="container"><paramtype>T const &amp;</paramtype></parameter><parameter name=""><paramtype>std::false_type</paramtype></parameter></method>
3078 </method-group>
3079 </struct-specialization><struct name="is_container_forward_iterable"><template>
3080       <template-type-parameter name="T"/>
3081     </template><description><para>Indicates that a specific type implements the forward iterable concept. </para></description><enum name="@14"><enumvalue name="value"><default>= is_fwd_it_t::value</default></enumvalue></enum>
3082 <typedef name="T_ref"><type>std::remove_reference&lt; T &gt;::type</type></typedef>
3083 <typedef name="is_fwd_it_t"><type><emphasis>unspecified</emphasis></type></typedef>
3084 <typedef name="type"><type>mpl::bool_&lt; is_fwd_it_t::value &gt;</type></typedef>
3085 </struct><struct name="is_forward_iterable"><template>
3086       <template-type-parameter name="T"/>
3087     </template><description><para>Indicates that a specific type implements the forward iterable concept. </para></description><enum name="@13"><enumvalue name="value"><default>= is_fwd_it_t::value</default></enumvalue></enum>
3088 <typedef name="T_ref"><type>std::remove_reference&lt; T &gt;::type</type></typedef>
3089 <typedef name="is_fwd_it_t"><type><emphasis>unspecified</emphasis></type></typedef>
3090 <typedef name="type"><type>mpl::bool_&lt; is_fwd_it_t::value &gt;</type></typedef>
3091 </struct>
3092
3093
3094
3095
3096
3097 </namespace>
3098 </namespace>
3099 </header>
3100 <header name="boost/test/utils/named_params.hpp">
3101 <namespace name="boost">
3102 <namespace name="nfp">
3103 <struct name="has_param"><template>
3104       <template-type-parameter name="NP"/>
3105       <template-type-parameter name="Keyword"/>
3106     </template><inherit access="public">is_same&lt; NP::id, Keyword::id &gt;</inherit><purpose>has_param&lt;Params,Keyword&gt;::value is true if Params has parameter corresponding to the Keyword </purpose></struct><struct-specialization name="has_param"><template>
3107       <template-type-parameter name="NP"/>
3108       <template-type-parameter name="Rest"/>
3109       <template-type-parameter name="Keyword"/>
3110     </template><specialization><template-arg>named_parameter_combine&lt; NP</template-arg><template-arg>Rest &gt;</template-arg><template-arg>Keyword</template-arg></specialization><inherit access="public">mpl::or_&lt; is_same&lt; NP::id, Keyword::id &gt;::type, has_param&lt; Rest, Keyword &gt;::type &gt;</inherit></struct-specialization><struct name="is_named_param_pack"><template>
3111       <template-type-parameter name="T"/>
3112     </template><inherit access="public">false_</inherit><purpose>is_named_param_pack&lt;T&gt;::value is true if T is parameters pack </purpose></struct><struct-specialization name="is_named_param_pack"><template>
3113       <template-type-parameter name="T"/>
3114       <template-type-parameter name="unique_id"/>
3115       <template-type-parameter name="RefType"/>
3116     </template><specialization><template-arg>named_parameter&lt; T</template-arg><template-arg>unique_id</template-arg><template-arg>RefType &gt;</template-arg></specialization><inherit access="public">true_</inherit></struct-specialization><struct-specialization name="is_named_param_pack"><template>
3117       <template-type-parameter name="NP"/>
3118       <template-type-parameter name="Rest"/>
3119     </template><specialization><template-arg>named_parameter_combine&lt; NP</template-arg><template-arg>Rest &gt;</template-arg></specialization><inherit access="public">true_</inherit></struct-specialization><struct name="keyword"><template>
3120       <template-type-parameter name="unique_id"/>
3121       <template-nontype-parameter name="required"><type>bool</type><default>false</default></template-nontype-parameter>
3122     </template><typedef name="id"><type>unique_id</type></typedef>
3123 <method-group name="public member functions">
3124 </method-group>
3125 <copy-assignment cv="const"><type><classname>named_parameter</classname>&lt; T const, unique_id &gt;</type><template>
3126           <template-type-parameter name="T"/>
3127         </template><parameter name="t"><paramtype>T const &amp;</paramtype></parameter></copy-assignment>
3128 <copy-assignment cv="const"><type><classname>named_parameter</classname>&lt; T, unique_id &gt;</type><template>
3129           <template-type-parameter name="T"/>
3130         </template><parameter name="t"><paramtype>T &amp;</paramtype></parameter></copy-assignment>
3131 <copy-assignment cv="const"><type><classname>named_parameter</classname>&lt; char const  *, unique_id, char const  * &gt;</type><parameter name="t"><paramtype>char const *</paramtype></parameter></copy-assignment>
3132 </struct><struct name="named_parameter"><template>
3133       <template-type-parameter name="T"/>
3134       <template-type-parameter name="unique_id"/>
3135       <template-type-parameter name="RefType"/>
3136     </template><typedef name="data_type"><type>T</type></typedef>
3137 <typedef name="ref_type"><type>RefType</type></typedef>
3138 <typedef name="id"><type>unique_id</type></typedef>
3139 <method-group name="public member functions">
3140 <method name="operator[]" cv="const"><type>ref_type</type><parameter name=""><paramtype><classname>keyword</classname>&lt; unique_id, true &gt;</paramtype></parameter></method>
3141 <method name="operator[]" cv="const"><type>ref_type</type><parameter name=""><paramtype><classname>keyword</classname>&lt; unique_id, false &gt;</paramtype></parameter></method>
3142 <method name="operator[]" cv="const"><type><classname>nil</classname></type><template>
3143           <template-type-parameter name="UnknownId"/>
3144         </template><parameter name=""><paramtype><classname>keyword</classname>&lt; UnknownId, false &gt;</paramtype></parameter></method>
3145 <method name="has" cv="const"><type>bool</type><parameter name=""><paramtype><classname>keyword</classname>&lt; unique_id, false &gt;</paramtype></parameter></method>
3146 <method name="has" cv="const"><type>bool</type><template>
3147           <template-type-parameter name="UnknownId"/>
3148         </template><parameter name=""><paramtype><classname>keyword</classname>&lt; UnknownId, false &gt;</paramtype></parameter></method>
3149 <method name="erase" cv="const"><type>void</type><parameter name=""><paramtype><classname>keyword</classname>&lt; unique_id, false &gt;</paramtype></parameter></method>
3150 <method name="erase" cv="const"><type>void</type><template>
3151           <template-type-parameter name="UnknownId"/>
3152         </template><parameter name=""><paramtype><classname>keyword</classname>&lt; UnknownId, false &gt;</paramtype></parameter></method>
3153 <method name="apply_to" cv="const"><type>void</type><template>
3154           <template-type-parameter name="Visitor"/>
3155         </template><parameter name="V"><paramtype>Visitor &amp;</paramtype></parameter></method>
3156 <method name="operator," cv="const"><type><classname>named_parameter_combine</classname>&lt; NP, <classname>named_parameter</classname>&lt; T, unique_id, RefType &gt; &gt;</type><parameter name="np"><paramtype>NP const &amp;</paramtype></parameter></method>
3157 </method-group>
3158 <constructor specifiers="explicit"><parameter name="v"><paramtype>ref_type</paramtype></parameter></constructor>
3159 <constructor><parameter name="np"><paramtype><classname>named_parameter</classname> const &amp;</paramtype></parameter></constructor>
3160 </struct><struct name="named_parameter_combine"><template>
3161       <template-type-parameter name="NP"/>
3162       <template-type-parameter name="Rest"><default><classname alt="boost::nfp::nil">nil</classname></default></template-type-parameter>
3163     </template><inherit access="public">Rest</inherit><typedef name="res_type"><type>NP::ref_type</type></typedef>
3164 <typedef name="self_type"><type><classname>named_parameter_combine</classname>&lt; NP, Rest &gt;</type></typedef>
3165 <method-group name="public member functions">
3166 <method name="operator[]" cv="const"><type>res_type</type><parameter name="kw"><paramtype><classname>keyword</classname>&lt; typename NP::id, true &gt;</paramtype></parameter></method>
3167 <method name="operator[]" cv="const"><type>res_type</type><parameter name="kw"><paramtype><classname>keyword</classname>&lt; typename NP::id, false &gt;</paramtype></parameter></method>
3168 <method name="has" cv="const"><type>bool</type><parameter name="kw"><paramtype><classname>keyword</classname>&lt; typename NP::id, false &gt;</paramtype></parameter></method>
3169 <method name="erase" cv="const"><type>void</type><parameter name="kw"><paramtype><classname>keyword</classname>&lt; typename NP::id, false &gt;</paramtype></parameter></method>
3170 <method name="apply_to" cv="const"><type>void</type><template>
3171           <template-type-parameter name="Visitor"/>
3172         </template><parameter name="V"><paramtype>Visitor &amp;</paramtype></parameter></method>
3173 <method name="operator," cv="const"><type><classname>named_parameter_combine</classname>&lt; NP, <classname>named_parameter_combine</classname>&lt; NP, Rest &gt; &gt;</type><parameter name="np"><paramtype>NP const &amp;</paramtype></parameter></method>
3174 </method-group>
3175 <constructor><parameter name="np"><paramtype>NP const &amp;</paramtype></parameter><parameter name="r"><paramtype>Rest const &amp;</paramtype></parameter></constructor>
3176 </struct><struct name="nil"><method-group name="public member functions">
3177 <method name="conversion-operator" cv="const"><type>T const &amp;</type><template>
3178           <template-type-parameter name="T"/>
3179         </template></method>
3180 <method name="any_cast" cv="const"><type>T</type><template>
3181           <template-type-parameter name="T"/>
3182         </template></method>
3183 <method name="operator()"><type><classname>nil</classname></type><template>
3184           <template-type-parameter name="Arg1"/>
3185         </template><parameter name=""><paramtype>Arg1 const &amp;</paramtype></parameter></method>
3186 <method name="operator()"><type><classname>nil</classname></type><template>
3187           <template-type-parameter name="Arg1"/>
3188           <template-type-parameter name="Arg2"/>
3189         </template><parameter name=""><paramtype>Arg1 const &amp;</paramtype></parameter><parameter name=""><paramtype>Arg2 const &amp;</paramtype></parameter></method>
3190 <method name="operator()"><type><classname>nil</classname></type><template>
3191           <template-type-parameter name="Arg1"/>
3192           <template-type-parameter name="Arg2"/>
3193           <template-type-parameter name="Arg3"/>
3194         </template><parameter name=""><paramtype>Arg1 const &amp;</paramtype></parameter><parameter name=""><paramtype>Arg2 const &amp;</paramtype></parameter><parameter name=""><paramtype>Arg3 const &amp;</paramtype></parameter></method>
3195 <method name="apply_to" cv="const"><type>void</type><template>
3196           <template-type-parameter name="Visitor"/>
3197         </template><parameter name=""><paramtype>Visitor &amp;</paramtype></parameter></method>
3198 </method-group>
3199 <method-group name="public static functions">
3200 <method name="inst" specifiers="static"><type><classname>nil</classname> &amp;</type></method>
3201 </method-group>
3202 <method-group name="private member functions">
3203 </method-group>
3204 <constructor/>
3205 </struct><struct name="param_type"><template>
3206       <template-type-parameter name="NP"/>
3207       <template-type-parameter name="Keyword"/>
3208       <template-type-parameter name="DefaultType"><default>void</default></template-type-parameter>
3209     </template><inherit access="public">mpl::if_&lt; is_same&lt; NP::id, Keyword::id &gt;::type, remove_cv&lt; NP::data_type &gt;::type, DefaultType &gt;</inherit><purpose>param_type&lt;Params,Keyword,Default&gt;::type is the type of the parameter corresponding to the Keyword (if parameter is present) or Default </purpose></struct><struct-specialization name="param_type"><template>
3210       <template-type-parameter name="NP"/>
3211       <template-type-parameter name="Rest"/>
3212       <template-type-parameter name="Keyword"/>
3213       <template-type-parameter name="DefaultType"/>
3214     </template><specialization><template-arg>named_parameter_combine&lt; NP</template-arg><template-arg>Rest &gt;</template-arg><template-arg>Keyword</template-arg><template-arg>DefaultType</template-arg></specialization><inherit access="public">mpl::if_&lt; is_same&lt; NP::id, Keyword::id &gt;::type, remove_cv&lt; NP::data_type &gt;::type, param_type&lt; Rest, Keyword, DefaultType &gt;::type &gt;</inherit></struct-specialization><struct name="typed_keyword"><template>
3215       <template-type-parameter name="T"/>
3216       <template-type-parameter name="unique_id"/>
3217       <template-nontype-parameter name="required"><type>bool</type></template-nontype-parameter>
3218     </template><inherit access="public">boost::nfp::keyword&lt; unique_id, required &gt;</inherit><method-group name="public member functions">
3219 </method-group>
3220 <copy-assignment cv="const"><type><classname>named_parameter</classname>&lt; T const, unique_id &gt;</type><parameter name="t"><paramtype>T const &amp;</paramtype></parameter></copy-assignment>
3221 <copy-assignment cv="const"><type><classname>named_parameter</classname>&lt; T, unique_id &gt;</type><parameter name="t"><paramtype>T &amp;</paramtype></parameter></copy-assignment>
3222 <typedef name="id"><type>unique_id</type></typedef>
3223 </struct><struct-specialization name="typed_keyword"><template>
3224       <template-type-parameter name="unique_id"/>
3225       <template-nontype-parameter name="required"><type>bool</type></template-nontype-parameter>
3226     </template><specialization><template-arg>bool</template-arg><template-arg>unique_id</template-arg><template-arg>required</template-arg></specialization><inherit access="public">boost::nfp::keyword&lt; unique_id, required &gt;</inherit><inherit access="public">boost::nfp::named_parameter&lt; bool, unique_id, bool &gt;</inherit><typedef name="id"><type>unique_id</type></typedef>
3227 <typedef name="data_type"><type>bool</type></typedef>
3228 <typedef name="ref_type"><type>bool</type></typedef>
3229 <method-group name="public member functions">
3230 <method name="operator!" cv="const"><type><classname>named_parameter</classname>&lt; bool, unique_id, bool &gt;</type></method>
3231 <method name="operator[]" cv="const"><type>ref_type</type><parameter name=""><paramtype><classname>keyword</classname>&lt; unique_id, true &gt;</paramtype></parameter></method>
3232 <method name="operator[]" cv="const"><type>ref_type</type><parameter name=""><paramtype><classname>keyword</classname>&lt; unique_id, false &gt;</paramtype></parameter></method>
3233 <method name="operator[]" cv="const"><type><classname>nil</classname></type><parameter name=""><paramtype><classname>keyword</classname>&lt; UnknownId, false &gt;</paramtype></parameter></method>
3234 <method name="has" cv="const"><type>bool</type><parameter name=""><paramtype><classname>keyword</classname>&lt; unique_id, false &gt;</paramtype></parameter></method>
3235 <method name="has" cv="const"><type>bool</type><parameter name=""><paramtype><classname>keyword</classname>&lt; UnknownId, false &gt;</paramtype></parameter></method>
3236 <method name="erase" cv="const"><type>void</type><parameter name=""><paramtype><classname>keyword</classname>&lt; unique_id, false &gt;</paramtype></parameter></method>
3237 <method name="erase" cv="const"><type>void</type><parameter name=""><paramtype><classname>keyword</classname>&lt; UnknownId, false &gt;</paramtype></parameter></method>
3238 <method name="apply_to" cv="const"><type>void</type><parameter name="V"><paramtype>Visitor &amp;</paramtype></parameter></method>
3239 <method name="operator," cv="const"><type><classname>named_parameter_combine</classname>&lt; NP, <classname>named_parameter</classname>&lt; bool, unique_id, bool &gt; &gt;</type><parameter name="np"><paramtype>NP const &amp;</paramtype></parameter></method>
3240 </method-group>
3241 <constructor/>
3242 </struct-specialization><typedef name="no_params_type"><type><classname>named_parameter</classname>&lt; char, struct no_params_type_t, char &gt;</type></typedef>
3243 <function name="opt_assign"><type>enable_if_c&lt;!<classname>has_param</classname>&lt; Params, Keyword &gt;::value, void &gt;::type</type><template>
3244           <template-type-parameter name="T"/>
3245           <template-type-parameter name="Params"/>
3246           <template-type-parameter name="Keyword"/>
3247         </template><parameter name=""><paramtype>T &amp;</paramtype></parameter><parameter name=""><paramtype>Params const &amp;</paramtype></parameter><parameter name=""><paramtype>Keyword</paramtype></parameter></function>
3248 <function name="opt_assign"><type>enable_if_c&lt; <classname>has_param</classname>&lt; Params, Keyword &gt;::value, void &gt;::type</type><template>
3249           <template-type-parameter name="T"/>
3250           <template-type-parameter name="Params"/>
3251           <template-type-parameter name="Keyword"/>
3252         </template><parameter name="target"><paramtype>T &amp;</paramtype></parameter><parameter name="p"><paramtype>Params const &amp;</paramtype></parameter><parameter name="k"><paramtype>Keyword</paramtype></parameter></function>
3253 <function name="opt_get"><type>T</type><template>
3254           <template-type-parameter name="T"/>
3255           <template-type-parameter name="Params"/>
3256           <template-type-parameter name="Keyword"/>
3257         </template><parameter name="p"><paramtype>Params const &amp;</paramtype></parameter><parameter name="k"><paramtype>Keyword</paramtype></parameter><parameter name="default_val"><paramtype>T</paramtype></parameter></function>
3258 <function name="opt_append"><type>enable_if_c&lt;!<classname>has_param</classname>&lt; Params, <classname>keyword</classname>&lt; typename NP::id &gt; &gt;::value, <classname>named_parameter_combine</classname>&lt; NP, Params &gt; &gt;::type</type><template>
3259           <template-type-parameter name="Params"/>
3260           <template-type-parameter name="NP"/>
3261         </template><parameter name="params"><paramtype>Params const &amp;</paramtype></parameter><parameter name="np"><paramtype>NP const &amp;</paramtype></parameter></function>
3262 <function name="opt_append"><type>enable_if_c&lt; <classname>has_param</classname>&lt; Params, <classname>keyword</classname>&lt; typename NP::id &gt; &gt;::value, Params &gt;::type</type><template>
3263           <template-type-parameter name="Params"/>
3264           <template-type-parameter name="NP"/>
3265         </template><parameter name="params"><paramtype>Params const &amp;</paramtype></parameter><parameter name=""><paramtype>NP const &amp;</paramtype></parameter></function>
3266 </namespace>
3267 </namespace>
3268 </header>
3269 </library-reference>