Nugget
Public Types | Public Member Functions | Protected Attributes | List of all members
eastl::fixed_hashtable_allocator< bucketCount, nodeSize, nodeCount, nodeAlignment, nodeAlignmentOffset, false, OverflowAllocator > Class Template Reference
Collaboration diagram for eastl::fixed_hashtable_allocator< bucketCount, nodeSize, nodeCount, nodeAlignment, nodeAlignmentOffset, false, OverflowAllocator >:
Collaboration graph
[legend]

Public Types

enum  {
  kBucketCount = bucketCount + 1 , kBucketsSize = bucketCount * sizeof(void*) , kNodeSize = nodeSize , kNodeCount = nodeCount ,
  kNodesSize = nodeCount * nodeSize , kBufferSize = kNodesSize + ((nodeAlignment > 1) ? nodeSize-1 : 0) + nodeAlignmentOffset , kNodeAlignment = nodeAlignment , kNodeAlignmentOffset = nodeAlignmentOffset ,
  kAllocFlagBuckets = 0x00400000
}
 
typedef fixed_pool pool_type
 
typedef fixed_hashtable_allocator< bucketCount, nodeSize, nodeCount, nodeAlignment, nodeAlignmentOffset, false, OverflowAllocator > this_type
 
typedef OverflowAllocator overflow_allocator_type
 

Public Member Functions

 fixed_hashtable_allocator (void *pNodeBuffer)
 
 fixed_hashtable_allocator (void *pNodeBuffer, const overflow_allocator_type &)
 
 fixed_hashtable_allocator (void *pNodeBuffer, void *pBucketBuffer)
 
 fixed_hashtable_allocator (void *pNodeBuffer, void *pBucketBuffer, const overflow_allocator_type &)
 
 fixed_hashtable_allocator (const this_type &x)
 
fixed_hashtable_allocatoroperator= (const fixed_hashtable_allocator &x)
 
void * allocate (size_t n, int flags=0)
 
void * allocate (size_t n, size_t alignment, size_t offset, int flags=0)
 
void deallocate (void *p, size_t)
 
bool can_allocate () const
 
void reset (void *pNodeBuffer)
 
const char * get_name () const
 
void set_name (const char *pName)
 
const overflow_allocator_type & get_overflow_allocator () const EA_NOEXCEPT
 
overflow_allocator_type & get_overflow_allocator () EA_NOEXCEPT
 
void set_overflow_allocator (const overflow_allocator_type &)
 
void copy_overflow_allocator (const this_type &)
 

Protected Attributes

pool_type mPool
 
void * mpBucketBuffer
 

Constructor & Destructor Documentation

◆ fixed_hashtable_allocator()

template<size_t bucketCount, size_t nodeSize, size_t nodeCount, size_t nodeAlignment, size_t nodeAlignmentOffset, typename OverflowAllocator >
eastl::fixed_hashtable_allocator< bucketCount, nodeSize, nodeCount, nodeAlignment, nodeAlignmentOffset, false, OverflowAllocator >::fixed_hashtable_allocator ( const this_type x)
inline

fixed_hashtable_allocator

Note that we are copying x.mpHead and mpBucketBuffer to our own fixed_pool. See the discussion above in fixed_node_allocator for important information about this.


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