momo
3.9
|
Allocator with a pool of memory for containers like std::list
, std::forward_list
, std::map
, std::unordered_map
. It makes no sense to use this allocator for classes momo::stdish
.
More...
#include <pool_allocator.h>
Public Types | |
typedef TValue | value_type |
typedef TBaseAllocator | base_allocator_type |
typedef TMemPoolParams | mem_pool_params |
typedef value_type * | pointer |
typedef const value_type * | const_pointer |
typedef size_t | size_type |
typedef ptrdiff_t | difference_type |
typedef std::false_type | propagate_on_container_copy_assignment |
typedef std::true_type | propagate_on_container_move_assignment |
typedef std::true_type | propagate_on_container_swap |
Protected Member Functions | |
unsynchronized_pool_allocator (const std::shared_ptr< MemPool > &memPool) noexcept | |
Allocator with a pool of memory for containers like std::list
, std::forward_list
, std::map
, std::unordered_map
. It makes no sense to use this allocator for classes momo::stdish
.
Each copy of the container keeps its own memory pool. Memory is released not only after destruction of the object, but also in case of removal sufficient number of items.
typedef TBaseAllocator momo::stdish::unsynchronized_pool_allocator< TValue, TBaseAllocator, TMemPoolParams >::base_allocator_type |
typedef const value_type* momo::stdish::unsynchronized_pool_allocator< TValue, TBaseAllocator, TMemPoolParams >::const_pointer |
typedef ptrdiff_t momo::stdish::unsynchronized_pool_allocator< TValue, TBaseAllocator, TMemPoolParams >::difference_type |
typedef TMemPoolParams momo::stdish::unsynchronized_pool_allocator< TValue, TBaseAllocator, TMemPoolParams >::mem_pool_params |
typedef value_type* momo::stdish::unsynchronized_pool_allocator< TValue, TBaseAllocator, TMemPoolParams >::pointer |
typedef std::false_type momo::stdish::unsynchronized_pool_allocator< TValue, TBaseAllocator, TMemPoolParams >::propagate_on_container_copy_assignment |
typedef std::true_type momo::stdish::unsynchronized_pool_allocator< TValue, TBaseAllocator, TMemPoolParams >::propagate_on_container_move_assignment |
typedef std::true_type momo::stdish::unsynchronized_pool_allocator< TValue, TBaseAllocator, TMemPoolParams >::propagate_on_container_swap |
typedef size_t momo::stdish::unsynchronized_pool_allocator< TValue, TBaseAllocator, TMemPoolParams >::size_type |
typedef TValue momo::stdish::unsynchronized_pool_allocator< TValue, TBaseAllocator, TMemPoolParams >::value_type |
|
inlineexplicit |
|
inlinenoexcept |
|
default |
|
inlineexplicitprotectednoexcept |
|
inline |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |