ATLAS Offline Software
Classes | Public Types | Public Member Functions | Public Attributes | Private Attributes | List of all members
SG::ArenaPoolSTLAllocator< T *, VETO > Class Template Reference

STL-style allocator wrapper for ArenaPoolAllocator. More...

#include <ArenaPoolSTLAllocator.h>

Inheritance diagram for SG::ArenaPoolSTLAllocator< T *, VETO >:
Collaboration diagram for SG::ArenaPoolSTLAllocator< T *, VETO >:

Classes

struct  rebind
 Standard STL allocator rebinder. More...
 

Public Types

typedef std::allocator< T * > base
 
typedef base::value_type value_type
 Standard STL allocator typedefs. More...
 
typedef base::size_type size_type
 
typedef base::difference_type difference_type
 

Public Member Functions

 ArenaPoolSTLAllocator (size_t nblock=1000, const std::string &name="")
 Default constructor. More...
 
template<class U , class V >
 ArenaPoolSTLAllocator (const ArenaPoolSTLAllocator< U, V > &a)
 Constructor from another ArenaPoolSTLAllocator. More...
 
size_t nblock () const
 Return the hinted number of objects allocated per block. More...
 
const std::string & name () const
 Return the name of this allocator. More...
 

Public Attributes

elements
 STL member. More...
 

Private Attributes

size_t m_nblock
 
std::string m_name
 

Detailed Description

template<class T, class VETO>
class SG::ArenaPoolSTLAllocator< T *, VETO >

STL-style allocator wrapper for ArenaPoolAllocator.

This is the specialization for pointers, which uses the standard STL allocator. It has no additional functionality except for passing through the name and nblock arguments.

See the file-level comments for details.

Definition at line 362 of file ArenaPoolSTLAllocator.h.

Member Typedef Documentation

◆ base

template<class T , class VETO >
typedef std::allocator<T*> SG::ArenaPoolSTLAllocator< T *, VETO >::base

Definition at line 366 of file ArenaPoolSTLAllocator.h.

◆ difference_type

template<class T , class VETO >
typedef base::difference_type SG::ArenaPoolSTLAllocator< T *, VETO >::difference_type

Definition at line 371 of file ArenaPoolSTLAllocator.h.

◆ size_type

template<class T , class VETO >
typedef base::size_type SG::ArenaPoolSTLAllocator< T *, VETO >::size_type

Definition at line 370 of file ArenaPoolSTLAllocator.h.

◆ value_type

template<class T , class VETO >
typedef base::value_type SG::ArenaPoolSTLAllocator< T *, VETO >::value_type

Standard STL allocator typedefs.

Definition at line 369 of file ArenaPoolSTLAllocator.h.

Constructor & Destructor Documentation

◆ ArenaPoolSTLAllocator() [1/2]

template<class T , class VETO >
SG::ArenaPoolSTLAllocator< T *, VETO >::ArenaPoolSTLAllocator ( size_t  nblock = 1000,
const std::string &  name = "" 
)

Default constructor.

Parameters
nblockValue to set in the parameters structure for the number of elements to allocate per block.
nameValue to set in the parameters structure for the allocator name.

◆ ArenaPoolSTLAllocator() [2/2]

template<class T , class VETO >
template<class U , class V >
SG::ArenaPoolSTLAllocator< T *, VETO >::ArenaPoolSTLAllocator ( const ArenaPoolSTLAllocator< U, V > &  a)

Constructor from another ArenaPoolSTLAllocator.

The name and nblock parameters are copied, but the data are not.

Member Function Documentation

◆ name()

template<class T , class VETO >
const std::string& SG::ArenaPoolSTLAllocator< T *, VETO >::name ( ) const

Return the name of this allocator.

◆ nblock()

template<class T , class VETO >
size_t SG::ArenaPoolSTLAllocator< T *, VETO >::nblock ( ) const

Return the hinted number of objects allocated per block.

Member Data Documentation

◆ elements

T std::allocator< T >::elements
inherited

STL member.

◆ m_name

template<class T , class VETO >
std::string SG::ArenaPoolSTLAllocator< T *, VETO >::m_name
private

Definition at line 417 of file ArenaPoolSTLAllocator.h.

◆ m_nblock

template<class T , class VETO >
size_t SG::ArenaPoolSTLAllocator< T *, VETO >::m_nblock
private

Definition at line 416 of file ArenaPoolSTLAllocator.h.


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