Nebula
Loading...
Searching...
No Matches
Util::SimpleTree< VALUETYPE >::Node Class Reference

#include <simpletree.h>

Detailed Description

template<class VALUETYPE>
class Util::SimpleTree< VALUETYPE >::Node

public node class

Public Member Functions

 Node ()
 default constructor
 
 Node (const Node &parent, const VALUETYPE &val)
 constructor with parent and value
 
 ~Node ()
 destructor
 
const Nodeoperator[] (IndexT i) const
 get read-only child by index
 
Nodeoperator[] (IndexT i)
 get read/write child by index
 
const NodeChild (IndexT i) const
 get read-only child element at index
 
NodeChild (IndexT i)
 get read/write child element at index
 
bool HasParent () const
 return true if the node has a parent
 
NodeParent ()
 read/write access to parent
 
const NodeParent () const
 read-only access to parent
 
void Clear ()
 clear children
 
SizeT Size () const
 number of children
 
bool IsEmpty () const
 return true if empty
 
NodeFront () const
 return first element
 
NodeBack () const
 return last element
 
void Append (const VALUETYPE &val)
 add element at back of array
 
void Erase (IndexT i)
 erase at index
 
void Insert (IndexT index, const VALUETYPE &val)
 insert element before element at index
 
IndexT Find (const VALUETYPE &val) const
 find identical element (slow);
 
VALUETYPE & Value ()
 read/write access to value
 
const VALUETYPE & Value () const
 read-only access to value
 

Private Attributes

Nodeparent
 
VALUETYPE value
 
Array< Node * > children
 

Constructor & Destructor Documentation

◆ Node() [1/2]

template<class VALUETYPE >
Util::SimpleTree< VALUETYPE >::Node::Node ( )

default constructor

◆ Node() [2/2]

template<class VALUETYPE >
Util::SimpleTree< VALUETYPE >::Node::Node ( const Node & parent,
const VALUETYPE & val )

constructor with parent and value

◆ ~Node()

template<class VALUETYPE >
Util::SimpleTree< VALUETYPE >::Node::~Node ( )

destructor

Member Function Documentation

◆ Append()

template<class VALUETYPE >
void Util::SimpleTree< VALUETYPE >::Node::Append ( const VALUETYPE & val)

add element at back of array

◆ Back()

template<class VALUETYPE >
SimpleTree< VALUETYPE >::Node & Util::SimpleTree< VALUETYPE >::Node::Back ( ) const

return last element

◆ Child() [1/2]

template<class VALUETYPE >
SimpleTree< VALUETYPE >::Node & Util::SimpleTree< VALUETYPE >::Node::Child ( IndexT i)

get read/write child element at index

◆ Child() [2/2]

template<class VALUETYPE >
const SimpleTree< VALUETYPE >::Node & Util::SimpleTree< VALUETYPE >::Node::Child ( IndexT i) const

get read-only child element at index

◆ Clear()

template<class VALUETYPE >
void Util::SimpleTree< VALUETYPE >::Node::Clear ( )

clear children

◆ Erase()

template<class VALUETYPE >
void Util::SimpleTree< VALUETYPE >::Node::Erase ( IndexT i)

erase at index

◆ Find()

template<class VALUETYPE >
IndexT Util::SimpleTree< VALUETYPE >::Node::Find ( const VALUETYPE & val) const

find identical element (slow);

◆ Front()

template<class VALUETYPE >
SimpleTree< VALUETYPE >::Node & Util::SimpleTree< VALUETYPE >::Node::Front ( ) const

return first element

◆ HasParent()

template<class VALUETYPE >
bool Util::SimpleTree< VALUETYPE >::Node::HasParent ( ) const

return true if the node has a parent

◆ Insert()

template<class VALUETYPE >
void Util::SimpleTree< VALUETYPE >::Node::Insert ( IndexT index,
const VALUETYPE & val )

insert element before element at index

◆ IsEmpty()

template<class VALUETYPE >
bool Util::SimpleTree< VALUETYPE >::Node::IsEmpty ( ) const

return true if empty

◆ operator[]() [1/2]

template<class VALUETYPE >
SimpleTree< VALUETYPE >::Node & Util::SimpleTree< VALUETYPE >::Node::operator[] ( IndexT i)

get read/write child by index

◆ operator[]() [2/2]

template<class VALUETYPE >
const SimpleTree< VALUETYPE >::Node & Util::SimpleTree< VALUETYPE >::Node::operator[] ( IndexT i) const

get read-only child by index

◆ Parent() [1/2]

template<class VALUETYPE >
SimpleTree< VALUETYPE >::Node & Util::SimpleTree< VALUETYPE >::Node::Parent ( )

read/write access to parent

◆ Parent() [2/2]

template<class VALUETYPE >
const SimpleTree< VALUETYPE >::Node & Util::SimpleTree< VALUETYPE >::Node::Parent ( ) const

read-only access to parent

◆ Size()

template<class VALUETYPE >
SizeT Util::SimpleTree< VALUETYPE >::Node::Size ( ) const

number of children

◆ Value() [1/2]

template<class VALUETYPE >
VALUETYPE & Util::SimpleTree< VALUETYPE >::Node::Value ( )

read/write access to value

◆ Value() [2/2]

template<class VALUETYPE >
const VALUETYPE & Util::SimpleTree< VALUETYPE >::Node::Value ( ) const

read-only access to value

Member Data Documentation

◆ children

template<class VALUETYPE >
Array<Node*> Util::SimpleTree< VALUETYPE >::Node::children
private

◆ parent

template<class VALUETYPE >
Node* Util::SimpleTree< VALUETYPE >::Node::parent
private

◆ value

template<class VALUETYPE >
VALUETYPE Util::SimpleTree< VALUETYPE >::Node::value
private

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