BDE 4.39.x Production Release
Loading...
Searching...
No Matches
bsltf.h
Go to the documentation of this file.
1/// @file bsltf.h
2///
3///
4/// @defgroup bsltf Package bsltf
5/// @brief Basic Standard Library Test Facility (bsltf)
6/// @addtogroup bsl
7/// @{
8/// @addtogroup bsltf
9/// @{
10/// * <a href="#bsltf-purpose"> Purpose</a>
11/// * <a href="#bsltf-mnemonic"> Mnemonic </a>
12/// * <a href="#bsltf-description"> Description </a>
13/// * <a href="#bsltf-hierarchical-synopsis"> Hierarchical Synopsis </a>
14/// * <a href="#bsltf-component-synopsis"> Component Synopsis </a>
15///
16/// # Purpose {#bsltf-purpose}
17/// Provide a set of utilities and types to help with testing.
18///
19/// # Mnemonic {#bsltf-mnemonic}
20/// Basic Standard Library Test Facility (bsltf)
21///
22/// # Description {#bsltf-description}
23/// This package mainly provides a set test types and utilities that
24/// operates on those types, which can help simplify, particularly for templates,
25/// the implementation of test drivers.
26///
27/// See @ref bsltf_templatetestfacility-description for an overview of the
28/// facilities in this package and examples of their use.
29///
30/// ## Hierarchical Synopsis {#bsltf-hierarchical-synopsis}
31///
32/// The 'bsltf' package currently has 38 components having 7 levels of physical
33/// dependency. The list below shows the hierarchical ordering of the components.
34/// The order of components within each level is not architecturally significant,
35/// just alphabetical.
36/// @code
37/// 7. bsltf_stdstatefulallocator
38/// bsltf_streamutil
39/// bsltf_testvaluesarray
40///
41/// 6. bsltf_templatetestfacility
42///
43/// 5. bsltf_allocemplacabletesttype
44/// bsltf_emplacabletesttype
45///
46/// 4. bsltf_allocargumenttype
47/// bsltf_argumenttype
48/// bsltf_movablealloctesttype
49/// bsltf_movabletesttype
50/// bsltf_moveonlyalloctesttype
51/// bsltf_wellbehavedmoveonlyalloctesttype
52///
53/// 3. bsltf_copymovetracker
54/// bsltf_movestate
55///
56/// 2. bsltf_allocbitwisemoveabletesttype
57/// bsltf_alloctesttype
58/// bsltf_bitwisecopyabletesttype
59/// bsltf_bitwisemoveabletesttype
60/// bsltf_convertiblevaluewrapper
61/// bsltf_copymovestate
62/// bsltf_degeneratefunctor
63/// bsltf_enumeratedtesttype
64/// bsltf_evilbooleantype
65/// bsltf_inputiterator
66/// bsltf_nonassignabletesttype
67/// bsltf_noncopyconstructibletesttype
68/// bsltf_nondefaultconstructibletesttype
69/// bsltf_nonequalcomparabletesttype
70/// bsltf_nonoptionalalloctesttype
71/// bsltf_nontypicaloverloadstesttype
72/// bsltf_simpletesttype
73/// bsltf_stdallocatoradaptor
74/// bsltf_stdalloctesttype
75/// bsltf_stdtestallocator
76/// bsltf_uniontesttype
77///
78/// 1. bsltf_stdallocatoradaptor_cpp03 !PRIVATE!
79/// bsltf_stdstatefulallocator_cpp03 !PRIVATE!
80/// bsltf_stdtestallocator_cpp03 !PRIVATE!
81/// @endcode
82///
83/// ## Component Synopsis {#bsltf-component-synopsis}
84///
85/// @ref bsltf_allocargumenttype :
86/// Provide an allocating test class to represent function arguments.
87///
88/// @ref bsltf_allocbitwisemoveabletesttype :
89/// Provide a class that allocates memory and is bitwise-moveable.
90///
91/// @ref bsltf_allocemplacabletesttype :
92/// Provide an allocating test class used to test `emplace` methods.
93///
94/// @ref bsltf_alloctesttype :
95/// Provide a class for testing that allocates with `bsl::allocator`.
96///
97/// @ref bsltf_argumenttype :
98/// Provide a non-allocating class to test variadic function arguments.
99///
100/// @ref bsltf_bitwisecopyabletesttype :
101/// Provide a bitwise-copyable test class.
102///
103/// @ref bsltf_bitwisemoveabletesttype :
104/// Provide a bitwise-moveable test class.
105///
106/// @ref bsltf_convertiblevaluewrapper :
107/// Provide a wrapper class, convertible to a supplied value.
108///
109/// @ref bsltf_copymovestate :
110/// Provide an enumeration of copy/move state, including unsupported.
111///
112/// @ref bsltf_copymovetracker :
113/// Provide a type that tracks if it's been copied or moved
114///
115/// @ref bsltf_degeneratefunctor :
116/// Provide an awkward type to adapt a user-supplied functor.
117///
118/// @ref bsltf_emplacabletesttype :
119/// Provide a non-allocating test class used to test `emplace` methods.
120///
121/// @ref bsltf_enumeratedtesttype :
122/// Provide an enumerated test type.
123///
124/// @ref bsltf_evilbooleantype :
125/// Provide the most awkward type that is convertible to `bool`.
126///
127/// @ref bsltf_inputiterator :
128/// Provide a pure input iterator capable of traversing a range.
129///
130/// @ref bsltf_movablealloctesttype :
131/// Provide an allocating test class that records when moved from.
132///
133/// @ref bsltf_movabletesttype :
134/// Provide a non-allocating test class that records when moved from.
135///
136/// @ref bsltf_moveonlyalloctesttype :
137/// Provide testing type that is move-only & uses `bslma` allocators.
138///
139/// @ref bsltf_movestate :
140/// Provide an enumeration of move-state, including unsupported.
141///
142/// @ref bsltf_nonassignabletesttype :
143/// Provide an attribute class to which can not be assigned.
144///
145/// @ref bsltf_noncopyconstructibletesttype :
146/// Provide an attribute class that is not copy constructible.
147///
148/// @ref bsltf_nondefaultconstructibletesttype :
149/// Provide an attribute class that is not default constructible.
150///
151/// @ref bsltf_nonequalcomparabletesttype :
152/// Provide an attribute class that is not equal comparable.
153///
154/// @ref bsltf_nonoptionalalloctesttype :
155/// Provide a class for testing that allocates with `bslma::Allocator`.
156///
157/// @ref bsltf_nontypicaloverloadstesttype :
158/// Provide a class that overloads the non-typical operators.
159///
160/// @ref bsltf_simpletesttype :
161/// Provide a non-allocating test class without type traits.
162///
163/// @ref bsltf_stdallocatoradaptor :
164/// Provide a mechanism to propagate standard allocator state.
165///
166/// @ref bsltf_stdallocatoradaptor_cpp03 : !PRIVATE!
167/// Provide C++03 implementation for bsltf_stdallocatoradaptor.h
168///
169/// @ref bsltf_stdalloctesttype :
170/// Provide a class for testing that allocates with standard allocator
171///
172/// @ref bsltf_stdstatefulallocator :
173/// Provide a minimal standard compliant allocator.
174///
175/// @ref bsltf_stdstatefulallocator_cpp03 : !PRIVATE!
176/// Provide C++03 implementation for bsltf_stdstatefulallocator.h
177///
178/// @ref bsltf_stdtestallocator :
179/// Provide a minimal standard compliant allocator.
180///
181/// @ref bsltf_stdtestallocator_cpp03 : !PRIVATE!
182/// Provide C++03 implementation for bsltf_stdtestallocator.h
183///
184/// @ref bsltf_streamutil :
185/// Provide streaming output operators for bsltf-defined types.
186///
187/// @ref bsltf_templatetestfacility :
188/// Provide utilities to help with testing templates.
189///
190/// @ref bsltf_testvaluesarray :
191/// Provide a container for values used for testing.
192///
193/// @ref bsltf_uniontesttype :
194/// Provide an union test type.
195///
196/// @ref bsltf_wellbehavedmoveonlyalloctesttype :
197/// Provide well-behaved move-only type using `bslma` allocators.
198///
199/// @}
200/** @} */