template<typename TAllocator>
class alib::boxing::TBoxes< TAllocator >
A vector of objects of type Box. Specializes class std::vector<Box> (publicly) with a constructor and methods to add a variable number of arbitrary values with one invocation.
If another Boxes object or an array of boxes, or boxed versions of such, are added, this container is "flattened", so that instead of the container, the boxes are added. Such flatting is performed recursively.
- See also
- Chapter 11. Variadic Function Arguments and Class TBoxes of the Programmer's Manual of module ALib Boxing.
- Template Parameters
-
| TAllocator | The allocator to use with the std::vector, as prototyped with class Allocator. |
Definition at line 27 of file boxes.inl.
template<typename TAllocator>
template<typename TFDecl, typename... TArgs>
Non-constant version of method CallAll, which likewise chooses the non-constant version of Call and hence this method is usable with functions that only accept mutable (aka not constant) boxes.
Technically, the only difference between this method and CallAll is that the latter is declared const.
- Template Parameters
-
| TFDecl | The function type to call. Needs to be specified with invocations of this method. |
| TArgs | Types of the variadic arguments args . |
- Parameters
-
| args | Variadic arguments forwarded to the functions. |
Definition at line 158 of file boxes.inl.
template<typename TAllocator>
Same as CallAll, but uses method Clone, which internally invokes FClone.
Using this version leads to shorter code, because method Box::Clone is not inlined. Cloning is performed 'into' the allocator used by the Boxes instance.
- Availability
- This method is available only if the module ALib Monomem is included in the ALib Build.
Definition at line 172 of file boxes.inl.