Overview     Usage     Performance Notes     Links tst 0.68 - 23 Jan 2009

heap_node Struct Template Reference

Inherits node_base< CharT, DataT *, SizeT >.

List of all members.


Detailed Description

template<typename CharT, typename DataT, typename AllocT, typename SizeT>
struct containers::tst_detail::heap_node< CharT, DataT, AllocT, SizeT >

Stores data by managed pointer.

Public Types

typedef DataT value_type
typedef DataTpointer
typedef node_base< CharT,
pointer, SizeT > 
base_type
typedef base_type::char_type char_type
typedef base_type::node_index node_index
typedef AllocT::template
rebind< value_type >::other 
allocator_type

Public Member Functions

 heap_node (char_type c, node_index mom)
 heap_node (const heap_node &other)
 ~heap_node ()
heap_nodeoperator= (const heap_node &other)
void swap (heap_node &other)
value_typevalue ()
 Requirements: Must only be called for nodes where at_end() == terminal; Never called before data storage is allocated.
const value_typevalue () const
void assign (const value_type &val, AllocT &allocator)
 Requirements: Must only be called for nodes where at_end() == terminal.
void clear_data (AllocT &allocator)

Static Private Member Functions

static pointer invalid_pointer ()
static bool invalid_pointer (pointer p)
static void create_assign (pointer &store, const value_type &val, allocator_type &allocator)
 Allocate new T for managed storage.
static void destroy (pointer &store, allocator_type &allocator)
 Call destructor and deallocate, but don't necessarily clear pointer.

Member Typedef Documentation

typedef DataT value_type

typedef DataT* pointer

typedef node_base<CharT, pointer, SizeT> base_type

typedef AllocT::template rebind<value_type>::other allocator_type


Constructor & Destructor Documentation

heap_node ( char_type  c,
node_index  mom 
) [inline]

heap_node ( const heap_node< CharT, DataT, AllocT, SizeT > &  other  )  [inline]

~heap_node (  )  [inline]


Member Function Documentation

heap_node& operator= ( const heap_node< CharT, DataT, AllocT, SizeT > &  other  )  [inline]

void swap ( heap_node< CharT, DataT, AllocT, SizeT > &  other  )  [inline]

value_type& value (  )  [inline]

Requirements: Must only be called for nodes where at_end() == terminal; Never called before data storage is allocated.

const value_type& value (  )  const [inline]

void assign ( const value_type val,
AllocT &  allocator 
) [inline]

Requirements: Must only be called for nodes where at_end() == terminal.

void clear_data ( AllocT &  allocator  )  [inline]

static pointer invalid_pointer (  )  [inline, static, private]

static bool invalid_pointer ( pointer  p  )  [inline, static, private]

static void create_assign ( pointer store,
const value_type val,
allocator_type allocator 
) [inline, static, private]

Allocate new T for managed storage.

static void destroy ( pointer store,
allocator_type allocator 
) [inline, static, private]

Call destructor and deallocate, but don't necessarily clear pointer.


ternary_tree 0.68 -- by rasmus ekman -- Page generated with Doxygen 1.5.6 on 23 Jan 2009