Pyrogenesis  trunk
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
UniqueRange Class Reference

#include <unique_range.h>

Public Types

typedef void * pointer
 
typedef void element_type
 

Public Member Functions

 UniqueRange ()
 
 UniqueRange (pointer p, size_t size, IdxDeleter deleter)
 
 UniqueRange (UniqueRange &&rvalue)
 
UniqueRangeoperator= (UniqueRange &&rvalue)
 
 ~UniqueRange ()
 
pointer get () const
 
IdxDeleter get_deleter () const
 
size_t size () const
 
pointer release ()
 
void reset ()
 
void reset (pointer p, size_t size, IdxDeleter deleter)
 
void swap (UniqueRange &rhs)
 
 UniqueRange (const UniqueRange &)
 
UniqueRangeoperator= (const UniqueRange &)
 

Private Member Functions

void Set (pointer p, size_t size, IdxDeleter deleter)
 
void Clear ()
 
void Pilfer (UniqueRange &victim)
 
void Delete ()
 

Private Attributes

uintptr_t address_
 
size_t size_
 

Member Typedef Documentation

typedef void* UniqueRange::pointer

Constructor & Destructor Documentation

UniqueRange::UniqueRange ( )
inline
UniqueRange::UniqueRange ( pointer  p,
size_t  size,
IdxDeleter  deleter 
)
inline
UniqueRange::UniqueRange ( UniqueRange &&  rvalue)
inline
UniqueRange::~UniqueRange ( )
inline
UniqueRange::UniqueRange ( const UniqueRange )

Member Function Documentation

void UniqueRange::Clear ( )
inlineprivate
void UniqueRange::Delete ( )
inlineprivate
pointer UniqueRange::get ( ) const
inline
IdxDeleter UniqueRange::get_deleter ( ) const
inline
UniqueRange& UniqueRange::operator= ( UniqueRange &&  rvalue)
inline
UniqueRange& UniqueRange::operator= ( const UniqueRange )
void UniqueRange::Pilfer ( UniqueRange victim)
inlineprivate
pointer UniqueRange::release ( )
inline
void UniqueRange::reset ( )
inline
void UniqueRange::reset ( pointer  p,
size_t  size,
IdxDeleter  deleter 
)
inline
void UniqueRange::Set ( pointer  p,
size_t  size,
IdxDeleter  deleter 
)
inlineprivate
size_t UniqueRange::size ( ) const
inline
void UniqueRange::swap ( UniqueRange rhs)
inline

Member Data Documentation

uintptr_t UniqueRange::address_
private
size_t UniqueRange::size_
private

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