An adaptor class template that implements a standard STL allocator. More...
Classes | |
| struct | rebind |
Rebind helper struct to define a new class instance of this allocator template instantiated for the new value type T1. More... | |
Public Types | |
| typedef T | value_type |
| Value type allocated by this allocator. More... | |
| typedef T * | pointer |
| Pointer type. More... | |
| typedef const T * | const_pointer |
| Const pointer type. More... | |
| typedef T & | reference |
| Reference type. More... | |
| typedef const T & | const_reference |
| Const reference type. More... | |
| typedef MISTD::size_t | size_type |
| Size type. More... | |
| typedef MISTD::ptrdiff_t | difference_type |
| Difference type. More... | |
Public Member Functions | |
| Std_allocator () throw () | |
| Default constructor. More... | |
| Std_allocator (base::IAllocator *allocator) throw () | |
| Constructor. More... | |
| template<class T1 > | |
| Std_allocator (const Std_allocator< T1 > &other) throw () | |
| Copying constructor template for alike allocators of different value type. More... | |
| pointer | address (reference x) const |
Returns address of object x allocated through this allocator. More... | |
| const_pointer | address (const_reference x) const |
Returns const address of object x allocated through this allocator. More... | |
| T * | allocate (size_type n, const void *=0) throw () |
Allocate uninitialized dynamic memory for n elements of type T. More... | |
| void | deallocate (pointer p, size_type) |
Frees uninitialized dynamic memory at location p that has previously been allocated with allocate(). More... | |
| size_type | max_size () const throw () |
Returns the maximum number of elements of type T that can be allocated using this allocator. More... | |
| void | construct (pointer p, const_reference value) |
Calls the copy constructor of T on the location p with the argument value. More... | |
| void | destroy (pointer p) |
Calls the destructor of T on the location p. More... | |
| IAllocator * | get_allocator () const |
| Returns the interface of the underlying allocator. More... | |
| template<class T2 > | |
| bool | operator== (Std_allocator< T2 > other) const throw () |
| Equality comparison. More... | |
| template<class T2 > | |
| bool | operator!= (Std_allocator< T2 > other) const throw () |
| Inequality comparison. More... | |
An adaptor class template that implements a standard STL allocator.
The implementation of the STL allocator is based on the mi::base::IAllocator interface.
| T | The value type of the allocator. |
#include <mi/base/std_allocator.h> | typedef const T* mi::base::Std_allocator< T >::const_pointer |
Const pointer type.
| typedef const T& mi::base::Std_allocator< T >::const_reference |
Const reference type.
| typedef MISTD::ptrdiff_t mi::base::Std_allocator< T >::difference_type |
Difference type.
| typedef T* mi::base::Std_allocator< T >::pointer |
Pointer type.
| typedef T& mi::base::Std_allocator< T >::reference |
Reference type.
| typedef MISTD::size_t mi::base::Std_allocator< T >::size_type |
Size type.
| typedef T mi::base::Std_allocator< T >::value_type |
Value type allocated by this allocator.
|
inline | |||||||||||||
Default constructor.
|
inline | ||||||||||||||
Constructor.
Constructor from an mi::base::IAllocator interface.
| allocator | An implementation of the mi::base::IAllocator interface. Can be NULL in which case the mi::base::Default_allocator will be used. |
|
inline | ||||||||||||||
Copying constructor template for alike allocators of different value type.
|
inline |
Returns address of object x allocated through this allocator.
|
inline |
Returns const address of object x allocated through this allocator.
|
inline | ||||||||||||||||||||
Allocate uninitialized dynamic memory for n elements of type T.
NULL if the underlying IAllocator implementation fails to allocate the memory.
|
inline |
Calls the copy constructor of T on the location p with the argument value.
|
inline |
Frees uninitialized dynamic memory at location p that has previously been allocated with allocate().
| p | the memory to be freed. If p is equal to NULL, no operation is performed. However, note that according to |
|
inline |
Calls the destructor of T on the location p.
|
inline |
Returns the interface of the underlying allocator.
|
inline | |||||||||||||
Returns the maximum number of elements of type T that can be allocated using this allocator.
|
inline | ||||||||||||||
Inequality comparison.
Returns false if the underlying IAllocator interface implementations are the same.
|
inline | ||||||||||||||
Equality comparison.
Returns true if the underlying IAllocator interface implementations are the same, because then these allocators can be used interchangeably for allocation and deallocation.