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