Honeycomb  0.1
Component-Model Framework
Public Types | Public Member Functions | Public Attributes | List of all members
honey::MemPool::Bucket::Handle Struct Reference

Enables blocks to be referenced via index rather than pointer so that they can include a tag while still maintaining a swappable size. More...

#include <Pool.h>

Inheritance diagram for honey::MemPool::Bucket::Handle:
Inheritance graph
[legend]

Public Types

typedef mt::uintBySize< sizeof(atomic::SwapMaxType)/2 >::type Int
 

Public Member Functions

 Handle ()
 
 Handle (nullptr_t)
 
 Handle (uint8 chunk, Int block)
 
bool operator== (Handle rhs) const
 
bool operator!= (Handle rhs) const
 
 operator bool () const
 
uint8 chunk () const
 
Int block () const
 

Public Attributes

Int index
 

Detailed Description

Enables blocks to be referenced via index rather than pointer so that they can include a tag while still maintaining a swappable size.

Each chunk holds an exponential expansion of a bucket, so a 1-byte chunk index is sufficient.

Member Typedef Documentation

typedef mt::uintBySize<sizeof(atomic::SwapMaxType)/2>::type honey::MemPool::Bucket::Handle::Int

Constructor & Destructor Documentation

honey::MemPool::Bucket::Handle::Handle ( )
inline
honey::MemPool::Bucket::Handle::Handle ( nullptr_t  )
inline
honey::MemPool::Bucket::Handle::Handle ( uint8  chunk,
Int  block 
)
inline

Member Function Documentation

Int honey::MemPool::Bucket::Handle::block ( ) const
inline
uint8 honey::MemPool::Bucket::Handle::chunk ( ) const
inline
honey::MemPool::Bucket::Handle::operator bool ( ) const
inlineexplicit
bool honey::MemPool::Bucket::Handle::operator!= ( Handle  rhs) const
inline
bool honey::MemPool::Bucket::Handle::operator== ( Handle  rhs) const
inline

Member Data Documentation

Int honey::MemPool::Bucket::Handle::index

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