#include <node_allocator.hpp>


Classes | |
| struct | node_pool |
| struct | rebind |
| Obtains node_allocator_base from node_allocator_base. More... | |
Public Types | |
| typedef SegmentManager::void_pointer | void_pointer |
| typedef SegmentManager | segment_manager |
| typedef node_allocator_base < Version, T, SegmentManager, NodesPerBlock > | self_t |
| typedef boost::intrusive::pointer_traits < void_pointer >::template rebind_pointer< T >::type | pointer |
| typedef boost::intrusive::pointer_traits < void_pointer >::template rebind_pointer< const T > ::type | const_pointer |
| typedef T | value_type |
| typedef ipcdetail::add_reference < value_type >::type | reference |
| typedef ipcdetail::add_reference < const value_type >::type | const_reference |
| typedef segment_manager::size_type | size_type |
| typedef segment_manager::difference_type | difference_type |
| typedef boost::interprocess::version_type < node_allocator_base, Version > | version |
| typedef boost::container::container_detail::transform_multiallocation_chain < typename SegmentManager::multiallocation_chain, T > | multiallocation_chain |
Public Member Functions | |
| BOOST_STATIC_ASSERT ((Version<=2)) | |
| node_allocator_base (segment_manager *segment_mngr) | |
| Not assignable from other node_allocator_base. More... | |
| node_allocator_base (const node_allocator_base &other) | |
| Copy constructor from other node_allocator_base. More... | |
| template<class T2 > | |
| node_allocator_base (const node_allocator_base< Version, T2, SegmentManager, NodesPerBlock > &other) | |
| Copy constructor from related node_allocator_base. More... | |
| node_allocator_base & | operator= (const node_allocator_base &other) |
| Assignment from other node_allocator_base. More... | |
| ~node_allocator_base () | |
| Destructor, removes node_pool_t from memory if its reference count reaches to zero. More... | |
| void * | get_node_pool () const |
| Returns a pointer to the node pool. More... | |
| segment_manager * | get_segment_manager () const |
| Returns the segment manager. More... | |
Friends | |
| void | swap (self_t &alloc1, self_t &alloc2) |
| Swaps allocators. More... | |
| typedef boost::intrusive:: pointer_traits<void_pointer>::template rebind_pointer<const T>::type boost::interprocess::ipcdetail::node_allocator_base< Version, T, SegmentManager, NodesPerBlock >::const_pointer |
| typedef ipcdetail::add_reference<const value_type>::type boost::interprocess::ipcdetail::node_allocator_base< Version, T, SegmentManager, NodesPerBlock >::const_reference |
| typedef segment_manager::difference_type boost::interprocess::ipcdetail::node_allocator_base< Version, T, SegmentManager, NodesPerBlock >::difference_type |
| typedef boost::container::container_detail::transform_multiallocation_chain<typename SegmentManager::multiallocation_chain, T> boost::interprocess::ipcdetail::node_allocator_base< Version, T, SegmentManager, NodesPerBlock >::multiallocation_chain |
| typedef boost::intrusive:: pointer_traits<void_pointer>::template rebind_pointer<T>::type boost::interprocess::ipcdetail::node_allocator_base< Version, T, SegmentManager, NodesPerBlock >::pointer |
| typedef ipcdetail::add_reference<value_type>::type boost::interprocess::ipcdetail::node_allocator_base< Version, T, SegmentManager, NodesPerBlock >::reference |
| typedef SegmentManager boost::interprocess::ipcdetail::node_allocator_base< Version, T, SegmentManager, NodesPerBlock >::segment_manager |
| typedef node_allocator_base<Version, T, SegmentManager, NodesPerBlock> boost::interprocess::ipcdetail::node_allocator_base< Version, T, SegmentManager, NodesPerBlock >::self_t |
| typedef segment_manager::size_type boost::interprocess::ipcdetail::node_allocator_base< Version, T, SegmentManager, NodesPerBlock >::size_type |
| typedef T boost::interprocess::ipcdetail::node_allocator_base< Version, T, SegmentManager, NodesPerBlock >::value_type |
| typedef boost::interprocess::version_type<node_allocator_base, Version> boost::interprocess::ipcdetail::node_allocator_base< Version, T, SegmentManager, NodesPerBlock >::version |
| typedef SegmentManager::void_pointer boost::interprocess::ipcdetail::node_allocator_base< Version, T, SegmentManager, NodesPerBlock >::void_pointer |
|
inline |
Not assignable from other node_allocator_base.
Constructor from a segment manager. If not present, constructs a node pool. Increments the reference count of the associated node pool. Can throw boost::interprocess::bad_alloc
|
inline |
Copy constructor from other node_allocator_base.
Increments the reference count of the associated node pool. Never throws
|
inline |
Copy constructor from related node_allocator_base.
If not present, constructs a node pool. Increments the reference count of the associated node pool. Can throw boost::interprocess::bad_alloc
|
inline |
Destructor, removes node_pool_t from memory if its reference count reaches to zero.
Never throws
| boost::interprocess::ipcdetail::node_allocator_base< Version, T, SegmentManager, NodesPerBlock >::BOOST_STATIC_ASSERT | ( | (Version<=2) | ) |
|
inline |
Returns a pointer to the node pool.
Never throws
Referenced by boost::interprocess::ipcdetail::operator!=(), and boost::interprocess::ipcdetail::operator==().
|
inline |
Returns the segment manager.
Never throws
|
inline |
Assignment from other node_allocator_base.
|
friend |
Swaps allocators.
Does not throw. If each allocator is placed in a different memory segment, the result is undefined.
Referenced by boost::interprocess::ipcdetail::node_allocator_base< 1, T, SegmentManager, NodesPerBlock >::operator=().