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

#include <object_pool.h>

Classes

struct  rebind
 

Public Types

typedef ptrdiff_t difference_type
 
typedef T * pointer
 
typedef T & reference
 
typedef size_t size_type
 
typedef T value_type
 

Public Member Functions

const_pointer address (const_reference r) const
 
pointer address (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 ()
 
template<class U >
 SPAllocator (const SPAllocator< U > &u) throw ()
 
 SPAllocator (FreeList *pool, SPStorage *block) throw ()
 
 ~SPAllocator () throw ()
 

Public Attributes

const typedef T * const_pointer
 
const typedef T & const_reference
 

Private Attributes

SPStorageblock_
 
FreeListpool_
 
int32_t used_
 

Detailed Description

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

Definition at line 90 of file object_pool.h.

Member Typedef Documentation

◆ difference_type

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

Definition at line 138 of file object_pool.h.

◆ pointer

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

Definition at line 139 of file object_pool.h.

◆ reference

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

Definition at line 141 of file object_pool.h.

◆ size_type

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

Definition at line 137 of file object_pool.h.

◆ value_type

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

Definition at line 143 of file object_pool.h.

Constructor & Destructor Documentation

◆ SPAllocator() [1/2]

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

Definition at line 151 of file object_pool.h.

◆ SPAllocator() [2/2]

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

Definition at line 159 of file object_pool.h.

◆ ~SPAllocator()

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

Definition at line 166 of file object_pool.h.

Member Function Documentation

◆ address() [1/2]

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

Definition at line 174 of file object_pool.h.

◆ address() [2/2]

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

Definition at line 170 of file object_pool.h.

◆ allocate()

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

Definition at line 182 of file object_pool.h.

◆ construct()

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

Definition at line 203 of file object_pool.h.

◆ deallocate()

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

Definition at line 191 of file object_pool.h.

◆ destroy()

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

Definition at line 207 of file object_pool.h.

◆ get_block()

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

Definition at line 212 of file object_pool.h.

◆ get_pool()

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

Definition at line 214 of file object_pool.h.

◆ get_used()

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

Definition at line 213 of file object_pool.h.

◆ max_size()

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

Definition at line 178 of file object_pool.h.

Member Data Documentation

◆ block_

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

Definition at line 217 of file object_pool.h.

◆ const_pointer

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

Definition at line 140 of file object_pool.h.

◆ const_reference

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

Definition at line 142 of file object_pool.h.

◆ pool_

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

Definition at line 219 of file object_pool.h.

◆ used_

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

Definition at line 218 of file object_pool.h.


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


lockfree
Author(s): Josh Faust
autogenerated on Wed Mar 2 2022 00:54:15