#include <oro_allocator.hpp>
Classes | |
struct | pool_wrapper_type |
struct | rebind |
Public Types | |
typedef Alloc::const_pointer | const_pointer |
typedef Alloc::const_reference | const_reference |
typedef Alloc::difference_type | difference_type |
typedef Alloc::pointer | pointer |
typedef Alloc::reference | reference |
typedef Alloc::size_type | size_type |
typedef Alloc::value_type | value_type |
Public Member Functions | |
pointer | address (reference x) const |
const_pointer | address (const_reference x) const |
pointer | allocate (size_type n, const_pointer hint=0) |
void | construct (pointer p, const value_type &x) |
void | deallocate (pointer p, size_type n) |
void | destroy (pointer p) |
void | grow (size_type n, const_pointer hint=0) |
local_allocator () | |
local_allocator (const local_allocator &) | |
template<class U , class A > | |
local_allocator (const local_allocator< U, A > &) | |
size_type | max_size () const |
void | operator= (const local_allocator &) |
void | shrink (size_type n) |
~local_allocator () | |
Private Types | |
typedef pool_type::const_iterator | pool_cit |
typedef pool_type::iterator | pool_it |
typedef std::multimap< size_t, pointer > | pool_type |
Private Member Functions | |
pointer | _grow (size_type n, const_pointer hint=0) |
void | _shrink (pointer t, size_type n) |
Private Attributes | |
pool_wrapper_type | pool |
Mutex | pool_lock |
A simple local allocator which keeps a small pool which you can grow manually with grow(). It delegates allocation to the Alloc for each allocation request, also if the pool is empty. The pool works on a per-type basis globally (static !). The pool is thus not per-object. A per-object allocator is not allowed by the standard. The pool is deallocated upon global destruction.
T | the type to allocate memory for |
Alloc | the allocator to delegate allocation to. |
Definition at line 64 of file oro_allocator.hpp.
typedef Alloc::const_pointer RTT::os::local_allocator< T, Alloc >::const_pointer |
Definition at line 69 of file oro_allocator.hpp.
typedef Alloc::const_reference RTT::os::local_allocator< T, Alloc >::const_reference |
Definition at line 71 of file oro_allocator.hpp.
typedef Alloc::difference_type RTT::os::local_allocator< T, Alloc >::difference_type |
Definition at line 73 of file oro_allocator.hpp.
typedef Alloc::pointer RTT::os::local_allocator< T, Alloc >::pointer |
Definition at line 68 of file oro_allocator.hpp.
|
private |
Definition at line 195 of file oro_allocator.hpp.
|
private |
Definition at line 194 of file oro_allocator.hpp.
|
private |
Definition at line 193 of file oro_allocator.hpp.
typedef Alloc::reference RTT::os::local_allocator< T, Alloc >::reference |
Definition at line 70 of file oro_allocator.hpp.
typedef Alloc::size_type RTT::os::local_allocator< T, Alloc >::size_type |
Definition at line 72 of file oro_allocator.hpp.
typedef Alloc::value_type RTT::os::local_allocator< T, Alloc >::value_type |
Definition at line 67 of file oro_allocator.hpp.
|
inline |
Definition at line 168 of file oro_allocator.hpp.
|
inline |
Definition at line 169 of file oro_allocator.hpp.
|
inline |
Definition at line 170 of file oro_allocator.hpp.
|
inline |
Definition at line 172 of file oro_allocator.hpp.
|
inlineprivate |
Allocate for at least n additional items.
Definition at line 184 of file oro_allocator.hpp.
|
inlineprivate |
Definition at line 188 of file oro_allocator.hpp.
|
inline |
Definition at line 76 of file oro_allocator.hpp.
|
inline |
Definition at line 80 of file oro_allocator.hpp.
|
inline |
Definition at line 84 of file oro_allocator.hpp.
|
inline |
Definition at line 132 of file oro_allocator.hpp.
|
inline |
Definition at line 110 of file oro_allocator.hpp.
|
inline |
Definition at line 136 of file oro_allocator.hpp.
|
inline |
Grow local pool with room for at least n additional items.
Definition at line 141 of file oro_allocator.hpp.
|
inline |
Definition at line 128 of file oro_allocator.hpp.
|
inline |
Definition at line 177 of file oro_allocator.hpp.
|
inline |
Shrink local pool with n items.
Definition at line 151 of file oro_allocator.hpp.
|
private |
Definition at line 206 of file oro_allocator.hpp.
|
private |
Definition at line 180 of file oro_allocator.hpp.