ARB
|
#include <TreeNode.h>
Public Member Functions | |
TreeRoot (bool deleteWithNodes_) | |
virtual | ~TreeRoot () |
virtual void | change_root (TreeNode *old, TreeNode *newroot) |
void | delete_by_node () |
bool | has_bootstrap () const |
void | set_bootstrap_seen (bool seen) |
virtual TreeNode * | makeNode () const =0 |
virtual void | destroyNode (TreeNode *node) const =0 |
DEFINE_READ_ACCESSORS (TreeNode *, get_root_node, rootNode) | |
ARB_edge | find_innermost_edge () |
Protected Member Functions | |
void | predelete () |
Definition at line 53 of file TreeNode.h.
|
inlineexplicit |
Create a TreeRoot for a TreeNode. Purpose:
nodeMaker_ | heap-copy of a RootedTreeNodeFactory, will be deleted when this is destructed |
deleteWithNodes_ | true -> delete TreeRoot when the rootNode gets destroyed (TreeRoot needs to be a heap-copy in that case) |
Ressource handling of the tree structure is quite difficult (and error-prone). There are two common use-cases:
Definition at line 67 of file TreeNode.h.
|
virtual |
Definition at line 22 of file TreeNode.cxx.
References rt_assert.
|
inlineprotected |
Definition at line 59 of file TreeNode.h.
References destroyNode(), and rt_assert.
Referenced by AP_tree_root::~AP_tree_root(), and FINAL_TYPE< SEQTYPE >::~ClusterTreeRoot().
Reimplemented in AP_tree_root.
Definition at line 28 of file TreeNode.cxx.
References TreeNode::father, TreeNode::get_tree_root(), implicated, TreeNode::is_inside(), NULp, rt_assert, and TreeNode::set_tree_root().
Referenced by TreeNode::announce_tree_constructed(), AP_tree_root::change_root(), TreeNode::fixDeletedSon(), ARB_seqtree_root::loadFromDB(), AP_tree::moveNextTo(), neighbourjoining(), and AP_tree::REMOVE().
|
inline |
Definition at line 94 of file TreeNode.h.
References rt_assert.
Referenced by GBT_read_tree_and_size(), TREE_load(), and TreeNode::~TreeNode().
|
inline |
Definition at line 101 of file TreeNode.h.
Referenced by BootstrapConfig::update_empty_branch_behavior().
|
inline |
Definition at line 104 of file TreeNode.h.
Referenced by gbt_read_tree_rek(), and read_tree_and_size_internal().
|
pure virtual |
Implemented in SimpleRoot, FINAL_TYPE< SEQTYPE >, AP_tree_root, FINAL_TYPE< SEQTYPE >, FINAL_TYPE< SEQTYPE >, FINAL_TYPE< SEQTYPE >, SizeAwareRoot, and CompressionRoot.
Referenced by createLinkedTreeNode(), gbt_read_tree_rek(), AP_tree::insert(), and neighbourjoining().
|
pure virtual |
Implemented in SimpleRoot, FINAL_TYPE< SEQTYPE >, AP_tree_root, FINAL_TYPE< SEQTYPE >, FINAL_TYPE< SEQTYPE >, FINAL_TYPE< SEQTYPE >, SizeAwareRoot, and CompressionRoot.
Referenced by TreeNode::destroy(), and predelete().
TreeRoot::DEFINE_READ_ACCESSORS | ( | TreeNode * | , |
get_root_node | , | ||
rootNode | |||
) |
ARB_edge TreeRoot::find_innermost_edge | ( | ) |
Definition at line 395 of file TreeNode.cxx.
References EdgeFinder::innermost_edge().
Referenced by AWT_graphic_tree::handle_command().