[#BloombergLP-bslalg-ContainerBase_EmptyBase] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslalg.adoc[bslalg]::ContainerBase_EmptyBase :relfileprefix: ../../ :mrdocs: One of two possible base classes for `ContainerBase`. This class is for stateless allocators (i.e., that have size 0), including `std::allocator` (but not `bsl::allocator`). Provides access to the allocator. == Synopsis Declared in `<bslalg_containerbase.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class ALLOCATOR> class ContainerBase_EmptyBase; ---- == Description This class does *not* have a subobject of type `ALLOCATOR`. Instead, a (zero‐sized) `ALLOCATOR` is implicitly sited at the address of the start of an object of this class. This approach was chosen in preference to inheriting from `ALLOCATOR` so as to avoid inheriting the interface for `ALLOCATOR` and thus making this class (and all classes derived from it) improperly categorized as an allocator when using the `bslma::IsStdAllocator` metafunction. `ContainerBase_EmptyBase` is an empty class and will not increase the footprint of a derived class. == Type Aliases [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslalg/ContainerBase_EmptyBase/AllocatorType.adoc[`AllocatorType`] | Alias for the (template parameter) `ALLOCATOR` type. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslalg/ContainerBase_EmptyBase/2constructor.adoc[`ContainerBase_EmptyBase`] [.small]#[constructor]# | Construct this object to hold a copy of the specified `basicAllocator` of the parameterized `ALLOCATOR` type. | xref:BloombergLP/bslalg/ContainerBase_EmptyBase/2destructor.adoc[`~ContainerBase_EmptyBase`] [.small]#[destructor]# | Destroy this object. | xref:BloombergLP/bslalg/ContainerBase_EmptyBase/allocatorRef-0b.adoc[`allocatorRef`] | `allocatorRef` overloads |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#