Classes | Public Types | Public Member Functions | Private Attributes | List of all members
lockfree::detail::SPAllocator< T > Class Template Reference

#include <object_pool.h>

Classes

struct  rebind
 

Public Types

typedef const T * const_pointer
 
typedef const T & const_reference
 
typedef ptrdiff_t difference_type
 
typedef T * pointer
 
typedef T & reference
 
typedef size_t size_type
 
typedef T value_type
 

Public Member Functions

pointer address (reference r) const
 
const_pointer address (const_reference r) const
 
pointer allocate (size_type n, SPAllocator< void >::const_pointer hint=0)
 
void construct (pointer p, const_reference val)
 
void deallocate (pointer p, size_type n)
 
void destroy (pointer p)
 
SPStorageget_block () const
 
FreeListget_pool () const
 
int32_t get_used () const
 
size_type max_size () const throw ()
 
 SPAllocator (FreeList *pool, SPStorage *block) throw ()
 
template<class U >
 SPAllocator (const SPAllocator< U > &u) throw ()
 
 ~SPAllocator () throw ()
 

Private Attributes

SPStorageblock_
 
FreeListpool_
 
int32_t used_
 

Detailed Description

template<class T>
class lockfree::detail::SPAllocator< T >

Definition at line 58 of file object_pool.h.

Member Typedef Documentation

template<class T>
typedef const T* lockfree::detail::SPAllocator< T >::const_pointer

Definition at line 108 of file object_pool.h.

template<class T>
typedef const T& lockfree::detail::SPAllocator< T >::const_reference

Definition at line 110 of file object_pool.h.

template<class T>
typedef ptrdiff_t lockfree::detail::SPAllocator< T >::difference_type

Definition at line 106 of file object_pool.h.

template<class T>
typedef T* lockfree::detail::SPAllocator< T >::pointer

Definition at line 107 of file object_pool.h.

template<class T>
typedef T& lockfree::detail::SPAllocator< T >::reference

Definition at line 109 of file object_pool.h.

template<class T>
typedef size_t lockfree::detail::SPAllocator< T >::size_type

Definition at line 105 of file object_pool.h.

template<class T>
typedef T lockfree::detail::SPAllocator< T >::value_type

Definition at line 111 of file object_pool.h.

Constructor & Destructor Documentation

template<class T>
lockfree::detail::SPAllocator< T >::SPAllocator ( FreeList pool,
SPStorage block 
)
throw (
)
inline

Definition at line 119 of file object_pool.h.

template<class T>
template<class U >
lockfree::detail::SPAllocator< T >::SPAllocator ( const SPAllocator< U > &  u)
throw (
)
inline

Definition at line 127 of file object_pool.h.

template<class T>
lockfree::detail::SPAllocator< T >::~SPAllocator ( )
throw (
)
inline

Definition at line 134 of file object_pool.h.

Member Function Documentation

template<class T>
pointer lockfree::detail::SPAllocator< T >::address ( reference  r) const
inline

Definition at line 138 of file object_pool.h.

template<class T>
const_pointer lockfree::detail::SPAllocator< T >::address ( const_reference  r) const
inline

Definition at line 142 of file object_pool.h.

template<class T>
pointer lockfree::detail::SPAllocator< T >::allocate ( size_type  n,
SPAllocator< void >::const_pointer  hint = 0 
)
inline

Definition at line 150 of file object_pool.h.

template<class T>
void lockfree::detail::SPAllocator< T >::construct ( pointer  p,
const_reference  val 
)
inline

Definition at line 171 of file object_pool.h.

template<class T>
void lockfree::detail::SPAllocator< T >::deallocate ( pointer  p,
size_type  n 
)
inline

Definition at line 159 of file object_pool.h.

template<class T>
void lockfree::detail::SPAllocator< T >::destroy ( pointer  p)
inline

Definition at line 175 of file object_pool.h.

template<class T>
SPStorage* lockfree::detail::SPAllocator< T >::get_block ( ) const
inline

Definition at line 180 of file object_pool.h.

template<class T>
FreeList* lockfree::detail::SPAllocator< T >::get_pool ( ) const
inline

Definition at line 182 of file object_pool.h.

template<class T>
int32_t lockfree::detail::SPAllocator< T >::get_used ( ) const
inline

Definition at line 181 of file object_pool.h.

template<class T>
size_type lockfree::detail::SPAllocator< T >::max_size ( ) const
throw (
)
inline

Definition at line 146 of file object_pool.h.

Member Data Documentation

template<class T>
SPStorage* lockfree::detail::SPAllocator< T >::block_
private

Definition at line 185 of file object_pool.h.

template<class T>
FreeList* lockfree::detail::SPAllocator< T >::pool_
private

Definition at line 187 of file object_pool.h.

template<class T>
int32_t lockfree::detail::SPAllocator< T >::used_
private

Definition at line 186 of file object_pool.h.


The documentation for this class was generated from the following file:


lockfree
Author(s): Josh Faust
autogenerated on Mon Jun 10 2019 14:44:44