HLIBpro
3.0
|
Represents a node in a cluster tree with an arbitrary number of sons. More...
#include <TCluster.hh>
Public Member Functions | |
TCluster () | |
construct node with empty index set | |
TCluster (const TIndexSet &is) | |
construct node with index set is | |
TCluster (const idx_t first_idx, const idx_t last_idx) | |
construct node with index set [first_idx, last_idx] | |
virtual | ~TCluster () |
dtor | |
bool | is_domain () const |
return true if node is domain cluster | |
void | set_domain (const bool b) |
set domain status of node | |
virtual uint | nsons () const |
return number of sons | |
virtual void | set_nsons (const uint n) |
set number of sons | |
virtual TCluster * | son (const uint i) |
return i'th son | |
virtual const TCluster * | son (const uint i) const |
return i'th son | |
virtual void | set_son (const uint i, TCluster *son, const bool del=true) |
set i'th son. If del is true, former son_i is deleted | |
virtual void | add_son (TCluster *son, const bool inc_nsons=false) |
virtual void | clear_sons () |
remove references to sons, no deletion | |
virtual bool | is_leaf () const |
return true if node is leaf | |
virtual uint | nnodes () const |
return no of nodes | |
virtual uint | depth () const |
return depth of tree | |
virtual void | collect_leaves (std::list< TCluster * > &leaves, const int depth=-1, const int level=0) const |
collect leaves (or nodes with depth depth) in list | |
virtual TCluster * | create () const |
return object of same type | |
virtual TCluster * | copy () const |
return copy of node/subtree | |
virtual void | print (const uint ofs=0) const |
stream output | |
virtual size_t | byte_size () const |
return size in bytes used by this object | |
Public Member Functions inherited from TIndexSet | |
TIndexSet () noexcept | |
construct empty index set | |
TIndexSet (const size_t n) noexcept | |
construct indexset if size n | |
TIndexSet (const idx_t afirst, const idx_t alast) noexcept | |
construct indexset by first and last index | |
TIndexSet (const TIndexSet &is) noexcept | |
copy constructor | |
idx_t | first () const noexcept |
return first index in set | |
idx_t | last () const noexcept |
return last index in set | |
size_t | size () const noexcept |
return last index in set | |
void | set_first_last (const idx_t afirst, const idx_t alast) noexcept |
set indexset by first and last index | |
void | set_first_size (const idx_t afirstf, const size_t asize) noexcept |
set indexset by first and size | |
bool | is_in (const idx_t idx) const noexcept |
return true if given index is part of indexset and false otherwise | |
bool | is_sub (const TIndexSet &is) const noexcept |
return true if given indexset is subset | |
bool | is_subset_of (const TIndexSet &is) const noexcept |
return true if local indexset is subset of given indexset | |
bool | is_empty () const noexcept |
return true if indexset is empty | |
TIndexSet & | operator= (const TIndexSet &is) noexcept |
copy operator | |
bool | operator== (const TIndexSet &is) const noexcept |
equality operator | |
bool | operator!= (const TIndexSet &is) const noexcept |
inequality operator | |
bool | is_strictly_left_of (const TIndexSet &is) const noexcept |
this is strictly left of is iff ∀ i ∈ this, j ∈ is : i < j | |
bool | is_left_or_equal_to (const TIndexSet &is) const noexcept |
this is left or equal to is iff this ∖ is < is | |
bool | is_strictly_right_of (const TIndexSet &is) const noexcept |
this is strictly right of is iff ∀ i ∈ this, j ∈ is : i > j | |
bool | is_right_or_equal_to (const TIndexSet &is) const noexcept |
this is right or equal to is iff this ∖ is > is | |
std::string | to_string () const |
string output | |
size_t | byte_size () const |
return size in bytes used by this object | |
Public Member Functions inherited from TTypeInfo | |
virtual typeid_t | type () const =0 |
return type ID of object | |
virtual bool | is_type (const typeid_t t) const |
return true if local object is of given type ID t | |
virtual std::string | typestr () const |
return string representation of type | |
|
virtual |
add a son (gets first unused slot); if inc_nsons is true, the number of sons will be increased, if no free slot is available