This allocator implements the minimal interface to comply with section 17.6.3.5 ([allocator.requirements]) of the C++11 standard, while maintaining a distinct object state ‐ in this case a wrapped pointer to a bslma::Allocator. The template is configurable to control its allocator propagation properties, but does not support the BDE "scoped" allocator model, as scoped allocators should never propagate. Instances of this allocator delegate their operations to the wrapped allocator that constitutes its state. Note that while we define the various traits used by the C++11 allocator traits facility, they actually mean very little for this component, as it is the consumer of the allocator's responsibility to check and apply the traits correctly, typically by using bsl::allocator_traits to perform all memory allocation tasks rather than using the allocator directly. The PROPAGATE_ON_CONTAINER_COPY_CONSTRUCTION flag is consumed directly though, in the static member function select_on_container_copy_construction.
Synopsis
Declared in <bsltf_stdstatefulallocator.h>
template<
class TYPE,
bool PROPAGATE_ON_CONTAINER_COPY_CONSTRUCTION = true,
bool PROPAGATE_ON_CONTAINER_COPY_ASSIGNMENT = true,
bool PROPAGATE_ON_CONTAINER_SWAP = true,
bool PROPAGATE_ON_CONTAINER_MOVE_ASSIGNMENT = true,
bool IS_ALWAYS_EQUAL = false>
class StdStatefulAllocator;
Types
Name |
Description |
This nested |
Type Aliases
Name |
Description |
Alias for a pointer to |
|
Alias for |
|
Alias for an |
|
Alias for a pointer to |
|
|
Alias for an |
|
Alias for an |
Alias for an |
|
Alias for |
|
Alias for the allocated |
Member Functions
Name |
Description |
|
Constructors |
Allocate enough (properly aligned) space for the specified |
|
Return the address of the allocator wrapped by this object. |
|
Construct an object of the (template parameter) |
|
Return memory previously allocated at the specified |
|
Invoke the |
|
Return the maximum number of elements of type |
|
|
Return a copy of this object if the |
|
Declare |
Non-Member Functions
Name |
Description |
Return |
|
Return |
Created with MrDocs