NCBI C++ ToolKit
Classes | Typedefs | Enumerations | Enumerator | Functions | Variables
Tree Templates
+ Collaboration diagram for Tree Templates:

Classes

struct  CBioTreeFeaturePair
 Tree node feature pair (id to string) More...
 
class  CBioTreeFeatureList
 Features storage for the bio tree node. More...
 
struct  CBioTreeEmptyNodeData
 Basic node data structure used by BioTreeBaseNode. More...
 
class  BioTreeBaseNode< TNodeData, TNodeFeatures >
 Basic data contained in every bio-tree node. More...
 
class  CBioTreeFeatureDictionary
 Feature dictionary. More...
 
class  CBioTree< TBioNode >
 Basic tree structure for biological applications. More...
 
class  CBioTree< TBioNode >::CBioNode
 
class  CBioTree< TBioNode >::CFindUidFunc
 Find node by UID functor. More...
 
struct  CBioTree< TBioNode >::CAssignTreeFunc
 Functor to reset tree pointer in all nodes. More...
 
class  IBioTreeDynamicLabelFormatter
 Interface to obtain custom labels for nodes. More...
 
class  CTree2TreeFunc< TDstTreeNode, TSrcTreeNode, TNodeConvFunc >
 Visitor functor to convert one tree to another. More...
 
class  CBioTreeConvert2ContainerFunc< TBioTreeContainer, TDynamicTree >
 Visitor functor to convert dynamic tree nodes to ASN.1 BioTree container. More...
 
class  CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >
 Taxon1 tree visitor functor. More...
 
class  CTaxon1ConvertToBioTreeContainer< TBioTreeContainer, TTaxon1, TITaxon1Node, TITreeIterator >
 
class  CTreeParentTraceFunc< TTreeNode, TTraceContainer >
 Functor to trace node pointers to root (TreeForEachParent) More...
 
class  CTreePrintFunc< TTreeNode, TConverter >
 Tree print functor used as a tree traversal payload. More...
 
class  CTreeIdToSetFunc< TTreeNode, TBackInsert >
 Functor to trace node pointers to root and create set of parents (TreeForEachParent) More...
 
class  CTreeSet2NodeListFunc< TTreeNode, TSet, TNodeList >
 Functor to convert tree to a nodelist by the set pattern. More...
 
class  CTreeNonRedundantSet< TNode, TSet, TNodeList >
 Class-algorithm to compute Non Redundant Set. More...
 
class  CTreeMinimalSet< TNode, TSet, TNodeList >
 Functor takes a single nodelist as an argument and tries to push that nodelist as high as it can. More...
 
class  CNodesToBitset< TNode, TSet, TNodeList >
 Utility to join to node lists according to a set of ids. More...
 
class  CTreeNodesAnd< TNode, TSet, TNodeList >
 Node list AND (set intersection) More...
 
class  CTreeNodesOr< TNode, TSet, TNodeList >
 Node list OR (set union) More...
 
class  CDefaultNodeKeyGetter< TValue, TKeyEqualP >
 Bi-directionaly linked N way tree. More...
 
struct  CTreeNode< TValue, TKeyGetterP >
 definition of a Culling tree More...
 
class  CTreeNode< TValue, TKeyGetterP >::CSorter< TNodeComparator >
 
class  CPairNodeKeyGetter< TNode, TKeyEqualP >
 Default key getter for pair-node (id + value) More...
 
struct  CTreePair< TId, TValue, TIdEqual >
 Node data template for id-value trees. More...
 
class  CCompareByLeafCount< TValue, TKeyGetter >
 

Typedefs

typedef unsigned int TBioTreeFeatureId
 Feature Id. More...
 
typedef unsigned int TBioTreeNodeId
 Tree node id. Every node has its unique id in the tree. More...
 
typedef vector< CBioTreeFeaturePairCBioTreeFeatureList::TFeatureList
 
typedef TNodeData BioTreeBaseNode< TNodeData, TNodeFeatures >::TNodeDataType
 
typedef TNodeFeatures BioTreeBaseNode< TNodeData, TNodeFeatures >::TNodeFeaturesType
 
typedef map< TBioTreeFeatureId, stringCBioTreeFeatureDictionary::TFeatureDict
 Feature dictionary (feature id -> feature name map) More...
 
typedef map< string, TBioTreeFeatureIdCBioTreeFeatureDictionary::TFeatureNameIdx
 Feature reverse index (feature name -> id) More...
 
typedef CBioTree< TBioNode > CBioTree< TBioNode >::TBioTree
 
typedef CTreeNode< TBioNode > CBioTree< TBioNode >::CBioNode::TParent
 
typedef CBioNode CBioTree< TBioNode >::CBioNode::TTreeType
 
typedef CBioNode CBioTree< TBioNode >::TBioTreeNode
 Biotree node (forms the tree hierarchy) More...
 
typedef TBioNode CBioTree< TBioNode >::TBioNodeType
 
typedef CBioTree< BioTreeBaseNode< CBioTreeEmptyNodeData, CBioTreeFeatureList > > CBioTreeDynamic
 Bio tree without static elements. More...
 
typedef TDstTreeNode CTree2TreeFunc< TDstTreeNode, TSrcTreeNode, TNodeConvFunc >::TDstTreeNodeType
 
typedef TSrcTreeNode CTree2TreeFunc< TDstTreeNode, TSrcTreeNode, TNodeConvFunc >::TSrcTreeNodeType
 
typedef TDynamicTree::TBioTreeNode CBioTreeConvert2ContainerFunc< TBioTreeContainer, TDynamicTree >::TDynamicNodeType
 
typedef TDynamicNodeType::TValueType CBioTreeConvert2ContainerFunc< TBioTreeContainer, TDynamicTree >::TDynamicNodeValueType
 
typedef TBioTreeContainer::TNodes CBioTreeConvert2ContainerFunc< TBioTreeContainer, TDynamicTree >::TCNodeSet
 
typedef TCNodeSet::Tdata CBioTreeConvert2ContainerFunc< TBioTreeContainer, TDynamicTree >::TNodeList
 
typedef TNodeList::value_type::element_type CBioTreeConvert2ContainerFunc< TBioTreeContainer, TDynamicTree >::TCNode
 
typedef TCNode::TFeatures CBioTreeConvert2ContainerFunc< TBioTreeContainer, TDynamicTree >::TCNodeFeatureSet
 
typedef TCNodeFeatureSet::Tdata CBioTreeConvert2ContainerFunc< TBioTreeContainer, TDynamicTree >::TNodeFeatureList
 
typedef TNodeFeatureList::value_type::element_type CBioTreeConvert2ContainerFunc< TBioTreeContainer, TDynamicTree >::TCNodeFeature
 
typedef TITreeIterator::EAction CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::EAction
 
typedef TBioTreeContainer::TNodes CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::TCNodeSet
 
typedef TCNodeSet::Tdata CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::TNodeList
 
typedef TNodeList::value_type::element_type CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::TCNode
 
typedef TCNode::TFeatures CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::TCNodeFeatureSet
 
typedef TCNodeFeatureSet::Tdata CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::TNodeFeatureList
 
typedef TNodeFeatureList::value_type::element_type CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::TCNodeFeature
 
typedef TITreeIterator::I4Each CTaxon1ConvertToBioTreeContainer< TBioTreeContainer, TTaxon1, TITaxon1Node, TITreeIterator >::T4Each
 
typedef CTaxon1NodeConvertVisitor< T4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer > CTaxon1ConvertToBioTreeContainer< TBioTreeContainer, TTaxon1, TITaxon1Node, TITreeIterator >::TTaxon1Visitor
 
typedef TValue CDefaultNodeKeyGetter< TValue, TKeyEqualP >::TNodeType
 same as CTreeNode template argument More...
 
typedef TValue CDefaultNodeKeyGetter< TValue, TKeyEqualP >::TValueType
 node's value More...
 
typedef TValue CDefaultNodeKeyGetter< TValue, TKeyEqualP >::TKeyType
 node's key More...
 
typedef TKeyEqualP CDefaultNodeKeyGetter< TValue, TKeyEqualP >::TKeyEqual
 key equal comparator More...
 
typedef TValue CTreeNode< TValue, TKeyGetterP >::TValueType
 
typedef TKeyGetterP CTreeNode< TValue, TKeyGetterP >::TKeyGetter
 
typedef TKeyGetter::TKeyType CTreeNode< TValue, TKeyGetterP >::TKeyType
 
typedef TKeyGetter::TKeyEqual CTreeNode< TValue, TKeyGetterP >::TKeyEqual
 
typedef CTreeNode< TValue, TKeyGetterCTreeNode< TValue, TKeyGetterP >::TTreeType
 
typedef list< TTreeType * > CTreeNode< TValue, TKeyGetterP >::TNodeList
 
typedef list< const TTreeType * > CTreeNode< TValue, TKeyGetterP >::TConstNodeList
 
typedef TNodeList::iterator CTreeNode< TValue, TKeyGetterP >::TNodeList_I
 
typedef TNodeList::const_iterator CTreeNode< TValue, TKeyGetterP >::TNodeList_CI
 
typedef TNodeList::reverse_iterator CTreeNode< TValue, TKeyGetterP >::TNodeList_RI
 
typedef TNodeList::const_reverse_iterator CTreeNode< TValue, TKeyGetterP >::TNodeList_CRI
 
typedef list< TKeyTypeCTreeNode< TValue, TKeyGetterP >::TKeyList
 
typedef int CTreeNode< TValue, TKeyGetterP >::TNodeSearchMode
 Bitwise mask of ENodeSearchType. More...
 
typedef int CTreeNode< TValue, TKeyGetterP >::TCountNodes
 Bitwise mask of ECountNodes. More...
 
typedef TNode CPairNodeKeyGetter< TNode, TKeyEqualP >::TNodeType
 
typedef TNode::TValueType CPairNodeKeyGetter< TNode, TKeyEqualP >::TValueType
 
typedef TNode::TIdType CPairNodeKeyGetter< TNode, TKeyEqualP >::TKeyType
 
typedef TKeyEqualP CPairNodeKeyGetter< TNode, TKeyEqualP >::TKeyEqual
 
typedef TId CTreePair< TId, TValue, TIdEqual >::TIdType
 
typedef TValue CTreePair< TId, TValue, TIdEqual >::TValueType
 
typedef CTreePair< TId, TValue, TIdEqual > CTreePair< TId, TValue, TIdEqual >::TTreePair
 Node data type. More...
 
typedef CPairNodeKeyGetter< TTreePair, TIdEqual > CTreePair< TId, TValue, TIdEqual >::TPairKeyGetter
 Key getter for CTreeNode. More...
 
typedef CTreeNode< TTreePair, TPairKeyGetterCTreePair< TId, TValue, TIdEqual >::TPairTreeNode
 Tree node type. More...
 
typedef CTreeNode< TValue, TKeyGetter > CCompareByLeafCount< TValue, TKeyGetter >::TNodeType
 

Enumerations

enum  ETaxon1ConvFeatures {
  eTaxTree_Name = 1 , eTaxTree_BlastName = 2 , eTaxTree_Rank = 3 , eTaxTree_Division = 4 ,
  eTaxTree_GC = 5 , eTaxTree_MGC = 6 , eTaxTree_IsUncultured = 7 , eTaxTree_TaxId = 8 ,
  eTaxTree_SeqId = 9 , eTaxTree_Label = 10
}
 Feature ids for Bio-Tree. More...
 
enum  ETreeTraverseCode { eTreeTraverse , eTreeTraverseStop , eTreeTraverseStepOver }
 Tree traverse code returned by the traverse predicate function. More...
 
enum  CTreeNode< TValue, TKeyGetterP >::EDeletePolicy { CTreeNode< TValue, TKeyGetterP >::eDelete , CTreeNode< TValue, TKeyGetterP >::eNoDelete }
 Whether to destroy the sub-nodes when bulk-cleaning the node. More...
 
enum  CTreeNode< TValue, TKeyGetterP >::ENodeSearchType { CTreeNode< TValue, TKeyGetterP >::eImmediateSubNodes = (1 << 0) , CTreeNode< TValue, TKeyGetterP >::eTopLevelNodes = (1 << 1) , CTreeNode< TValue, TKeyGetterP >::eAllUpperSubNodes = (1 << 2) , CTreeNode< TValue, TKeyGetterP >::eImmediateAndTop = (eImmediateSubNodes | eTopLevelNodes) }
 Parameters for node search by key. More...
 
enum  CTreeNode< TValue, TKeyGetterP >::ECountNodes { CTreeNode< TValue, TKeyGetterP >::fOnlyLeafs = (1 << 0) , CTreeNode< TValue, TKeyGetterP >::fCumulative = (1 << 1) }
 How to count nodes in the tree of which this node is a root. More...
 

Functions

 CBioTreeFeaturePair::CBioTreeFeaturePair (TBioTreeFeatureId fid, const string &fvalue)
 
 CBioTreeFeaturePair::CBioTreeFeaturePair (TBioTreeFeatureId fid)
 
 CBioTreeFeaturePair::CBioTreeFeaturePair (void)
 
bool CBioTreeFeaturePair::operator< (const CBioTreeFeaturePair &rhs) const
 
 CBioTreeFeatureList::CBioTreeFeatureList ()
 
 CBioTreeFeatureList::CBioTreeFeatureList (const CBioTreeFeatureList &flist)
 
CBioTreeFeatureListCBioTreeFeatureList::operator= (const CBioTreeFeatureList &flist)
 
void CBioTreeFeatureList::SetFeature (TBioTreeFeatureId id, const string &value)
 Set feature value, feature if exists replaced, if not added. More...
 
const stringCBioTreeFeatureList::GetFeatureValue (TBioTreeFeatureId id) const
 Get feature value by id. More...
 
bool CBioTreeFeatureList::GetFeatureValue (TBioTreeFeatureId id, string &result) const
 Place feature value in 'result', if available. More...
 
void CBioTreeFeatureList::RemoveFeature (TBioTreeFeatureId id)
 Remove feature from the list. More...
 
const stringCBioTreeFeatureList::operator[] (TBioTreeFeatureId id) const
 Get feature value by id (operator semantics) More...
 
const TFeatureListCBioTreeFeatureList::GetFeatureList () const
 Return reference on the internal container. More...
 
 BioTreeBaseNode< TNodeData, TNodeFeatures >::BioTreeBaseNode (TBioTreeNodeId uid_value=0)
 
TBioTreeNodeId BioTreeBaseNode< TNodeData, TNodeFeatures >::GetId () const
 
void BioTreeBaseNode< TNodeData, TNodeFeatures >::SetId (TBioTreeNodeId id)
 
 CBioTreeFeatureDictionary::CBioTreeFeatureDictionary ()
 
 CBioTreeFeatureDictionary::CBioTreeFeatureDictionary (const CBioTreeFeatureDictionary &btr)
 
CBioTreeFeatureDictionaryCBioTreeFeatureDictionary::operator= (const CBioTreeFeatureDictionary &btr)
 
bool CBioTreeFeatureDictionary::HasFeature (const string &feature_name) const
 Check if feature is listed in the dictionary. More...
 
bool CBioTreeFeatureDictionary::HasFeature (TBioTreeFeatureId id) const
 Check if feature is listed in the dictionary. More...
 
TBioTreeFeatureId CBioTreeFeatureDictionary::Register (const string &feature_name)
 Register new feature, return its id. More...
 
void CBioTreeFeatureDictionary::Register (TBioTreeFeatureId id, const string &feature_name)
 Register new feature. More...
 
void CBioTreeFeatureDictionary::Unregister (TBioTreeFeatureId id)
 
TBioTreeFeatureId CBioTreeFeatureDictionary::GetId (const string &feature_name) const
 If feature is already registered returns its id by name. More...
 
string CBioTreeFeatureDictionary::GetName (TBioTreeFeatureId id) const
 Return the featue name given the id, or "" if not found. More...
 
void CBioTreeFeatureDictionary::Clear ()
 Clear the dictionary. More...
 
const TFeatureDictCBioTreeFeatureDictionary::GetFeatureDict () const
 Get reference on the internal map. More...
 
 CBioTree< TBioNode >::CBioNode::CBioNode (const TBioNode &value=TBioNode())
 Construct tree node with specified value. More...
 
 CBioTree< TBioNode >::CBioNode::CBioNode (const CBioNode &bn)
 Construct tree node based on source tree node (recursive copy) More...
 
CBioNodeCBioTree< TBioNode >::CBioNode::operator= (const CBioNode &tree)
 Recursive assignment. More...
 
void CBioTree< TBioNode >::CBioNode::SetParentTree (TBioTree *pt)
 Associate node with the hosting class (non-recursive) More...
 
const TBioTreeCBioTree< TBioNode >::CBioNode::GetParentTree () const
 Return pointer on the hosting tree (can be NULL) More...
 
TBioTreeCBioTree< TBioNode >::CBioNode::GetParentTree ()
 Return pointer on the hosting tree (can be NULL) More...
 
TTreeTypeCBioTree< TBioNode >::CBioNode::DetachNode (TTreeType *subnode)
 
TTreeTypeCBioTree< TBioNode >::CBioNode::DetachNode (typename TParent::TNodeList_I it)
 Node is detached from the tree (Parent becomes 0) More...
 
void CBioTree< TBioNode >::CBioNode::AddNode (TTreeType *subnode)
 Node is added as a subnode the this node. More...
 
CBioNodeCBioTree< TBioNode >::CBioNode::AddNode (const TBioNode &val=TBioNode())
 Add a subnode to this node based on value. More...
 
const stringCBioTree< TBioNode >::CBioNode::GetFeature (const string &feature_name) const
 Get dynamic feature by name. More...
 
void CBioTree< TBioNode >::CBioNode::SetFeature (const string &feature_name, const string &feature_value)
 
const stringCBioTree< TBioNode >::CBioNode::operator[] (const string &feature_name) const
 
 CBioTree< TBioNode >::CBioTree ()
 
virtual CBioTree< TBioNode >::~CBioTree ()
 
 CBioTree< TBioNode >::CBioTree (const CBioTree< TBioNode > &btr)
 
CBioTree< TBioNode > & CBioTree< TBioNode >::operator= (const CBioTree< TBioNode > &btr)
 
const TBioTreeNodeCBioTree< TBioNode >::FindNode (TBioTreeNodeId node_id) const
 Finds node by id. More...
 
void CBioTree< TBioNode >::AddFeature (TBioTreeNode *node, TBioTreeFeatureId feature_id, const string &feature_value)
 Add feature to the tree node Function controls that the feature is registered in the feature dictionary of this tree. More...
 
void CBioTree< TBioNode >::AddFeature (TBioTreeNode *node, const string &feature_name, const string &feature_value)
 Add feature to the tree node Function controls that the feature is registered in the feature dictionary of this tree. More...
 
virtual TBioTreeNodeId CBioTree< TBioNode >::GetNodeId ()
 Get new unique node id. More...
 
virtual TBioTreeNodeId CBioTree< TBioNode >::GetNodeId (const TBioTreeNode &)
 Get new unique node id (for cases when node id depends on the node's content. More...
 
void CBioTree< TBioNode >::SetNodeId (TBioTreeNode *node)
 Assign new unique node id to the node. More...
 
void CBioTree< TBioNode >::SetTreeNode (TBioTreeNode *node)
 Assign new top level tree node. More...
 
const TBioTreeNodeCBioTree< TBioNode >::GetTreeNode () const
 
TBioTreeNodeCBioTree< TBioNode >::GetTreeNodeNonConst ()
 
void CBioTree< TBioNode >::DetachTreeNode ()
 
TBioTreeNodeCBioTree< TBioNode >::AddNode (const TBioNodeType &node_value, TBioTreeNodeId parent_id)
 Add node to the tree (node location is defined by the parent id. More...
 
TBioTreeNodeCBioTree< TBioNode >::AddNode (const TBioNodeType &node_value, TBioTreeNode *parent_node)
 Add a node to the tree when you have already looked up the parent node (faster) More...
 
void CBioTree< TBioNode >::SetParentTree (CBioNode &node)
 Recursively set this tree as parent tree for the node. More...
 
void CBioTree< TBioNode >::SetParentTree (CBioNode &node, CBioTree *tr)
 Recursively set parent tree for the node. More...
 
void CBioTree< TBioNode >::Clear ()
 Clear the bio tree. More...
 
CBioTreeFeatureDictionaryCBioTree< TBioNode >::GetFeatureDict ()
 Return feature dictionary. More...
 
const CBioTreeFeatureDictionaryCBioTree< TBioNode >::GetFeatureDict () const
 Return feature dictionary. More...
 
 CBioTree< TBioNode >::CFindUidFunc::CFindUidFunc (TBioTreeNodeId uid)
 
ETreeTraverseCode CBioTree< TBioNode >::CFindUidFunc::operator() (TBioTreeNode &tree_node, int delta)
 
const TBioTreeNodeCBioTree< TBioNode >::CFindUidFunc::GetNode () const
 
 CBioTree< TBioNode >::CAssignTreeFunc::CAssignTreeFunc (CBioTree *tree)
 
ETreeTraverseCode CBioTree< TBioNode >::CAssignTreeFunc::operator() (TBioTreeNode &tree_node, int delta)
 
virtual string IBioTreeDynamicLabelFormatter::GetLabelForNode (const CBioTreeDynamic::TBioTreeNode &node) const =0
 
virtual IBioTreeDynamicLabelFormatter::~IBioTreeDynamicLabelFormatter ()
 
CNcbiOstreamoperator<< (CNcbiOstream &os, const CBioTreeDynamic &tree)
 Newick format output. More...
 
void WriteNewickTree (CNcbiOstream &os, const CBioTreeDynamic &tree, const IBioTreeDynamicLabelFormatter *label_fmt=nullptr)
 Newick format output. More...
 
void WriteNexusTree (CNcbiOstream &os, const CBioTreeDynamic &tree, const string &tree_name="the_tree", const IBioTreeDynamicLabelFormatter *label_fmt=nullptr)
 Nexus format output (Newick with some stuff around it). More...
 
void PrintNode (CNcbiOstream &os, const CBioTreeDynamic &tree, const CBioTreeDynamic::TBioTreeNode &node, const IBioTreeDynamicLabelFormatter *label_fmt=nullptr)
 Newick but without the terminal ';'. More...
 
 CTree2TreeFunc< TDstTreeNode, TSrcTreeNode, TNodeConvFunc >::CTree2TreeFunc (TNodeConvFunc &func)
 
ETreeTraverseCode CTree2TreeFunc< TDstTreeNode, TSrcTreeNode, TNodeConvFunc >::operator() (const TSrcTreeNodeType &node, int delta_level)
 
TDstTreeNodeTypeCTree2TreeFunc< TDstTreeNode, TSrcTreeNode, TNodeConvFunc >::GetTreeNode ()
 
TDstTreeNodeTypeCTree2TreeFunc< TDstTreeNode, TSrcTreeNode, TNodeConvFunc >::MakeNewTreeNode (const TSrcTreeNodeType &src_node)
 
template<class TDynamicTree , class TSrcBioTree , class TNodeConvFunc >
void BioTreeConvert2Dynamic (TDynamicTree &dyn_tree, const TSrcBioTree &bio_tree, TNodeConvFunc node_conv)
 Convert biotree to dynamic tree using a node converter. More...
 
template<class TDynamicTree , class TTreeNode , class TNodeConvFunc >
void TreeConvert2Dynamic (TDynamicTree &dyn_tree, const TTreeNode *src_tree, TNodeConvFunc node_conv)
 Convert CTreeNode<> to dynamic tree using a node converter. More...
 
template<class TDynamicTree , class TTreeNode , class TNodeConvFunc >
TTreeNode * DynamicConvert2Tree (TDynamicTree &dyn_tree, TNodeConvFunc node_conv, TTreeNode *&dst_node)
 Convert dynamic tree to CTreeNode<>, returned CTReeNode<> to be deleted by caller. More...
 
 CBioTreeConvert2ContainerFunc< TBioTreeContainer, TDynamicTree >::CBioTreeConvert2ContainerFunc (TBioTreeContainer *tree_container)
 
ETreeTraverseCode CBioTreeConvert2ContainerFunc< TBioTreeContainer, TDynamicTree >::operator() (const TDynamicNodeType &node, int delta_level)
 
template<class TBioTreeContainer , class TDynamicTree >
void BioTreeConvert2Container (TBioTreeContainer &tree_container, const TDynamicTree &dyn_tree)
 Convert Dynamic tree to ASN.1 BioTree container. More...
 
template<class TBioTreeContainer , class TDynamicTree >
void BioTreeConvertContainer2Dynamic (TDynamicTree &dyn_tree, const TBioTreeContainer &tree_container, bool preserve_node_ids=false)
 Convert ASN.1 BioTree container to dynamic tree. More...
 
template<class TBioTreeContainer , class TDynamicForest >
void BioTreeForestConvert2Container (TBioTreeContainer &tree_container, const TDynamicForest &dyn_forest)
 Convert forest of Dynamic trees to ASN.1 BioTree container. More...
 
template<class TBioTreeContainer , class TDynamicForest >
void BioTreeConvertContainer2DynamicForest (TDynamicForest &dyn_forest, const TBioTreeContainer &tree_container)
 Convert ASN.1 BioTree container to forest of dynamic trees. More...
 
 CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::CTaxon1NodeConvertVisitor (TBioTreeContainer *tree_container)
 
virtual CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::~CTaxon1NodeConvertVisitor ()
 
virtual EAction CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::Execute (const TITaxon1Node *pNode)
 
virtual EAction CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::LevelBegin (const TITaxon1Node *pParent)
 
virtual EAction CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::LevelEnd (const TITaxon1Node *)
 
int CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::GetMaxNodeId () const
 
template<class TBioTreeContainer >
void BioTreeAddFeatureToDictionary (TBioTreeContainer &tree_container, unsigned int feature_id, const string &feature_name)
 
 CTaxon1ConvertToBioTreeContainer< TBioTreeContainer, TTaxon1, TITaxon1Node, TITreeIterator >::CTaxon1ConvertToBioTreeContainer ()
 
void CTaxon1ConvertToBioTreeContainer< TBioTreeContainer, TTaxon1, TITaxon1Node, TITreeIterator >::operator() (TBioTreeContainer &tree_container, TTaxon1 &tax, TTaxId tax_id)
 
void CTaxon1ConvertToBioTreeContainer< TBioTreeContainer, TTaxon1, TITaxon1Node, TITreeIterator >::operator() (TBioTreeContainer &tree_container, CRef< TITreeIterator > tax_tree_iter)
 
int CTaxon1ConvertToBioTreeContainer< TBioTreeContainer, TTaxon1, TITaxon1Node, TITreeIterator >::GetMaxNodeId () const
 Get max node id (available after conversion) More...
 
void CTaxon1ConvertToBioTreeContainer< TBioTreeContainer, TTaxon1, TITaxon1Node, TITreeIterator >::SetupFeatureDictionary (TBioTreeContainer &tree_container)
 Add elements to the feature dictionary. More...
 
template<class TBioTreeContainer >
bool BioTreeContainerIsForest (const TBioTreeContainer &tree_container)
 Function to determine tree if a given biotree container is a single tree or a forest. More...
 
template<class TTreeNode , class TCompFun >
bool TreeCompare (const TTreeNode &tree1, const TTreeNode &tree2, TCompFun func)
 Compare two trees using comparison functor where order of children matters. More...
 
template<class TTreeNode , class TFunc >
TFunc TreeForEachParent (const TTreeNode &tree_node, TFunc func, bool skip_self=false)
 Visit every parent of the specified node. More...
 
 CTreeParentTraceFunc< TTreeNode, TTraceContainer >::CTreeParentTraceFunc (TTraceContainer *trace)
 
void CTreeParentTraceFunc< TTreeNode, TTraceContainer >::operator() (const TTreeNode &node)
 
template<class TTreeNode , class TTraceContainer >
void TreeTraceToRoot (const TTreeNode &tree_node, TTraceContainer &trace)
 Trace from the specified node to to the tree root. More...
 
template<class TTreeNode >
void TreeReRoot (TTreeNode &new_root_node)
 Change tree root (tree rotation) More...
 
template<class TTreeNode >
const TTreeNode * TreeFindCommonParent (const TTreeNode &tree_node_a, const TTreeNode &tree_node_b)
 Check if two nodes have the same common root. More...
 
 CTreePrintFunc< TTreeNode, TConverter >::CTreePrintFunc (CNcbiOstream &os, TConverter &conv, bool print_ptr)
 
ETreeTraverseCode CTreePrintFunc< TTreeNode, TConverter >::operator() (const TTreeNode &tr, int delta)
 
void CTreePrintFunc< TTreeNode, TConverter >::PrintLevelMargin ()
 
template<class TTreeNode , class TConverter >
void TreePrint (CNcbiOstream &os, const TTreeNode &tree_node, TConverter conv, bool print_ptr=false)
 Tree printing (use for debugging purposes) More...
 
template<class TPairTree , class TValue >
const TPairTree * PairTreeBackTraceNode (const TPairTree &tr, const TValue &search_id)
 Algorithm to to search for a node with specified id. More...
 
template<class TPairTree , class TPathList >
const TPairTree * PairTreeTraceNode (const TPairTree &tr, const TPathList &node_path)
 Algorithm to trace the pair tree and find specified leaf along the node path. More...
 
template<class TNodeListIt , class TBackInsert >
void TreeListToSet (TNodeListIt node_list_first, TNodeListIt node_list_last, TBackInsert back_ins)
 Convert list of node pointers to set of ids Input set is represented by input forward iterators Output set is a back insert iterator. More...
 
template<class TNodeList , class TBackInsert >
void TreeListToSet (const TNodeList &node_list, TBackInsert back_ins)
 Convert list of node pointers to set of ids. More...
 
 CTreeIdToSetFunc< TTreeNode, TBackInsert >::CTreeIdToSetFunc (TBackInsert back_ins)
 
ETreeTraverseCode CTreeIdToSetFunc< TTreeNode, TBackInsert >::operator() (const TTreeNode &node, int delta_level=0)
 
template<class TNode , class TBackInsert >
void TreeMakeParentsSet (const TNode &tree_node, TBackInsert back_ins)
 Traverses all ancestors and add their ids to a set. More...
 
template<class TNode , class TBackInsert >
void TreeMakeSet (const TNode &tree_node, TBackInsert back_ins)
 Create set of all sub-nodes (recursively) More...
 
template<class TNode , class TBackInsert >
void TreeMakeSubNodesSet (const TNode &tree_node, TBackInsert back_ins)
 Create set of all immediate sub-nodes (one level down from the root) More...
 
 CTreeSet2NodeListFunc< TTreeNode, TSet, TNodeList >::CTreeSet2NodeListFunc (const TSet &node_set, TNodeList *node_list)
 
ETreeTraverseCode CTreeSet2NodeListFunc< TTreeNode, TSet, TNodeList >::operator() (const TTreeNode &node, int delta_level=0)
 
template<class TNode , class TSet , class TNodeList >
void TreeSetToNodeList (const TNode &tree_node, const TSet &node_set, TNodeList &nlist)
 Convert set of node ids to list of nodes. More...
 
void CTreeNonRedundantSet< TNode, TSet, TNodeList >::operator() (const TNodeList &src_nlist, TNodeList &dst_nlist)
 
void CTreeMinimalSet< TNode, TSet, TNodeList >::operator() (const TNodeList &src_nlist, TNodeList &dst_nlist, const TSet *ignore_set=0)
 Compute minimal set. More...
 
void CTreeMinimalSet< TNode, TSet, TNodeList >::MinimalSet (const TNodeList &src_nlist, TNodeList &dst_nlist, const TSet *ignore_set=0)
 
bool CTreeMinimalSet< TNode, TSet, TNodeList >::CheckNodeList (const TNodeList &nlist, TNodeList &dst_nlist, TSet &src_set, TSet &tmp_set, TSet &child_set, const TSet *ignore_set)
 
void CNodesToBitset< TNode, TSet, TNodeList >::JoinNodeList (const TNodeList &src_nlist_a, const TNodeList &src_nlist_b, const TSet &mask_set, TNodeList &dst_list, TSet &dst_set)
 Join two node lists. More...
 
void CNodesToBitset< TNode, TSet, TNodeList >::MaskCopyNodes (const TNodeList &src_nlist, const TSet &mask_set, TNodeList &dst_list, TSet &dst_set)
 Copy nodes from the source node list to destination if nodes are in the mask set and not yet in the destination set. More...
 
void CTreeNodesAnd< TNode, TSet, TNodeList >::operator() (const TNodeList &src_nlist_a, const TNodeList &src_nlist_b, TNodeList &dst_nlist)
 
void CTreeNodesAnd< TNode, TSet, TNodeList >::operator() (const TNodeList &src_nlist_a, const TNodeList &src_nlist_b, TNodeList &dst_nlist, TSet &dst_set)
 
void CTreeNodesOr< TNode, TSet, TNodeList >::operator() (const TNodeList &src_nlist_a, const TNodeList &src_nlist_b, TNodeList &dst_nlist)
 
void CTreeNodesOr< TNode, TSet, TNodeList >::operator() (const TNodeList &src_nlist_a, const TNodeList &src_nlist_b, TNodeList &dst_nlist, TSet &dst_set)
 
 CDefaultNodeKeyGetter< TValue, TKeyEqualP >::CDefaultNodeKeyGetter (const TKeyEqual &key_equal=TKeyEqual())
 
const TKeyEqualCDefaultNodeKeyGetter< TValue, TKeyEqualP >::GetKeyEqual () const
 Get key comparator. More...
 
const TValueTypeCDefaultNodeKeyGetter< TValue, TKeyEqualP >::GetValue (const TNodeType &node) const
 Get value of a node. More...
 
TValueTypeCDefaultNodeKeyGetter< TValue, TKeyEqualP >::GetValueNC (TNodeType &node) const
 Get non-const value of a node. More...
 
const TKeyTypeCDefaultNodeKeyGetter< TValue, TKeyEqualP >::GetKey (const TNodeType &node) const
 Get key of a node. More...
 
TKeyTypeCDefaultNodeKeyGetter< TValue, TKeyEqualP >::GetKeyNC (TNodeType &node) const
 Get non-const key. More...
 
bool CDefaultNodeKeyGetter< TValue, TKeyEqualP >::KeyEqual (const TKeyType &key1, const TKeyType &key2) const
 Check if the two keys are equal. More...
 
bool CDefaultNodeKeyGetter< TValue, TKeyEqualP >::KeyCompare (const TKeyType &key1, const TKeyType &key2) const
 Check if the two keys are equal. More...
 
 CTreeNode< TValue, TKeyGetterP >::CTreeNode (const TValue &value=TValue())
 Tree node construction. More...
 
 CTreeNode< TValue, TKeyGetterP >::CTreeNode (const TKeyGetter &getter, const TValue &value=TValue())
 
virtual CTreeNode< TValue, TKeyGetterP >::~CTreeNode ()
 
 CTreeNode< TValue, TKeyGetterP >::CTreeNode (const TTreeType &tree)
 
CTreeNodeCTreeNode< TValue, TKeyGetterP >::operator= (const TTreeType &tree)
 
const TKeyGetterCTreeNode< TValue, TKeyGetterP >::GetKeyGetter (void) const
 Get key getter. More...
 
const TTreeTypeCTreeNode< TValue, TKeyGetterP >::GetParent (void) const
 Get node's parent. More...
 
TTreeTypeCTreeNode< TValue, TKeyGetterP >::GetParent (void)
 Get node's parent. More...
 
const TTreeTypeCTreeNode< TValue, TKeyGetterP >::GetRoot (void) const
 Get the topmost node. More...
 
TTreeTypeCTreeNode< TValue, TKeyGetterP >::GetRoot (void)
 Get the topmost node. More...
 
TNodeList_CI CTreeNode< TValue, TKeyGetterP >::SubNodeBegin (void) const
 Return first const iterator on subnode list. More...
 
TNodeList_I CTreeNode< TValue, TKeyGetterP >::SubNodeBegin (void)
 Return first iterator on subnode list. More...
 
TNodeList_CI CTreeNode< TValue, TKeyGetterP >::SubNodeEnd (void) const
 Return last const iterator on subnode list. More...
 
TNodeList_I CTreeNode< TValue, TKeyGetterP >::SubNodeEnd (void)
 Return last iterator on subnode list. More...
 
TNodeList_CRI CTreeNode< TValue, TKeyGetterP >::SubNodeRBegin (void) const
 Return first const reverse iterator on subnode list. More...
 
TNodeList_RI CTreeNode< TValue, TKeyGetterP >::SubNodeRBegin (void)
 Return first reverse iterator on subnode list. More...
 
TNodeList_CRI CTreeNode< TValue, TKeyGetterP >::SubNodeREnd (void) const
 Return last const reverse iterator on subnode list. More...
 
TNodeList_RI CTreeNode< TValue, TKeyGetterP >::SubNodeREnd (void)
 Return last reverse iterator on subnode list. More...
 
const TValue & CTreeNode< TValue, TKeyGetterP >::GetValue (void) const
 Return node's value. More...
 
TValue & CTreeNode< TValue, TKeyGetterP >::GetValue (void)
 Return node's value. More...
 
void CTreeNode< TValue, TKeyGetterP >::SetValue (const TValue &value)
 Set value for the node. More...
 
const TValue & CTreeNode< TValue, TKeyGetterP >::operator* (void) const
 
TValue & CTreeNode< TValue, TKeyGetterP >::operator* (void)
 
const TValue * CTreeNode< TValue, TKeyGetterP >::operator-> (void) const
 
TValue * CTreeNode< TValue, TKeyGetterP >::operator-> (void)
 
const TKeyTypeCTreeNode< TValue, TKeyGetterP >::GetKey (void) const
 
TKeyTypeCTreeNode< TValue, TKeyGetterP >::GetKey (void)
 
const TKeyEqualCTreeNode< TValue, TKeyGetterP >::GetKeyEqual () const
 Return key equal predicate. More...
 
bool CTreeNode< TValue, TKeyGetterP >::KeyEqual (const TKeyType &key) const
 Check if the node's key is equal to the argument. More...
 
void CTreeNode< TValue, TKeyGetterP >::RemoveNode (TTreeType *subnode)
 Remove subnode of the current node. More...
 
void CTreeNode< TValue, TKeyGetterP >::RemoveNode (TNodeList_I it)
 Remove subnode of the current node. More...
 
void CTreeNode< TValue, TKeyGetterP >::RemoveAllSubNodes (EDeletePolicy del=eDelete)
 Remove all immediate subnodes. More...
 
TTreeTypeCTreeNode< TValue, TKeyGetterP >::DetachNode (TTreeType *subnode)
 Remove the subtree from the tree without destroying it. More...
 
TTreeTypeCTreeNode< TValue, TKeyGetterP >::DetachNode (TNodeList_I it)
 Remove the subtree from the tree without destroying it. More...
 
void CTreeNode< TValue, TKeyGetterP >::AddNode (TTreeType *subnode)
 Add new subnode. More...
 
TTreeTypeCTreeNode< TValue, TKeyGetterP >::AddNode (const TValue &val=TValue())
 Add new subnode whose value is (a copy of) val. More...
 
void CTreeNode< TValue, TKeyGetterP >::MoveSubnodes (TTreeType *src_tree_node)
 Remove all subnodes from the source node and attach them to the current tree (node). More...
 
void CTreeNode< TValue, TKeyGetterP >::InsertNode (TNodeList_I it, TTreeType *subnode)
 Insert new subnode before the specified location in the subnode list. More...
 
bool CTreeNode< TValue, TKeyGetterP >::IsLeaf () const
 Report whether this is a leaf node. More...
 
bool CTreeNode< TValue, TKeyGetterP >::IsParent (const TTreeType &tree_node) const
 Check if node is a direct or indirect parent of this node. More...
 
void CTreeNode< TValue, TKeyGetterP >::FindNodes (const TKeyList &node_path, TNodeList *res)
 Find tree nodes corresponding to the path from the top. More...
 
TTreeTypeCTreeNode< TValue, TKeyGetterP >::FindOrCreateNode (const TKeyList &node_path)
 Find or create tree node corresponding to the path from the top. More...
 
void CTreeNode< TValue, TKeyGetterP >::FindNodes (const TKeyList &node_path, TConstNodeList *res) const
 Find tree nodes corresponding to the path from the top. More...
 
const TTreeTypeCTreeNode< TValue, TKeyGetterP >::FindSubNode (const TKeyType &key) const
 Non recursive linear scan of all subnodes, with key comparison. More...
 
TTreeTypeCTreeNode< TValue, TKeyGetterP >::FindSubNode (const TKeyType &key)
 Non recursive linear scan of all subnodes, with key comparison. More...
 
const TTreeTypeCTreeNode< TValue, TKeyGetterP >::FindNode (const TKeyType &key, TNodeSearchMode sflag=eImmediateAndTop) const
 Search for node. More...
 
unsigned int CTreeNode< TValue, TKeyGetterP >::CountNodes (unsigned int depth=1, TCountNodes how=0) const
 Count nodes of the tree of which this node is a root. More...
 
template<class TNodeComparator >
void CTreeNode< TValue, TKeyGetterP >::SortChildren (const TNodeComparator &compare)
 
 CTreeNode< TValue, TKeyGetterP >::CSorter< TNodeComparator >::CSorter (const TNodeComparator &compare)
 
ETreeTraverseCode CTreeNode< TValue, TKeyGetterP >::CSorter< TNodeComparator >::operator() (TTreeType &node, int delta_level)
 
void CTreeNode< TValue, TKeyGetterP >::CopyFrom (const TTreeType &tree)
 
void CTreeNode< TValue, TKeyGetterP >::SetParent (TTreeType *parent_node)
 
const TNodeListCTreeNode< TValue, TKeyGetterP >::GetSubNodes () const
 
 CPairNodeKeyGetter< TNode, TKeyEqualP >::CPairNodeKeyGetter (const TKeyEqual &key_equal=TKeyEqual())
 
const TKeyEqualCPairNodeKeyGetter< TNode, TKeyEqualP >::GetKeyEqual () const
 Get key comparator. More...
 
const TValueTypeCPairNodeKeyGetter< TNode, TKeyEqualP >::GetValue (const TNodeType &node) const
 
TValueTypeCPairNodeKeyGetter< TNode, TKeyEqualP >::GetValueNC (TNodeType &node) const
 
const TKeyTypeCPairNodeKeyGetter< TNode, TKeyEqualP >::GetKey (const TNodeType &node) const
 
TKeyTypeCPairNodeKeyGetter< TNode, TKeyEqualP >::GetKeyNC (TNodeType &node) const
 
bool CPairNodeKeyGetter< TNode, TKeyEqualP >::KeyEqual (const TKeyType &key1, const TKeyType &key2) const
 
bool CPairNodeKeyGetter< TNode, TKeyEqualP >::KeyCompare (const TKeyType &key1, const TKeyType &key2) const
 
 CTreePair< TId, TValue, TIdEqual >::CTreePair ()
 
 CTreePair< TId, TValue, TIdEqual >::CTreePair (const TId &aid, const TValue &avalue=TValue())
 
template<class TTreeNode , class Fun >
Fun TreeDepthFirstTraverse (TTreeNode &tree_node, Fun func)
 Depth-first tree traversal algorithm. More...
 
template<class TTreeNode , class Fun >
Fun TreeBreadthFirstTraverse (TTreeNode &tree_node, Fun func)
 Breadth-first tree traversal algorithm. More...
 
template<class TValue , class TNodeComparator >
void SortTree (CTreeNode< TValue > &root, const TNodeComparator &compare)
 
 CCompareByLeafCount< TValue, TKeyGetter >::CCompareByLeafCount (bool ascending=false)
 
bool CCompareByLeafCount< TValue, TKeyGetter >::operator() (const TNodeType *node1, const TNodeType *node2) const
 

Variables

TBioTreeFeatureId CBioTreeFeaturePair::id
 
string CBioTreeFeaturePair::value
 
TFeatureList CBioTreeFeatureList::m_FeatureList
 
TBioTreeNodeId BioTreeBaseNode< TNodeData, TNodeFeatures >::uid
 Unique node Id. More...
 
TNodeData BioTreeBaseNode< TNodeData, TNodeFeatures >::data
 additional node info More...
 
TNodeFeatures BioTreeBaseNode< TNodeData, TNodeFeatures >::features
 list of node features More...
 
TFeatureDict CBioTreeFeatureDictionary::m_Dict
 id -> feature name map More...
 
TFeatureNameIdx CBioTreeFeatureDictionary::m_Name2Id
 id -> feature name map More...
 
unsigned int CBioTreeFeatureDictionary::m_IdCounter
 Feature id counter. More...
 
TBioTreeCBioTree< TBioNode >::CBioNode::m_ParentTree
 Pointer on the hosting class. More...
 
TBioTreeNodeId CBioTree< TBioNode >::CFindUidFunc::m_Uid
 Node uid to search for. More...
 
TBioTreeNodeCBioTree< TBioNode >::CFindUidFunc::m_Node
 Search result. More...
 
CBioTreeCBioTree< TBioNode >::CAssignTreeFunc::m_Tree
 
CBioTreeFeatureDictionary CBioTree< TBioNode >::m_FeatureDict
 
TBioTreeNodeId CBioTree< TBioNode >::m_NodeIdCounter
 
unique_ptr< TBioTreeNodeCBioTree< TBioNode >::m_TreeNode
 Top level node. More...
 
TDstTreeNodeTypeCTree2TreeFunc< TDstTreeNode, TSrcTreeNode, TNodeConvFunc >::m_DstTree
 
TNodeConvFunc & CTree2TreeFunc< TDstTreeNode, TSrcTreeNode, TNodeConvFunc >::m_ConvFunc
 
vector< TDstTreeNodeType * > CTree2TreeFunc< TDstTreeNode, TSrcTreeNode, TNodeConvFunc >::m_TreeStack
 
TBioTreeContainer * CBioTreeConvert2ContainerFunc< TBioTreeContainer, TDynamicTree >::m_Container
 
TNodeListCBioTreeConvert2ContainerFunc< TBioTreeContainer, TDynamicTree >::m_NodeList
 
TBioTreeContainer * CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::m_TreeContainer
 
TNodeListCTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::m_NodeList
 
vector< TTaxIdCTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::m_Parents
 
int CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::m_MaxUID
 
int CTaxon1ConvertToBioTreeContainer< TBioTreeContainer, TTaxon1, TITaxon1Node, TITreeIterator >::m_MaxNodeId
 
TTraceContainer * CTreeParentTraceFunc< TTreeNode, TTraceContainer >::m_Trace
 
CNcbiOstreamCTreePrintFunc< TTreeNode, TConverter >::m_OStream
 
TConverter & CTreePrintFunc< TTreeNode, TConverter >::m_Conv
 
int CTreePrintFunc< TTreeNode, TConverter >::m_Level
 
bool CTreePrintFunc< TTreeNode, TConverter >::m_PrintPtr
 
TBackInsert CTreeIdToSetFunc< TTreeNode, TBackInsert >::m_BackIns
 
const TSet & CTreeSet2NodeListFunc< TTreeNode, TSet, TNodeList >::m_NodeSet
 
TNodeList * CTreeSet2NodeListFunc< TTreeNode, TSet, TNodeList >::m_NodeList
 
const TNodeComparator & CTreeNode< TValue, TKeyGetterP >::CSorter< TNodeComparator >::m_Compare
 
pair_base_member< TKeyGetter, TTreeType * > CTreeNode< TValue, TKeyGetterP >::m_GetterAndParent
 Key getter and pointer to the parent node. More...
 
TNodeList CTreeNode< TValue, TKeyGetterP >::m_Nodes
 List of dependent nodes. More...
 
TValue CTreeNode< TValue, TKeyGetterP >::m_Value
 Node value. More...
 
TId CTreePair< TId, TValue, TIdEqual >::id
 
TValue CTreePair< TId, TValue, TIdEqual >::value
 
bool CCompareByLeafCount< TValue, TKeyGetter >::m_Ascending
 

Detailed Description

Typedef Documentation

◆ CBioTreeDynamic

Bio tree without static elements.

Everything is stored as features.

Definition at line 493 of file bio_tree.hpp.

◆ EAction

template<class TITaxon4Each , class TITaxon1Node , class TITreeIterator , class TBioTreeContainer >
typedef TITreeIterator::EAction CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::EAction

Definition at line 583 of file bio_tree_conv.hpp.

◆ T4Each

template<class TBioTreeContainer , class TTaxon1 , class TITaxon1Node , class TITreeIterator >
typedef TITreeIterator::I4Each CTaxon1ConvertToBioTreeContainer< TBioTreeContainer, TTaxon1, TITaxon1Node, TITreeIterator >::T4Each

Definition at line 773 of file bio_tree_conv.hpp.

◆ TBioNodeType

template<class TBioNode >
typedef TBioNode CBioTree< TBioNode >::TBioNodeType

Definition at line 359 of file bio_tree.hpp.

◆ TBioTree

template<class TBioNode >
typedef CBioTree<TBioNode> CBioTree< TBioNode >::TBioTree

Definition at line 234 of file bio_tree.hpp.

◆ TBioTreeFeatureId

typedef unsigned int TBioTreeFeatureId

Feature Id.

All bio tree dynamic features are encoded by feature ids. Ids are shared among the tree nodes. Feature id to feature name map is supported by the tree.

Definition at line 60 of file bio_tree.hpp.

◆ TBioTreeNode

template<class TBioNode >
typedef CBioNode CBioTree< TBioNode >::TBioTreeNode

Biotree node (forms the tree hierarchy)

Definition at line 358 of file bio_tree.hpp.

◆ TBioTreeNodeId

typedef unsigned int TBioTreeNodeId

Tree node id. Every node has its unique id in the tree.

Definition at line 63 of file bio_tree.hpp.

◆ TCNode [1/2]

template<class TBioTreeContainer , class TDynamicTree >
typedef TNodeList::value_type::element_type CBioTreeConvert2ContainerFunc< TBioTreeContainer, TDynamicTree >::TCNode
protected

Definition at line 219 of file bio_tree_conv.hpp.

◆ TCNode [2/2]

template<class TITaxon4Each , class TITaxon1Node , class TITreeIterator , class TBioTreeContainer >
typedef TNodeList::value_type::element_type CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::TCNode

Definition at line 587 of file bio_tree_conv.hpp.

◆ TCNodeFeature [1/2]

template<class TBioTreeContainer , class TDynamicTree >
typedef TNodeFeatureList::value_type::element_type CBioTreeConvert2ContainerFunc< TBioTreeContainer, TDynamicTree >::TCNodeFeature
protected

Definition at line 223 of file bio_tree_conv.hpp.

◆ TCNodeFeature [2/2]

template<class TITaxon4Each , class TITaxon1Node , class TITreeIterator , class TBioTreeContainer >
typedef TNodeFeatureList::value_type::element_type CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::TCNodeFeature

Definition at line 591 of file bio_tree_conv.hpp.

◆ TCNodeFeatureSet [1/2]

template<class TBioTreeContainer , class TDynamicTree >
typedef TCNode::TFeatures CBioTreeConvert2ContainerFunc< TBioTreeContainer, TDynamicTree >::TCNodeFeatureSet
protected

Definition at line 220 of file bio_tree_conv.hpp.

◆ TCNodeFeatureSet [2/2]

template<class TITaxon4Each , class TITaxon1Node , class TITreeIterator , class TBioTreeContainer >
typedef TCNode::TFeatures CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::TCNodeFeatureSet

Definition at line 588 of file bio_tree_conv.hpp.

◆ TCNodeSet [1/2]

template<class TBioTreeContainer , class TDynamicTree >
typedef TBioTreeContainer::TNodes CBioTreeConvert2ContainerFunc< TBioTreeContainer, TDynamicTree >::TCNodeSet
protected

Definition at line 217 of file bio_tree_conv.hpp.

◆ TCNodeSet [2/2]

template<class TITaxon4Each , class TITaxon1Node , class TITreeIterator , class TBioTreeContainer >
typedef TBioTreeContainer::TNodes CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::TCNodeSet

Definition at line 585 of file bio_tree_conv.hpp.

◆ TConstNodeList

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
typedef list<const TTreeType*> CTreeNode< TValue, TKeyGetterP >::TConstNodeList

Definition at line 108 of file ncbi_tree.hpp.

◆ TCountNodes

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
typedef int CTreeNode< TValue, TKeyGetterP >::TCountNodes

Bitwise mask of ECountNodes.

See also
CountNodes, ECountNodes

Definition at line 373 of file ncbi_tree.hpp.

◆ TDstTreeNodeType

template<class TDstTreeNode , class TSrcTreeNode , class TNodeConvFunc >
typedef TDstTreeNode CTree2TreeFunc< TDstTreeNode, TSrcTreeNode, TNodeConvFunc >::TDstTreeNodeType

Definition at line 59 of file bio_tree_conv.hpp.

◆ TDynamicNodeType

template<class TBioTreeContainer , class TDynamicTree >
typedef TDynamicTree::TBioTreeNode CBioTreeConvert2ContainerFunc< TBioTreeContainer, TDynamicTree >::TDynamicNodeType
protected

Definition at line 214 of file bio_tree_conv.hpp.

◆ TDynamicNodeValueType

template<class TBioTreeContainer , class TDynamicTree >
typedef TDynamicNodeType::TValueType CBioTreeConvert2ContainerFunc< TBioTreeContainer, TDynamicTree >::TDynamicNodeValueType
protected

Definition at line 215 of file bio_tree_conv.hpp.

◆ TFeatureDict

Feature dictionary (feature id -> feature name map)

Definition at line 179 of file bio_tree.hpp.

◆ TFeatureList

Definition at line 103 of file bio_tree.hpp.

◆ TFeatureNameIdx

Feature reverse index (feature name -> id)

Definition at line 182 of file bio_tree.hpp.

◆ TIdType

template<class TId , class TValue , class TIdEqual = std::equal_to<TId>>
typedef TId CTreePair< TId, TValue, TIdEqual >::TIdType

Definition at line 455 of file ncbi_tree.hpp.

◆ TKeyEqual [1/3]

template<class TValue , class TKeyEqualP = std::equal_to<TValue>>
typedef TKeyEqualP CDefaultNodeKeyGetter< TValue, TKeyEqualP >::TKeyEqual

key equal comparator

Definition at line 72 of file ncbi_tree.hpp.

◆ TKeyEqual [2/3]

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
typedef TKeyGetter::TKeyEqual CTreeNode< TValue, TKeyGetterP >::TKeyEqual

Definition at line 105 of file ncbi_tree.hpp.

◆ TKeyEqual [3/3]

template<class TNode , class TKeyEqualP = std::equal_to<typename TNode::TIdType>>
typedef TKeyEqualP CPairNodeKeyGetter< TNode, TKeyEqualP >::TKeyEqual

Definition at line 425 of file ncbi_tree.hpp.

◆ TKeyGetter

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
typedef TKeyGetterP CTreeNode< TValue, TKeyGetterP >::TKeyGetter

Definition at line 103 of file ncbi_tree.hpp.

◆ TKeyList

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
typedef list<TKeyType> CTreeNode< TValue, TKeyGetterP >::TKeyList

Definition at line 113 of file ncbi_tree.hpp.

◆ TKeyType [1/3]

template<class TValue , class TKeyEqualP = std::equal_to<TValue>>
typedef TValue CDefaultNodeKeyGetter< TValue, TKeyEqualP >::TKeyType

node's key

Definition at line 71 of file ncbi_tree.hpp.

◆ TKeyType [2/3]

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
typedef TKeyGetter::TKeyType CTreeNode< TValue, TKeyGetterP >::TKeyType

Definition at line 104 of file ncbi_tree.hpp.

◆ TKeyType [3/3]

template<class TNode , class TKeyEqualP = std::equal_to<typename TNode::TIdType>>
typedef TNode::TIdType CPairNodeKeyGetter< TNode, TKeyEqualP >::TKeyType

Definition at line 424 of file ncbi_tree.hpp.

◆ TNodeDataType

template<class TNodeData = CBioTreeEmptyNodeData, class TNodeFeatures = CBioTreeFeatureList>
typedef TNodeData BioTreeBaseNode< TNodeData, TNodeFeatures >::TNodeDataType

Definition at line 154 of file bio_tree.hpp.

◆ TNodeFeatureList [1/2]

template<class TBioTreeContainer , class TDynamicTree >
typedef TCNodeFeatureSet::Tdata CBioTreeConvert2ContainerFunc< TBioTreeContainer, TDynamicTree >::TNodeFeatureList
protected

Definition at line 221 of file bio_tree_conv.hpp.

◆ TNodeFeatureList [2/2]

template<class TITaxon4Each , class TITaxon1Node , class TITreeIterator , class TBioTreeContainer >
typedef TCNodeFeatureSet::Tdata CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::TNodeFeatureList

Definition at line 589 of file bio_tree_conv.hpp.

◆ TNodeFeaturesType

template<class TNodeData = CBioTreeEmptyNodeData, class TNodeFeatures = CBioTreeFeatureList>
typedef TNodeFeatures BioTreeBaseNode< TNodeData, TNodeFeatures >::TNodeFeaturesType

Definition at line 155 of file bio_tree.hpp.

◆ TNodeList [1/3]

template<class TBioTreeContainer , class TDynamicTree >
typedef TCNodeSet::Tdata CBioTreeConvert2ContainerFunc< TBioTreeContainer, TDynamicTree >::TNodeList
protected

Definition at line 218 of file bio_tree_conv.hpp.

◆ TNodeList [2/3]

template<class TITaxon4Each , class TITaxon1Node , class TITreeIterator , class TBioTreeContainer >
typedef TCNodeSet::Tdata CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::TNodeList

Definition at line 586 of file bio_tree_conv.hpp.

◆ TNodeList [3/3]

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
typedef list<TTreeType*> CTreeNode< TValue, TKeyGetterP >::TNodeList

Definition at line 107 of file ncbi_tree.hpp.

◆ TNodeList_CI

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
typedef TNodeList::const_iterator CTreeNode< TValue, TKeyGetterP >::TNodeList_CI

Definition at line 110 of file ncbi_tree.hpp.

◆ TNodeList_CRI

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
typedef TNodeList::const_reverse_iterator CTreeNode< TValue, TKeyGetterP >::TNodeList_CRI

Definition at line 112 of file ncbi_tree.hpp.

◆ TNodeList_I

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
typedef TNodeList::iterator CTreeNode< TValue, TKeyGetterP >::TNodeList_I

Definition at line 109 of file ncbi_tree.hpp.

◆ TNodeList_RI

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
typedef TNodeList::reverse_iterator CTreeNode< TValue, TKeyGetterP >::TNodeList_RI

Definition at line 111 of file ncbi_tree.hpp.

◆ TNodeSearchMode

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
typedef int CTreeNode< TValue, TKeyGetterP >::TNodeSearchMode

Bitwise mask of ENodeSearchType.

Definition at line 353 of file ncbi_tree.hpp.

◆ TNodeType [1/3]

template<class TValue , class TKeyEqualP = std::equal_to<TValue>>
typedef TValue CDefaultNodeKeyGetter< TValue, TKeyEqualP >::TNodeType

same as CTreeNode template argument

Definition at line 69 of file ncbi_tree.hpp.

◆ TNodeType [2/3]

template<class TNode , class TKeyEqualP = std::equal_to<typename TNode::TIdType>>
typedef TNode CPairNodeKeyGetter< TNode, TKeyEqualP >::TNodeType

Definition at line 422 of file ncbi_tree.hpp.

◆ TNodeType [3/3]

template<class TValue , class TKeyGetter = CDefaultNodeKeyGetter<TValue>>
typedef CTreeNode<TValue, TKeyGetter> CCompareByLeafCount< TValue, TKeyGetter >::TNodeType

Definition at line 1045 of file ncbi_tree.hpp.

◆ TPairKeyGetter

template<class TId , class TValue , class TIdEqual = std::equal_to<TId>>
typedef CPairNodeKeyGetter<TTreePair, TIdEqual> CTreePair< TId, TValue, TIdEqual >::TPairKeyGetter

Key getter for CTreeNode.

Definition at line 461 of file ncbi_tree.hpp.

◆ TPairTreeNode

template<class TId , class TValue , class TIdEqual = std::equal_to<TId>>
typedef CTreeNode<TTreePair, TPairKeyGetter> CTreePair< TId, TValue, TIdEqual >::TPairTreeNode

Tree node type.

Definition at line 463 of file ncbi_tree.hpp.

◆ TParent

template<class TBioNode >
typedef CTreeNode<TBioNode> CBioTree< TBioNode >::CBioNode::TParent

Definition at line 244 of file bio_tree.hpp.

◆ TSrcTreeNodeType

template<class TDstTreeNode , class TSrcTreeNode , class TNodeConvFunc >
typedef TSrcTreeNode CTree2TreeFunc< TDstTreeNode, TSrcTreeNode, TNodeConvFunc >::TSrcTreeNodeType

Definition at line 60 of file bio_tree_conv.hpp.

◆ TTaxon1Visitor

template<class TBioTreeContainer , class TTaxon1 , class TITaxon1Node , class TITreeIterator >
typedef CTaxon1NodeConvertVisitor<T4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer> CTaxon1ConvertToBioTreeContainer< TBioTreeContainer, TTaxon1, TITaxon1Node, TITreeIterator >::TTaxon1Visitor

Definition at line 776 of file bio_tree_conv.hpp.

◆ TTreePair

template<class TId , class TValue , class TIdEqual = std::equal_to<TId>>
typedef CTreePair<TId, TValue, TIdEqual> CTreePair< TId, TValue, TIdEqual >::TTreePair

Node data type.

Definition at line 459 of file ncbi_tree.hpp.

◆ TTreeType [1/2]

template<class TBioNode >
typedef CBioNode CBioTree< TBioNode >::CBioNode::TTreeType

Definition at line 245 of file bio_tree.hpp.

◆ TTreeType [2/2]

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
typedef CTreeNode<TValue, TKeyGetter> CTreeNode< TValue, TKeyGetterP >::TTreeType

Definition at line 106 of file ncbi_tree.hpp.

◆ TValueType [1/4]

template<class TValue , class TKeyEqualP = std::equal_to<TValue>>
typedef TValue CDefaultNodeKeyGetter< TValue, TKeyEqualP >::TValueType

node's value

Definition at line 70 of file ncbi_tree.hpp.

◆ TValueType [2/4]

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
typedef TValue CTreeNode< TValue, TKeyGetterP >::TValueType

Definition at line 102 of file ncbi_tree.hpp.

◆ TValueType [3/4]

template<class TNode , class TKeyEqualP = std::equal_to<typename TNode::TIdType>>
typedef TNode::TValueType CPairNodeKeyGetter< TNode, TKeyEqualP >::TValueType

Definition at line 423 of file ncbi_tree.hpp.

◆ TValueType [4/4]

template<class TId , class TValue , class TIdEqual = std::equal_to<TId>>
typedef TValue CTreePair< TId, TValue, TIdEqual >::TValueType

Definition at line 456 of file ncbi_tree.hpp.

Enumeration Type Documentation

◆ ECountNodes

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
enum CTreeNode::ECountNodes

How to count nodes in the tree of which this node is a root.

See also
CountNodes, TConstNodeList
Enumerator
fOnlyLeafs 

Only "leaf" nodes.

fCumulative 

All nodes up to the specified depth.

Definition at line 367 of file ncbi_tree.hpp.

◆ EDeletePolicy

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
enum CTreeNode::EDeletePolicy

Whether to destroy the sub-nodes when bulk-cleaning the node.

See also
RemoveAllSubNodes
Enumerator
eDelete 

Destroy the sub-nodes when bulk-cleaning the node.

eNoDelete 

Just exclude nodes from the tree, do not destroy them.

Definition at line 226 of file ncbi_tree.hpp.

◆ ENodeSearchType

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
enum CTreeNode::ENodeSearchType

Parameters for node search by key.

Enumerator
eImmediateSubNodes 

Search direct subnodes.

eTopLevelNodes 

Search subnodes of the root.

eAllUpperSubNodes 

Search all subnodes on the way up.

eImmediateAndTop 

Definition at line 345 of file ncbi_tree.hpp.

◆ ETaxon1ConvFeatures

Feature ids for Bio-Tree.

Enumerator
eTaxTree_Name 
eTaxTree_BlastName 
eTaxTree_Rank 
eTaxTree_Division 
eTaxTree_GC 
eTaxTree_MGC 
eTaxTree_IsUncultured 
eTaxTree_TaxId 
eTaxTree_SeqId 
eTaxTree_Label 

Definition at line 559 of file bio_tree_conv.hpp.

◆ ETreeTraverseCode

Tree traverse code returned by the traverse predicate function.

Enumerator
eTreeTraverse 

Keep traversal.

eTreeTraverseStop 

Stop traversal (return form algorithm)

eTreeTraverseStepOver 

Do not traverse current node (pick the next one)

Definition at line 50 of file ncbi_tree.hpp.

Function Documentation

◆ AddFeature() [1/2]

template<class TBioNode >
void CBioTree< TBioNode >::AddFeature ( TBioTreeNode node,
const string feature_name,
const string feature_value 
)

Add feature to the tree node Function controls that the feature is registered in the feature dictionary of this tree.

If feature is not found it is added to the dictionary

Definition at line 589 of file bio_tree.hpp.

◆ AddFeature() [2/2]

template<class TBioNode >
void CBioTree< TBioNode >::AddFeature ( TBioTreeNode node,
TBioTreeFeatureId  feature_id,
const string feature_value 
)

Add feature to the tree node Function controls that the feature is registered in the feature dictionary of this tree.

Definition at line 575 of file bio_tree.hpp.

References CTreeNode< TValue, TKeyGetterP >::GetValue().

Referenced by CBioTree< BioTreeBaseNode< CBioTreeEmptyNodeData, CBioTreeFeatureList > >::CBioNode::SetFeature().

◆ AddNode() [1/6]

template<class TBioNode >
CBioNode* CBioTree< TBioNode >::CBioNode::AddNode ( const TBioNode &  val = TBioNode())
inline

Add a subnode to this node based on value.

Definition at line 316 of file bio_tree.hpp.

◆ AddNode() [2/6]

template<class TBioNode >
CBioTree< TBioNode >::TBioTreeNode * CBioTree< TBioNode >::AddNode ( const TBioNodeType node_value,
TBioTreeNode parent_node 
)

Add a node to the tree when you have already looked up the parent node (faster)

Definition at line 636 of file bio_tree.hpp.

References CBioTree< TBioNode >::CBioNode::AddNode().

◆ AddNode() [3/6]

template<class TBioNode >
CBioTree< TBioNode >::TBioTreeNode * CBioTree< TBioNode >::AddNode ( const TBioNodeType node_value,
TBioTreeNodeId  parent_id 
)

Add node to the tree (node location is defined by the parent id.

Definition at line 620 of file bio_tree.hpp.

References CBioTree< TBioNode >::CBioNode::AddNode().

◆ AddNode() [4/6]

template<class TValue , class TKeyGetter >
CTreeNode< TValue, TKeyGetter >::TTreeType * CTreeNode< TValue, TKeyGetter >::AddNode ( const TValue &  val = TValue())

Add new subnode whose value is (a copy of) val.

Parameters
valvalue reference
Returns
pointer to new subtree

Definition at line 752 of file ncbi_tree.hpp.

References AddNode(), and val.

◆ AddNode() [5/6]

template<class TBioNode >
void CBioTree< TBioNode >::CBioNode::AddNode ( TTreeType subnode)
inline

Node is added as a subnode the this node.

Definition at line 307 of file bio_tree.hpp.

Referenced by CBioTree< BioTreeBaseNode< CBioTreeEmptyNodeData, CBioTreeFeatureList > >::CBioNode::AddNode(), and CBioTree< TBioNode >::AddNode().

◆ AddNode() [6/6]

template<class TValue , class TKeyGetter >
void CTreeNode< TValue, TKeyGetter >::AddNode ( TTreeType subnode)

◆ BioTreeAddFeatureToDictionary()

template<class TBioTreeContainer >
void BioTreeAddFeatureToDictionary ( TBioTreeContainer &  tree_container,
unsigned int  feature_id,
const string feature_name 
)

◆ BioTreeBaseNode()

template<class TNodeData = CBioTreeEmptyNodeData, class TNodeFeatures = CBioTreeFeatureList>
BioTreeBaseNode< TNodeData, TNodeFeatures >::BioTreeBaseNode ( TBioTreeNodeId  uid_value = 0)
inline

Definition at line 158 of file bio_tree.hpp.

◆ BioTreeContainerIsForest()

template<class TBioTreeContainer >
bool BioTreeContainerIsForest ( const TBioTreeContainer &  tree_container)

Function to determine tree if a given biotree container is a single tree or a forest.

Definition at line 844 of file bio_tree_conv.hpp.

References ITERATE.

◆ BioTreeConvert2Container()

template<class TBioTreeContainer , class TDynamicTree >
void BioTreeConvert2Container ( TBioTreeContainer &  tree_container,
const TDynamicTree &  dyn_tree 
)

Convert Dynamic tree to ASN.1 BioTree container.

Definition at line 287 of file bio_tree_conv.hpp.

References CBioTreeFeatureDictionary::GetFeatureDict(), ITERATE, n, and TreeDepthFirstTraverse().

Referenced by CPhyTreeFormatter::GetSerialTree().

◆ BioTreeConvert2Dynamic()

template<class TDynamicTree , class TSrcBioTree , class TNodeConvFunc >
void BioTreeConvert2Dynamic ( TDynamicTree &  dyn_tree,
const TSrcBioTree &  bio_tree,
TNodeConvFunc  node_conv 
)

Convert biotree to dynamic tree using a node converter.

Definition at line 130 of file bio_tree_conv.hpp.

References CTree2TreeFunc< TDstTreeNode, TSrcTreeNode, TNodeConvFunc >::GetTreeNode(), n, and TreeDepthFirstTraverse().

◆ BioTreeConvertContainer2Dynamic()

template<class TBioTreeContainer , class TDynamicTree >
void BioTreeConvertContainer2Dynamic ( TDynamicTree &  dyn_tree,
const TBioTreeContainer &  tree_container,
bool  preserve_node_ids = false 
)

Convert ASN.1 BioTree container to dynamic tree.

Parameters
dyn_treeOuput dynamic tree
tree_containerInput tree container
preserve_node_idsIf true, node ids in the resulting dynamic tree will be the same is in the input tree container

Definition at line 335 of file bio_tree_conv.hpp.

References eUnknown, CBioTreeFeatureDictionary::GetFeatureDict(), ITERATE, NCBI_THROW, NULL, and CBioTreeFeatureDictionary::Register().

Referenced by CPhyTreeFormatter::CPhyTreeFormatter(), CPhyExportJob::Run(), and s_TestTreeContainer().

◆ BioTreeConvertContainer2DynamicForest()

template<class TBioTreeContainer , class TDynamicForest >
void BioTreeConvertContainer2DynamicForest ( TDynamicForest &  dyn_forest,
const TBioTreeContainer &  tree_container 
)

Convert ASN.1 BioTree container to forest of dynamic trees.

Definition at line 475 of file bio_tree_conv.hpp.

References CBioTreeFeatureDictionary::GetFeatureDict(), ITERATE, NULL, and CBioTreeFeatureDictionary::Register().

◆ BioTreeForestConvert2Container()

template<class TBioTreeContainer , class TDynamicForest >
void BioTreeForestConvert2Container ( TBioTreeContainer &  tree_container,
const TDynamicForest &  dyn_forest 
)

Convert forest of Dynamic trees to ASN.1 BioTree container.

Definition at line 428 of file bio_tree_conv.hpp.

References CBioTreeFeatureDictionary::GetFeatureDict(), i, ITERATE, n, ncbi::grid::netcache::search::fields::size, and TreeDepthFirstTraverse().

◆ CAssignTreeFunc()

template<class TBioNode >
CBioTree< TBioNode >::CAssignTreeFunc::CAssignTreeFunc ( CBioTree tree)
inline

Definition at line 470 of file bio_tree.hpp.

◆ CBioNode() [1/2]

template<class TBioNode >
CBioTree< TBioNode >::CBioNode::CBioNode ( const CBioNode bn)
inline

Construct tree node based on source tree node (recursive copy)

Definition at line 253 of file bio_tree.hpp.

◆ CBioNode() [2/2]

template<class TBioNode >
CBioTree< TBioNode >::CBioNode::CBioNode ( const TBioNode &  value = TBioNode())
inline

Construct tree node with specified value.

Definition at line 248 of file bio_tree.hpp.

Referenced by CBioTree< BioTreeBaseNode< CBioTreeEmptyNodeData, CBioTreeFeatureList > >::CBioNode::AddNode().

◆ CBioTree() [1/2]

template<class TBioNode >
CBioTree< TBioNode >::CBioTree

Definition at line 538 of file bio_tree.hpp.

◆ CBioTree() [2/2]

template<class TBioNode >
CBioTree< TBioNode >::CBioTree ( const CBioTree< TBioNode > &  btr)

Definition at line 543 of file bio_tree.hpp.

◆ CBioTreeConvert2ContainerFunc()

template<class TBioTreeContainer , class TDynamicTree >
CBioTreeConvert2ContainerFunc< TBioTreeContainer, TDynamicTree >::CBioTreeConvert2ContainerFunc ( TBioTreeContainer *  tree_container)
inline

◆ CBioTreeFeatureDictionary() [1/2]

CBioTreeFeatureDictionary::CBioTreeFeatureDictionary ( )

Definition at line 106 of file bio_tree.cpp.

◆ CBioTreeFeatureDictionary() [2/2]

CBioTreeFeatureDictionary::CBioTreeFeatureDictionary ( const CBioTreeFeatureDictionary btr)

Definition at line 112 of file bio_tree.cpp.

◆ CBioTreeFeatureList() [1/2]

CBioTreeFeatureList::CBioTreeFeatureList ( )

Definition at line 40 of file bio_tree.cpp.

◆ CBioTreeFeatureList() [2/2]

CBioTreeFeatureList::CBioTreeFeatureList ( const CBioTreeFeatureList flist)

Definition at line 44 of file bio_tree.cpp.

◆ CBioTreeFeaturePair() [1/3]

CBioTreeFeaturePair::CBioTreeFeaturePair ( TBioTreeFeatureId  fid)
inline

Definition at line 79 of file bio_tree.hpp.

◆ CBioTreeFeaturePair() [2/3]

CBioTreeFeaturePair::CBioTreeFeaturePair ( TBioTreeFeatureId  fid,
const string fvalue 
)
inline

Definition at line 74 of file bio_tree.hpp.

◆ CBioTreeFeaturePair() [3/3]

CBioTreeFeaturePair::CBioTreeFeaturePair ( void  )
inline

Definition at line 83 of file bio_tree.hpp.

◆ CCompareByLeafCount()

template<class TValue , class TKeyGetter = CDefaultNodeKeyGetter<TValue>>
CCompareByLeafCount< TValue, TKeyGetter >::CCompareByLeafCount ( bool  ascending = false)
inline

Definition at line 1047 of file ncbi_tree.hpp.

◆ CDefaultNodeKeyGetter()

template<class TValue , class TKeyEqualP = std::equal_to<TValue>>
CDefaultNodeKeyGetter< TValue, TKeyEqualP >::CDefaultNodeKeyGetter ( const TKeyEqual key_equal = TKeyEqual())
inline

Definition at line 74 of file ncbi_tree.hpp.

◆ CFindUidFunc()

template<class TBioNode >
CBioTree< TBioNode >::CFindUidFunc::CFindUidFunc ( TBioTreeNodeId  uid)
inline

Definition at line 446 of file bio_tree.hpp.

◆ CheckNodeList()

template<class TNode , class TSet , class TNodeList >
bool CTreeMinimalSet< TNode, TSet, TNodeList >::CheckNodeList ( const TNodeList &  nlist,
TNodeList &  dst_nlist,
TSet &  src_set,
TSet &  tmp_set,
TSet &  child_set,
const TSet *  ignore_set 
)
inlineprotected

◆ Clear() [1/2]

void CBioTreeFeatureDictionary::Clear ( void  )

◆ Clear() [2/2]

template<class TBioNode >
void CBioTree< TBioNode >::Clear ( void  )

Clear the bio tree.

Definition at line 648 of file bio_tree.hpp.

◆ CopyFrom()

template<class TValue , class TKeyGetter >
void CTreeNode< TValue, TKeyGetter >::CopyFrom ( const TTreeType tree)
protected

Definition at line 688 of file ncbi_tree.hpp.

References AddNode(), and ITERATE.

Referenced by CTreeNode< TValue, TKeyGetterP >::CTreeNode().

◆ CountNodes()

template<class TValue , class TKeyGetter >
unsigned int CTreeNode< TValue, TKeyGetter >::CountNodes ( unsigned int  depth = 1,
TCountNodes  how = 0 
) const

Count nodes of the tree of which this node is a root.

Parameters
howHow to count nodes
depthHow many levels of nodes. Zero depth means the node itself.

Definition at line 999 of file ncbi_tree.hpp.

References depth.

Referenced by CAssignQueryTreeGetArgs::operator()(), CCompareByLeafCount< TValue, TKeyGetter >::operator()(), CSGQueryNodePreprocessor::operator()(), CQueryParsePanel::x_ExecuteQuery(), CQueryParsePanel::x_IsValidQuery(), and CMacroParser::x_SortParseTree().

◆ CPairNodeKeyGetter()

template<class TNode , class TKeyEqualP = std::equal_to<typename TNode::TIdType>>
CPairNodeKeyGetter< TNode, TKeyEqualP >::CPairNodeKeyGetter ( const TKeyEqual key_equal = TKeyEqual())
inline

Definition at line 427 of file ncbi_tree.hpp.

◆ CSorter()

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
template<class TNodeComparator >
CTreeNode< TValue, TKeyGetterP >::CSorter< TNodeComparator >::CSorter ( const TNodeComparator &  compare)
inline

Definition at line 388 of file ncbi_tree.hpp.

◆ CTaxon1ConvertToBioTreeContainer()

template<class TBioTreeContainer , class TTaxon1 , class TITaxon1Node , class TITreeIterator >
CTaxon1ConvertToBioTreeContainer< TBioTreeContainer, TTaxon1, TITaxon1Node, TITreeIterator >::CTaxon1ConvertToBioTreeContainer ( )
inline

Definition at line 780 of file bio_tree_conv.hpp.

◆ CTaxon1NodeConvertVisitor()

template<class TITaxon4Each , class TITaxon1Node , class TITreeIterator , class TBioTreeContainer >
CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::CTaxon1NodeConvertVisitor ( TBioTreeContainer *  tree_container)
inline

◆ CTree2TreeFunc()

template<class TDstTreeNode , class TSrcTreeNode , class TNodeConvFunc >
CTree2TreeFunc< TDstTreeNode, TSrcTreeNode, TNodeConvFunc >::CTree2TreeFunc ( TNodeConvFunc &  func)
inline

Definition at line 63 of file bio_tree_conv.hpp.

◆ CTreeIdToSetFunc()

template<class TTreeNode , class TBackInsert >
CTreeIdToSetFunc< TTreeNode, TBackInsert >::CTreeIdToSetFunc ( TBackInsert  back_ins)
inline

Definition at line 499 of file tree_algo.hpp.

◆ CTreeNode() [1/3]

template<class TValue , class TKeyGetter >
CTreeNode< TValue, TKeyGetter >::CTreeNode ( const TKeyGetter getter,
const TValue &  value = TValue() 
)

Definition at line 656 of file ncbi_tree.hpp.

◆ CTreeNode() [2/3]

template<class TValue , class TKeyGetter >
CTreeNode< TValue, TKeyGetter >::CTreeNode ( const TTreeType tree)

Definition at line 669 of file ncbi_tree.hpp.

References CTreeNode< TValue, TKeyGetterP >::CopyFrom().

◆ CTreeNode() [3/3]

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
CTreeNode< TValue, TKeyGetterP >::CTreeNode ( const TValue &  value = TValue())
inline

Tree node construction.

Parameters
value- node value

Definition at line 119 of file ncbi_tree.hpp.

◆ CTreePair() [1/2]

template<class TId , class TValue , class TIdEqual = std::equal_to<TId>>
CTreePair< TId, TValue, TIdEqual >::CTreePair ( )
inline

Definition at line 465 of file ncbi_tree.hpp.

◆ CTreePair() [2/2]

template<class TId , class TValue , class TIdEqual = std::equal_to<TId>>
CTreePair< TId, TValue, TIdEqual >::CTreePair ( const TId &  aid,
const TValue &  avalue = TValue() 
)
inline

Definition at line 466 of file ncbi_tree.hpp.

◆ CTreeParentTraceFunc()

template<class TTreeNode , class TTraceContainer >
CTreeParentTraceFunc< TTreeNode, TTraceContainer >::CTreeParentTraceFunc ( TTraceContainer *  trace)
inline

Definition at line 178 of file tree_algo.hpp.

◆ CTreePrintFunc()

template<class TTreeNode , class TConverter >
CTreePrintFunc< TTreeNode, TConverter >::CTreePrintFunc ( CNcbiOstream os,
TConverter &  conv,
bool  print_ptr 
)
inline

Definition at line 293 of file tree_algo.hpp.

◆ CTreeSet2NodeListFunc()

template<class TTreeNode , class TSet , class TNodeList >
CTreeSet2NodeListFunc< TTreeNode, TSet, TNodeList >::CTreeSet2NodeListFunc ( const TSet &  node_set,
TNodeList *  node_list 
)
inline

Definition at line 577 of file tree_algo.hpp.

◆ DetachNode() [1/4]

template<class TValue , class TKeyGetter >
CTreeNode< TValue, TKeyGetter >::TTreeType * CTreeNode< TValue, TKeyGetter >::DetachNode ( TNodeList_I  it)

Remove the subtree from the tree without destroying it.

If subnode is not connected directly with the current node the call has no effect. The caller is responsible for deletion of the returned subtree.

Parameters
subnodedirect subnode pointer
Returns
subtree pointer or NULL if requested subnode does not exist

Definition at line 733 of file ncbi_tree.hpp.

References CTreeNode< TValue, TKeyGetterP >::SetParent().

◆ DetachNode() [2/4]

template<class TBioNode >
TTreeType* CBioTree< TBioNode >::CBioNode::DetachNode ( TTreeType subnode)
inline

Definition at line 277 of file bio_tree.hpp.

◆ DetachNode() [3/4]

template<class TValue , class TKeyGetter >
CTreeNode< TValue, TKeyGetter >::TTreeType * CTreeNode< TValue, TKeyGetter >::DetachNode ( TTreeType subnode)

Remove the subtree from the tree without destroying it.

If subnode is not connected directly with the current node the call has no effect. The caller is responsible for deletion of the returned subtree.

Parameters
subnodedirect subnode pointer
Returns
subtree pointer or NULL if requested subnode does not exist

Definition at line 720 of file ncbi_tree.hpp.

References NON_CONST_ITERATE.

Referenced by CMenuItem::DestroyAllSubNodes(), Flatten_ParseTree(), CMenuItem::RemoveItem(), CDistMethods::RerootTree(), CMultiAligner::x_AttachClusterTrees(), CAlignFilter::x_ParseTree_Flatten(), and CMacroParser::x_SortParseTree().

◆ DetachNode() [4/4]

template<class TBioNode >
TTreeType* CBioTree< TBioNode >::CBioNode::DetachNode ( typename TParent::TNodeList_I  it)
inline

Node is detached from the tree (Parent becomes 0)

Definition at line 292 of file bio_tree.hpp.

◆ DetachTreeNode()

template<class TBioNode >
void CBioTree< TBioNode >::DetachTreeNode ( )
inline

Definition at line 410 of file bio_tree.hpp.

◆ DynamicConvert2Tree()

template<class TDynamicTree , class TTreeNode , class TNodeConvFunc >
TTreeNode* DynamicConvert2Tree ( TDynamicTree &  dyn_tree,
TNodeConvFunc  node_conv,
TTreeNode *&  dst_node 
)

Convert dynamic tree to CTreeNode<>, returned CTReeNode<> to be deleted by caller.

Definition at line 182 of file bio_tree_conv.hpp.

References CTree2TreeFunc< TDstTreeNode, TSrcTreeNode, TNodeConvFunc >::GetTreeNode(), n, and TreeDepthFirstTraverse().

◆ Execute()

template<class TITaxon4Each , class TITaxon1Node , class TITreeIterator , class TBioTreeContainer >
virtual EAction CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::Execute ( const TITaxon1Node *  pNode)
inlinevirtual

◆ FindNode() [1/2]

template<class TValue , class TKeyGetter >
const CTreeNode< TValue, TKeyGetter >::TTreeType * CTreeNode< TValue, TKeyGetter >::FindNode ( const TKeyType key,
TNodeSearchMode  sflag = eImmediateAndTop 
) const

◆ FindNode() [2/2]

template<class TBioNode >
const CBioTree< TBioNode >::TBioTreeNode * CBioTree< TBioNode >::FindNode ( TBioTreeNodeId  node_id) const

Finds node by id.

Returns
Node pointer or NULL if requested node id is unknown

Definition at line 562 of file bio_tree.hpp.

References CBioTree< TBioNode >::CFindUidFunc::GetNode(), and TreeDepthFirstTraverse().

◆ FindNodes() [1/2]

template<class TValue , class TKeyGetter >
void CTreeNode< TValue, TKeyGetter >::FindNodes ( const TKeyList node_path,
TConstNodeList res 
) const

Find tree nodes corresponding to the path from the top.

Parameters
node_pathhierachy of node keys to search for
reslist of discovered found nodes (const pointers)

Definition at line 907 of file ncbi_tree.hpp.

References ITERATE, ncbi::grid::netcache::search::fields::key, CTreeNode< TValue, TKeyGetterP >::KeyEqual(), CTreeNode< TValue, TKeyGetterP >::SubNodeBegin(), and CTreeNode< TValue, TKeyGetterP >::SubNodeEnd().

◆ FindNodes() [2/2]

template<class TValue , class TKeyGetter >
void CTreeNode< TValue, TKeyGetter >::FindNodes ( const TKeyList node_path,
TNodeList res 
)

Find tree nodes corresponding to the path from the top.

Parameters
node_pathhierachy of node keys to search for
reslist of discovered found nodes

Definition at line 840 of file ncbi_tree.hpp.

References ITERATE, ncbi::grid::netcache::search::fields::key, CTreeNode< TValue, TKeyGetterP >::KeyEqual(), CTreeNode< TValue, TKeyGetterP >::SubNodeBegin(), and CTreeNode< TValue, TKeyGetterP >::SubNodeEnd().

Referenced by s_FindSubNode().

◆ FindOrCreateNode()

template<class TValue , class TKeyGetter >
CTreeNode< TValue, TKeyGetter >::TTreeType * CTreeNode< TValue, TKeyGetter >::FindOrCreateNode ( const TKeyList node_path)

Find or create tree node corresponding to the path from the top.

Parameters
node_pathhierachy of node keys to search for
Returns
tree node

Definition at line 873 of file ncbi_tree.hpp.

References CTreeNode< TValue, TKeyGetterP >::AddNode(), ITERATE, ncbi::grid::netcache::search::fields::key, CTreeNode< TValue, TKeyGetterP >::KeyEqual(), CTreeNode< TValue, TKeyGetterP >::SubNodeBegin(), and CTreeNode< TValue, TKeyGetterP >::SubNodeEnd().

Referenced by CConfig::ConvertRegToTree().

◆ FindSubNode() [1/2]

template<class TValue , class TKeyGetter >
CTreeNode< TValue, TKeyGetter >::TTreeType * CTreeNode< TValue, TKeyGetter >::FindSubNode ( const TKeyType key)

Non recursive linear scan of all subnodes, with key comparison.

Parameters
keykey to search for
Returns
SubNode pointer or NULL

Definition at line 955 of file ncbi_tree.hpp.

References ncbi::grid::netcache::search::fields::key.

◆ FindSubNode() [2/2]

template<class TValue , class TKeyGetter >
const CTreeNode< TValue, TKeyGetter >::TTreeType * CTreeNode< TValue, TKeyGetter >::FindSubNode ( const TKeyType key) const

◆ GetFeature()

template<class TBioNode >
const string& CBioTree< TBioNode >::CBioNode::GetFeature ( const string feature_name) const
inline

Get dynamic feature by name.

Definition at line 325 of file bio_tree.hpp.

Referenced by CBioTree< BioTreeBaseNode< CBioTreeEmptyNodeData, CBioTreeFeatureList > >::CBioNode::operator[]().

◆ GetFeatureDict() [1/3]

template<class TBioNode >
CBioTreeFeatureDictionary& CBioTree< TBioNode >::GetFeatureDict ( )
inline

◆ GetFeatureDict() [2/3]

const TFeatureDict& CBioTreeFeatureDictionary::GetFeatureDict ( ) const
inline

◆ GetFeatureDict() [3/3]

template<class TBioNode >
const CBioTreeFeatureDictionary& CBioTree< TBioNode >::GetFeatureDict ( ) const
inline

Return feature dictionary.

Definition at line 435 of file bio_tree.hpp.

◆ GetFeatureList()

const TFeatureList& CBioTreeFeatureList::GetFeatureList ( ) const
inline

Return reference on the internal container.

Definition at line 130 of file bio_tree.hpp.

References CBioTreeFeatureList::m_FeatureList.

Referenced by CwxPhyloEditDlg::SetParams().

◆ GetFeatureValue() [1/2]

const string & CBioTreeFeatureList::GetFeatureValue ( TBioTreeFeatureId  id) const

◆ GetFeatureValue() [2/2]

bool CBioTreeFeatureList::GetFeatureValue ( TBioTreeFeatureId  id,
string result 
) const

Place feature value in 'result', if available.

Returns
true if feature 'id' is present in the list, false otherwise

Definition at line 79 of file bio_tree.cpp.

References ITERATE, CBioTreeFeatureList::m_FeatureList, and result.

◆ GetId() [1/2]

template<class TNodeData = CBioTreeEmptyNodeData, class TNodeFeatures = CBioTreeFeatureList>
TBioTreeNodeId BioTreeBaseNode< TNodeData, TNodeFeatures >::GetId ( void  ) const
inline

Definition at line 162 of file bio_tree.hpp.

References BioTreeBaseNode< TNodeData, TNodeFeatures >::uid.

◆ GetId() [2/2]

TBioTreeFeatureId CBioTreeFeatureDictionary::GetId ( const string feature_name) const

◆ GetKey() [1/4]

template<class TValue , class TKeyEqualP = std::equal_to<TValue>>
const TKeyType& CDefaultNodeKeyGetter< TValue, TKeyEqualP >::GetKey ( const TNodeType node) const
inline

Get key of a node.

Definition at line 86 of file ncbi_tree.hpp.

◆ GetKey() [2/4]

template<class TNode , class TKeyEqualP = std::equal_to<typename TNode::TIdType>>
const TKeyType& CPairNodeKeyGetter< TNode, TKeyEqualP >::GetKey ( const TNodeType node) const
inline

Definition at line 439 of file ncbi_tree.hpp.

◆ GetKey() [3/4]

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
TKeyType& CTreeNode< TValue, TKeyGetterP >::GetKey ( void  )
inline

Definition at line 198 of file ncbi_tree.hpp.

◆ GetKey() [4/4]

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
const TKeyType& CTreeNode< TValue, TKeyGetterP >::GetKey ( void  ) const
inline

◆ GetKeyEqual() [1/3]

template<class TValue , class TKeyEqualP = std::equal_to<TValue>>
const TKeyEqual& CDefaultNodeKeyGetter< TValue, TKeyEqualP >::GetKeyEqual ( ) const
inline

Get key comparator.

Definition at line 80 of file ncbi_tree.hpp.

Referenced by CDefaultNodeKeyGetter< TValue, TKeyEqualP >::KeyEqual().

◆ GetKeyEqual() [2/3]

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
const TKeyEqual& CTreeNode< TValue, TKeyGetterP >::GetKeyEqual ( ) const
inline

Return key equal predicate.

Definition at line 201 of file ncbi_tree.hpp.

Referenced by s_ParseSubNodes().

◆ GetKeyEqual() [3/3]

template<class TNode , class TKeyEqualP = std::equal_to<typename TNode::TIdType>>
const TKeyEqual& CPairNodeKeyGetter< TNode, TKeyEqualP >::GetKeyEqual ( ) const
inline

Get key comparator.

Definition at line 433 of file ncbi_tree.hpp.

Referenced by CPairNodeKeyGetter< TNode, TKeyEqualP >::KeyEqual().

◆ GetKeyGetter()

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
const TKeyGetter& CTreeNode< TValue, TKeyGetterP >::GetKeyGetter ( void  ) const
inline

Get key getter.

Returns
parent to the current node, NULL if it is a top of the tree

Definition at line 133 of file ncbi_tree.hpp.

Referenced by CTreeNode< TBioNode >::GetKey(), CTreeNode< TBioNode >::GetKeyEqual(), and CTreeNode< TBioNode >::KeyEqual().

◆ GetKeyNC() [1/2]

template<class TValue , class TKeyEqualP = std::equal_to<TValue>>
TKeyType& CDefaultNodeKeyGetter< TValue, TKeyEqualP >::GetKeyNC ( TNodeType node) const
inline

Get non-const key.

Definition at line 88 of file ncbi_tree.hpp.

◆ GetKeyNC() [2/2]

template<class TNode , class TKeyEqualP = std::equal_to<typename TNode::TIdType>>
TKeyType& CPairNodeKeyGetter< TNode, TKeyEqualP >::GetKeyNC ( TNodeType node) const
inline

Definition at line 441 of file ncbi_tree.hpp.

◆ GetLabelForNode()

virtual string IBioTreeDynamicLabelFormatter::GetLabelForNode ( const CBioTreeDynamic::TBioTreeNode node) const
pure virtual

Implemented in CBioTreeDynamicLabelFormatter.

Referenced by PrintNode().

◆ GetMaxNodeId() [1/2]

template<class TITaxon4Each , class TITaxon1Node , class TITreeIterator , class TBioTreeContainer >
int CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::GetMaxNodeId ( ) const
inline

◆ GetMaxNodeId() [2/2]

template<class TBioTreeContainer , class TTaxon1 , class TITaxon1Node , class TITreeIterator >
int CTaxon1ConvertToBioTreeContainer< TBioTreeContainer, TTaxon1, TITaxon1Node, TITreeIterator >::GetMaxNodeId ( ) const
inline

Get max node id (available after conversion)

Definition at line 815 of file bio_tree_conv.hpp.

References CTaxon1ConvertToBioTreeContainer< TBioTreeContainer, TTaxon1, TITaxon1Node, TITreeIterator >::m_MaxNodeId.

◆ GetName()

string CBioTreeFeatureDictionary::GetName ( TBioTreeFeatureId  id) const

Return the featue name given the id, or "" if not found.

Definition at line 218 of file bio_tree.cpp.

References map_checker< Container >::end(), map_checker< Container >::find(), and CBioTreeFeatureDictionary::m_Dict.

Referenced by visitor_paste_subtree::operator()().

◆ GetNode()

template<class TBioNode >
const TBioTreeNode* CBioTree< TBioNode >::CFindUidFunc::GetNode ( ) const
inline

Definition at line 459 of file bio_tree.hpp.

Referenced by CBioTree< TBioNode >::FindNode().

◆ GetNodeId() [1/2]

template<class TBioNode >
virtual TBioTreeNodeId CBioTree< TBioNode >::GetNodeId ( )
inlinevirtual

Get new unique node id.

Definition at line 393 of file bio_tree.hpp.

◆ GetNodeId() [2/2]

template<class TBioNode >
virtual TBioTreeNodeId CBioTree< TBioNode >::GetNodeId ( const TBioTreeNode )
inlinevirtual

Get new unique node id (for cases when node id depends on the node's content.

Definition at line 397 of file bio_tree.hpp.

◆ GetParent() [1/2]

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
TTreeType* CTreeNode< TValue, TKeyGetterP >::GetParent ( void  )
inline

Get node's parent.

Returns
parent to the current node, NULL if it is a top of the tree

Definition at line 145 of file ncbi_tree.hpp.

◆ GetParent() [2/2]

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
const TTreeType* CTreeNode< TValue, TKeyGetterP >::GetParent ( void  ) const
inline

◆ GetParentTree() [1/2]

template<class TBioNode >
TBioTree* CBioTree< TBioNode >::CBioNode::GetParentTree ( )
inline

Return pointer on the hosting tree (can be NULL)

Definition at line 275 of file bio_tree.hpp.

◆ GetParentTree() [2/2]

template<class TBioNode >
const TBioTree* CBioTree< TBioNode >::CBioNode::GetParentTree ( ) const
inline

◆ GetRoot() [1/2]

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
TTreeType* CTreeNode< TValue, TKeyGetterP >::GetRoot ( void  )

Get the topmost node.

Returns
global parent of the current node, this if it is a top of the tree

◆ GetRoot() [2/2]

template<class TValue , class TKeyGetter >
CTreeNode< TValue, TKeyGetter >::TTreeType * CTreeNode< TValue, TKeyGetter >::GetRoot ( void  ) const

Get the topmost node.

Returns
global parent of the current node, this if it is a top of the tree

Definition at line 795 of file ncbi_tree.hpp.

References CTreeNode< TValue, TKeyGetterP >::GetParent().

◆ GetSubNodes()

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
const TNodeList& CTreeNode< TValue, TKeyGetterP >::GetSubNodes ( ) const
inlineprotected

Definition at line 407 of file ncbi_tree.hpp.

◆ GetTreeNode() [1/2]

template<class TDstTreeNode , class TSrcTreeNode , class TNodeConvFunc >
TDstTreeNodeType* CTree2TreeFunc< TDstTreeNode, TSrcTreeNode, TNodeConvFunc >::GetTreeNode ( )
inline

◆ GetTreeNode() [2/2]

template<class TBioNode >
const TBioTreeNode* CBioTree< TBioNode >::GetTreeNode ( ) const
inline

◆ GetTreeNodeNonConst()

template<class TBioNode >
TBioTreeNode* CBioTree< TBioNode >::GetTreeNodeNonConst ( )
inline

◆ GetValue() [1/4]

template<class TValue , class TKeyEqualP = std::equal_to<TValue>>
const TValueType& CDefaultNodeKeyGetter< TValue, TKeyEqualP >::GetValue ( const TNodeType node) const
inline

Get value of a node.

Definition at line 82 of file ncbi_tree.hpp.

◆ GetValue() [2/4]

template<class TNode , class TKeyEqualP = std::equal_to<typename TNode::TIdType>>
const TValueType& CPairNodeKeyGetter< TNode, TKeyEqualP >::GetValue ( const TNodeType node) const
inline

Definition at line 435 of file ncbi_tree.hpp.

◆ GetValue() [3/4]

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
TValue& CTreeNode< TValue, TKeyGetterP >::GetValue ( void  )
inline

Return node's value.

Definition at line 187 of file ncbi_tree.hpp.

◆ GetValue() [4/4]

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
const TValue& CTreeNode< TValue, TKeyGetterP >::GetValue ( void  ) const
inline

Return node's value.

Definition at line 184 of file ncbi_tree.hpp.

Referenced by CBioTree< TBioNode >::AddFeature(), CTreeQueryExec::CallFunction(), CMacroEngine::CallFunction(), CMacroResolver::CallFunction(), CClusterer::ComputeClusters(), CTree::ComputeTree(), CBlobStorageFactory::CreateInstance(), CPluginManager< TClass >::CreateInstanceFromKey(), CScannerFunctorEQ::Eval(), CScannerFunctorGT::Eval(), CScannerFunctorGE::Eval(), CScannerFunctorLT::Eval(), CScannerFunctorLE::Eval(), CScannerFunctorAND::Eval(), CScannerFunctorOR::Eval(), CScannerFunctorNOT::Eval(), CTableQueryExec::EvalNext(), CTreeQueryExec::EvalNext(), CBDB_FileScanner::Evaluate(), CMQueryFunctionValue::Evaluate(), CMQueryFunctionRTVar::Evaluate(), CMQueryFunctionAssignment::Evaluate(), CMQueryFunctionFunction::Evaluate(), CMQueryFunctionDummy::Evaluate(), CQueryFuncAssignment::Evaluate(), CMQueryFunctionOps_BooleanBinary::Evaluate(), CMQueryFunctionOps_Comparison::Evaluate(), CQueryFuncRTVar::Evaluate(), CQueryFuncPromoteIdentifier::Evaluate(), CQueryFuncPromoteAndOr::Evaluate(), CQueryFuncPromoteLogic::Evaluate(), CQueryFuncPromoteEq::Evaluate(), CQueryFuncPromoteIn::Evaluate(), CQueryFuncLike::Evaluate(), CQueryFuncPromoteGtLt::Evaluate(), CQueryFuncPromoteBetween::Evaluate(), CQueryFunction_BV_In_Or< BV >::Evaluate(), CQueryFunction_BV_Base< BV >::GetContainer(), CGBDataLoader::GetParam(), CQueryFuncPromoteBase::GetQueryNodeValue(), CCgiApplicationCached::Init(), CCacheReader::InitializeCache(), CCacheWriter::InitializeCache(), IsDisabledCache(), CTree::ListTreeEdges(), CTree::ListTreeLeaves(), CQueryFunction_BV_Base< BV >::MakeContainer(), CQueryFuncPromoteBase::MakeQueryNodeValue(), newickparse(), CDistMethods::NjTree(), CQueryTreePrintFunc::operator()(), CQueryTreeListFunctions::operator()(), CAssignQueryTreeGetArgs::operator()(), CDoQueryTreeGetArgs::operator()(), CWhereQueryTreeGetArgs::operator()(), CQueryHighlightFunction::operator()(), SUidCollector::operator()(), SUidCounter::operator()(), CQueryTreeFieldResolveFunc::operator()(), CScannerEvaluateFunc::operator()(), CQueryExecPreProcessFunc::operator()(), CQueryExecEvalFunc::operator()(), CQueryTreeResetFunc::operator()(), SNodeNameUpdater::operator()(), STreeNodeMapper::operator()(), CQueryFuncPromoteBase::PreProcess(), PrintNode(), CDistMethods::RerootTree(), CQueryFuncPromoteBase::ResolveAndPromote(), s_AddFastMeSubtree(), s_AddNodeToBtc(), s_AddOrReplaceSubNode(), s_ConvertFastMeTree(), s_CreateTreeLeaf(), s_FindNodeDistance(), s_GetNewick(), s_MakeTwoLeafTree(), s_ResetQueryNode(), s_ScaleTreeEdges(), s_SetLeafIds(), s_TestTree(), s_TraverseTree(), CBDB_Cache::SameCacheParams(), CSQLITE3_Cache::SameCacheParams(), CMacroRep::SetAssignmentWhereClause(), SPluginParams::SetDefaultValue(), CMacroRep::SetFunction(), CMacroRep::SetFunctionParameterAsBool(), CMacroRep::SetFunctionParameterAsFloat(), CMacroRep::SetFunctionParameterAsIdent(), CMacroRep::SetFunctionParameterAsInt(), CMacroRep::SetFunctionParameterAsString(), CBioTree< TBioNode >::SetNodeId(), CGBDataLoader::SetParam(), ThrowCMacroExecException(), CMultiAligner::x_AlignClusterQueries(), CMultiAligner::x_AlignProgressive(), CMultiAligner::x_AttachClusterTrees(), CAlignFilter::x_Complexity(), CPhyTreeCalc::x_ComputeTree(), CPhyTreeCalc::x_CorrectBranchLengths(), CMacroExec::x_EvaluateQueryTree(), CQueryParsePanel::x_ExecuteQuery(), CDistMethods::x_FindLargestEdge(), CAlignFilter::x_FuncCall(), CTaxTreeBrowser::x_GetName(), CConfig::x_GetString(), CMacroExec::x_GetTopUserNodeValue(), CAssignQueryTreeGetArgs::x_IsDBLinkField(), CAssignQueryTreeGetArgs::x_IsStructCommField(), CQueryParsePanel::x_IsValidQuery(), CClusterer::x_JoinClustElem(), CClusterer::x_JoinClusters(), CClusterer::x_JoinElements(), CAlignFilter::x_Match(), CMacroParser::x_ParseDo(), CAssignQueryTreeGetArgs::x_ProcessFunction(), CWhereQueryTreeGetArgs::x_ProcessFunction(), CAlignFilter::x_Query_Op(), CMacroEngine::x_ResolveRTVar(), CMacroResolver::x_ResolveRTVar(), CAlignFilter::x_TermValue(), and CDistMethods::ZeroNegativeBranches().

◆ GetValueNC() [1/2]

template<class TValue , class TKeyEqualP = std::equal_to<TValue>>
TValueType& CDefaultNodeKeyGetter< TValue, TKeyEqualP >::GetValueNC ( TNodeType node) const
inline

Get non-const value of a node.

Definition at line 84 of file ncbi_tree.hpp.

◆ GetValueNC() [2/2]

template<class TNode , class TKeyEqualP = std::equal_to<typename TNode::TIdType>>
TValueType& CPairNodeKeyGetter< TNode, TKeyEqualP >::GetValueNC ( TNodeType node) const
inline

Definition at line 437 of file ncbi_tree.hpp.

◆ HasFeature() [1/2]

bool CBioTreeFeatureDictionary::HasFeature ( const string feature_name) const

◆ HasFeature() [2/2]

bool CBioTreeFeatureDictionary::HasFeature ( TBioTreeFeatureId  id) const

Check if feature is listed in the dictionary.

Definition at line 153 of file bio_tree.cpp.

References map_checker< Container >::end(), map_checker< Container >::find(), and CBioTreeFeatureDictionary::m_Dict.

◆ InsertNode()

template<class TValue , class TKeyGetter >
void CTreeNode< TValue, TKeyGetter >::InsertNode ( TNodeList_I  it,
TTreeType subnode 
)

Insert new subnode before the specified location in the subnode list.

Parameters
itsubnote iterator idicates the location of the new subtree
subnodesubtree pointer

Definition at line 773 of file ncbi_tree.hpp.

References CTreeNode< TValue, TKeyGetterP >::SetParent().

Referenced by CMenuItem::InsertSubItem(), and ncbi_q_parse().

◆ IsLeaf()

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
bool CTreeNode< TValue, TKeyGetterP >::IsLeaf ( ) const
inline

◆ IsParent()

template<class TValue , class TKeyGetter >
bool CTreeNode< TValue, TKeyGetter >::IsParent ( const TTreeType tree_node) const

Check if node is a direct or indirect parent of this node.

Parameters
tree_nodeNode candidate
Returns
TRUE if tree_node is a direct or indirect parent

Definition at line 824 of file ncbi_tree.hpp.

References _ASSERT, and CTreeNode< TValue, TKeyGetterP >::GetParent().

◆ JoinNodeList()

template<class TNode , class TSet , class TNodeList >
void CNodesToBitset< TNode, TSet, TNodeList >::JoinNodeList ( const TNodeList &  src_nlist_a,
const TNodeList &  src_nlist_b,
const TSet &  mask_set,
TNodeList &  dst_list,
TSet &  dst_set 
)
inline

Join two node lists.

Parameters
src_nlist_anode list 1
src_nlist_bnode list 2
mask_setsubset of two nodelists assigns nodes coming to dst_list
dst_listdestination node list
dst_setauxiliary set used to track in target set (to make sure we will have non repeated list of nodes)

Definition at line 832 of file tree_algo.hpp.

References CNodesToBitset< TNode, TSet, TNodeList >::MaskCopyNodes().

Referenced by CTreeNodesAnd< TNode, TSet, TNodeList >::operator()(), and CTreeNodesOr< TNode, TSet, TNodeList >::operator()().

◆ KeyCompare() [1/2]

template<class TValue , class TKeyEqualP = std::equal_to<TValue>>
bool CDefaultNodeKeyGetter< TValue, TKeyEqualP >::KeyCompare ( const TKeyType key1,
const TKeyType key2 
) const
inline

Check if the two keys are equal.

Definition at line 93 of file ncbi_tree.hpp.

References CDefaultNodeKeyGetter< TValue, TKeyEqualP >::KeyEqual().

◆ KeyCompare() [2/2]

template<class TNode , class TKeyEqualP = std::equal_to<typename TNode::TIdType>>
bool CPairNodeKeyGetter< TNode, TKeyEqualP >::KeyCompare ( const TKeyType key1,
const TKeyType key2 
) const
inline

◆ KeyEqual() [1/3]

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
bool CTreeNode< TValue, TKeyGetterP >::KeyEqual ( const TKeyType key) const
inline

◆ KeyEqual() [2/3]

template<class TValue , class TKeyEqualP = std::equal_to<TValue>>
bool CDefaultNodeKeyGetter< TValue, TKeyEqualP >::KeyEqual ( const TKeyType key1,
const TKeyType key2 
) const
inline

◆ KeyEqual() [3/3]

template<class TNode , class TKeyEqualP = std::equal_to<typename TNode::TIdType>>
bool CPairNodeKeyGetter< TNode, TKeyEqualP >::KeyEqual ( const TKeyType key1,
const TKeyType key2 
) const
inline

◆ LevelBegin()

template<class TITaxon4Each , class TITaxon1Node , class TITreeIterator , class TBioTreeContainer >
virtual EAction CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::LevelBegin ( const TITaxon1Node *  pParent)
inlinevirtual

◆ LevelEnd()

template<class TITaxon4Each , class TITaxon1Node , class TITreeIterator , class TBioTreeContainer >
virtual EAction CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::LevelEnd ( const TITaxon1Node *  )
inlinevirtual

◆ MakeNewTreeNode()

template<class TDstTreeNode , class TSrcTreeNode , class TNodeConvFunc >
TDstTreeNodeType* CTree2TreeFunc< TDstTreeNode, TSrcTreeNode, TNodeConvFunc >::MakeNewTreeNode ( const TSrcTreeNodeType src_node)
inlineprotected

◆ MaskCopyNodes()

template<class TNode , class TSet , class TNodeList >
void CNodesToBitset< TNode, TSet, TNodeList >::MaskCopyNodes ( const TNodeList &  src_nlist,
const TSet &  mask_set,
TNodeList &  dst_list,
TSet &  dst_set 
)
inline

Copy nodes from the source node list to destination if nodes are in the mask set and not yet in the destination set.

Definition at line 851 of file tree_algo.hpp.

References ITERATE.

Referenced by CNodesToBitset< TNode, TSet, TNodeList >::JoinNodeList().

◆ MinimalSet()

template<class TNode , class TSet , class TNodeList >
void CTreeMinimalSet< TNode, TSet, TNodeList >::MinimalSet ( const TNodeList &  src_nlist,
TNodeList &  dst_nlist,
const TSet *  ignore_set = 0 
)
inlineprotected

◆ MoveSubnodes()

template<class TValue , class TKeyGetter >
void CTreeNode< TValue, TKeyGetter >::MoveSubnodes ( TTreeType src_tree_node)

Remove all subnodes from the source node and attach them to the current tree (node).

Source node cannot be an ancestor of the current node

Definition at line 761 of file ncbi_tree.hpp.

References _ASSERT, AddNode(), ITERATE, and CTreeNode< TValue, TKeyGetterP >::m_Nodes.

◆ operator()() [1/18]

template<class TBioTreeContainer , class TDynamicTree >
ETreeTraverseCode CBioTreeConvert2ContainerFunc< TBioTreeContainer, TDynamicTree >::operator() ( const TDynamicNodeType node,
int  delta_level 
)
inline

◆ operator()() [2/18]

template<class TNode , class TSet , class TNodeList >
void CTreeNonRedundantSet< TNode, TSet, TNodeList >::operator() ( const TNodeList &  src_nlist,
TNodeList &  dst_nlist 
)
inline

Definition at line 630 of file tree_algo.hpp.

References cnt, ITERATE, TreeListToSet(), and TreeMakeParentsSet().

◆ operator()() [3/18]

template<class TNode , class TSet , class TNodeList >
void CTreeMinimalSet< TNode, TSet, TNodeList >::operator() ( const TNodeList &  src_nlist,
TNodeList &  dst_nlist,
const TSet *  ignore_set = 0 
)
inline

Compute minimal set.

Parameters
src_nlistSource node list
dst_nlistDestination node list
ignore_setSet of node ids to ignore when we do reduction

Definition at line 678 of file tree_algo.hpp.

References CTreeMinimalSet< TNode, TSet, TNodeList >::MinimalSet().

◆ operator()() [4/18]

template<class TNode , class TSet , class TNodeList >
void CTreeNodesAnd< TNode, TSet, TNodeList >::operator() ( const TNodeList &  src_nlist_a,
const TNodeList &  src_nlist_b,
TNodeList &  dst_nlist 
)
inline

Definition at line 877 of file tree_algo.hpp.

◆ operator()() [5/18]

template<class TNode , class TSet , class TNodeList >
void CTreeNodesOr< TNode, TSet, TNodeList >::operator() ( const TNodeList &  src_nlist_a,
const TNodeList &  src_nlist_b,
TNodeList &  dst_nlist 
)
inline

Definition at line 912 of file tree_algo.hpp.

◆ operator()() [6/18]

template<class TNode , class TSet , class TNodeList >
void CTreeNodesAnd< TNode, TSet, TNodeList >::operator() ( const TNodeList &  src_nlist_a,
const TNodeList &  src_nlist_b,
TNodeList &  dst_nlist,
TSet &  dst_set 
)
inline

◆ operator()() [7/18]

template<class TNode , class TSet , class TNodeList >
void CTreeNodesOr< TNode, TSet, TNodeList >::operator() ( const TNodeList &  src_nlist_a,
const TNodeList &  src_nlist_b,
TNodeList &  dst_nlist,
TSet &  dst_set 
)
inline

◆ operator()() [8/18]

template<class TValue , class TKeyGetter = CDefaultNodeKeyGetter<TValue>>
bool CCompareByLeafCount< TValue, TKeyGetter >::operator() ( const TNodeType node1,
const TNodeType node2 
) const
inline

◆ operator()() [9/18]

template<class TDstTreeNode , class TSrcTreeNode , class TNodeConvFunc >
ETreeTraverseCode CTree2TreeFunc< TDstTreeNode, TSrcTreeNode, TNodeConvFunc >::operator() ( const TSrcTreeNodeType node,
int  delta_level 
)
inline

◆ operator()() [10/18]

template<class TTreeNode , class TTraceContainer >
void CTreeParentTraceFunc< TTreeNode, TTraceContainer >::operator() ( const TTreeNode &  node)
inline

◆ operator()() [11/18]

template<class TTreeNode , class TBackInsert >
ETreeTraverseCode CTreeIdToSetFunc< TTreeNode, TBackInsert >::operator() ( const TTreeNode &  node,
int  delta_level = 0 
)
inline

◆ operator()() [12/18]

template<class TTreeNode , class TSet , class TNodeList >
ETreeTraverseCode CTreeSet2NodeListFunc< TTreeNode, TSet, TNodeList >::operator() ( const TTreeNode &  node,
int  delta_level = 0 
)
inline

◆ operator()() [13/18]

template<class TTreeNode , class TConverter >
ETreeTraverseCode CTreePrintFunc< TTreeNode, TConverter >::operator() ( const TTreeNode &  tr,
int  delta 
)
inline

◆ operator()() [14/18]

template<class TBioTreeContainer , class TTaxon1 , class TITaxon1Node , class TITreeIterator >
void CTaxon1ConvertToBioTreeContainer< TBioTreeContainer, TTaxon1, TITaxon1Node, TITreeIterator >::operator() ( TBioTreeContainer &  tree_container,
CRef< TITreeIterator >  tax_tree_iter 
)
inline

◆ operator()() [15/18]

template<class TBioTreeContainer , class TTaxon1 , class TITaxon1Node , class TITreeIterator >
void CTaxon1ConvertToBioTreeContainer< TBioTreeContainer, TTaxon1, TITaxon1Node, TITreeIterator >::operator() ( TBioTreeContainer &  tree_container,
TTaxon1 &  tax,
TTaxId  tax_id 
)
inline

◆ operator()() [16/18]

template<class TBioNode >
ETreeTraverseCode CBioTree< TBioNode >::CFindUidFunc::operator() ( TBioTreeNode tree_node,
int  delta 
)
inline

Definition at line 448 of file bio_tree.hpp.

◆ operator()() [17/18]

template<class TBioNode >
ETreeTraverseCode CBioTree< TBioNode >::CAssignTreeFunc::operator() ( TBioTreeNode tree_node,
int  delta 
)
inline

Definition at line 471 of file bio_tree.hpp.

◆ operator()() [18/18]

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
template<class TNodeComparator >
ETreeTraverseCode CTreeNode< TValue, TKeyGetterP >::CSorter< TNodeComparator >::operator() ( TTreeType node,
int  delta_level 
)
inline

Definition at line 390 of file ncbi_tree.hpp.

◆ operator*() [1/2]

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
TValue& CTreeNode< TValue, TKeyGetterP >::operator* ( void  )
inline

Definition at line 193 of file ncbi_tree.hpp.

◆ operator*() [2/2]

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
const TValue& CTreeNode< TValue, TKeyGetterP >::operator* ( void  ) const
inline

Definition at line 192 of file ncbi_tree.hpp.

◆ operator->() [1/2]

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
TValue* CTreeNode< TValue, TKeyGetterP >::operator-> ( void  )
inline

Definition at line 195 of file ncbi_tree.hpp.

◆ operator->() [2/2]

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
const TValue* CTreeNode< TValue, TKeyGetterP >::operator-> ( void  ) const
inline

Definition at line 194 of file ncbi_tree.hpp.

◆ operator<()

bool CBioTreeFeaturePair::operator< ( const CBioTreeFeaturePair rhs) const
inline

Definition at line 87 of file bio_tree.hpp.

References CBioTreeFeaturePair::id.

◆ operator<<()

CNcbiOstream& operator<< ( CNcbiOstream os,
const CBioTreeDynamic tree 
)

Newick format output.

Definition at line 273 of file bio_tree.cpp.

References PrintNode().

◆ operator=() [1/5]

template<class TBioNode >
CBioNode& CBioTree< TBioNode >::CBioNode::operator= ( const CBioNode tree)
inline

Recursive assignment.

Definition at line 261 of file bio_tree.hpp.

◆ operator=() [2/5]

template<class TBioNode >
CBioTree< TBioNode > & CBioTree< TBioNode >::operator= ( const CBioTree< TBioNode > &  btr)

◆ operator=() [3/5]

CBioTreeFeatureDictionary & CBioTreeFeatureDictionary::operator= ( const CBioTreeFeatureDictionary btr)

◆ operator=() [4/5]

CBioTreeFeatureList & CBioTreeFeatureList::operator= ( const CBioTreeFeatureList flist)

Definition at line 49 of file bio_tree.cpp.

References CBioTreeFeatureList::m_FeatureList.

◆ operator=() [5/5]

template<class TValue , class TKeyGetter >
CTreeNode< TValue, TKeyGetter > & CTreeNode< TValue, TKeyGetter >::operator= ( const TTreeType tree)

Definition at line 678 of file ncbi_tree.hpp.

◆ operator[]() [1/2]

template<class TBioNode >
const string& CBioTree< TBioNode >::CBioNode::operator[] ( const string feature_name) const
inline

Definition at line 348 of file bio_tree.hpp.

◆ operator[]() [2/2]

const string& CBioTreeFeatureList::operator[] ( TBioTreeFeatureId  id) const
inline

Get feature value by id (operator semantics)

Definition at line 124 of file bio_tree.hpp.

References CBioTreeFeatureList::GetFeatureValue().

◆ PairTreeBackTraceNode()

template<class TPairTree , class TValue >
const TPairTree* PairTreeBackTraceNode ( const TPairTree &  tr,
const TValue &  search_id 
)

Algorithm to to search for a node with specified id.

Tree is traversed back. When searching the upper(parent) level the algorithm never goes down the hierarchy but tries only immediate children.

Definition at line 375 of file tree_algo.hpp.

◆ PairTreeTraceNode()

template<class TPairTree , class TPathList >
const TPairTree* PairTreeTraceNode ( const TPairTree &  tr,
const TPathList &  node_path 
)

Algorithm to trace the pair tree and find specified leaf along the node path.

Algorithm always chooses the deepest leaf

Definition at line 412 of file tree_algo.hpp.

References _ASSERT, and ITERATE.

◆ PrintLevelMargin()

template<class TTreeNode , class TConverter >
void CTreePrintFunc< TTreeNode, TConverter >::PrintLevelMargin ( )
inline

◆ PrintNode()

void PrintNode ( CNcbiOstream os,
const CBioTreeDynamic tree,
const CBioTreeDynamic::TBioTreeNode node,
const IBioTreeDynamicLabelFormatter label_fmt = nullptr 
)

Newick but without the terminal ';'.

Definition at line 230 of file bio_tree.cpp.

References IBioTreeDynamicLabelFormatter::GetLabelForNode(), label, and s_EncodeLabel().

Referenced by operator<<(), and WriteNewickTree().

◆ Register() [1/2]

TBioTreeFeatureId CBioTreeFeatureDictionary::Register ( const string feature_name)

◆ Register() [2/2]

void CBioTreeFeatureDictionary::Register ( TBioTreeFeatureId  id,
const string feature_name 
)

Register new feature.

Throws an exception if a feature with this id or this name already exists

Definition at line 173 of file bio_tree.cpp.

References eUnknown, map_checker< Container >::insert(), CBioTreeFeatureDictionary::m_Dict, CBioTreeFeatureDictionary::m_IdCounter, CBioTreeFeatureDictionary::m_Name2Id, max(), NCBI_THROW, and NStr::NumericToString().

◆ RemoveAllSubNodes()

template<class TValue , class TKeyGetter >
void CTreeNode< TValue, TKeyGetter >::RemoveAllSubNodes ( EDeletePolicy  del = eDelete)

Remove all immediate subnodes.

Parameters
delSubnode delete policy. When delete policy is "eNoDelete" nodes are just excluded from the tree. It is responsibility of the caller to track them and guarantee proper destruction.

Definition at line 781 of file ncbi_tree.hpp.

References NON_CONST_ITERATE, and CTreeNode< TValue, TKeyGetterP >::SetParent().

◆ RemoveFeature()

void CBioTreeFeatureList::RemoveFeature ( TBioTreeFeatureId  id)

Remove feature from the list.

Definition at line 91 of file bio_tree.cpp.

References CBioTreeFeatureList::m_FeatureList, and NON_CONST_ITERATE.

Referenced by CPhyloNodeData::RemoveFeature().

◆ RemoveNode() [1/2]

template<class TValue , class TKeyGetter >
void CTreeNode< TValue, TKeyGetter >::RemoveNode ( TNodeList_I  it)

Remove subnode of the current node.

Must be direct subnode.

If subnode is not connected directly with the current node the call has no effect.

Parameters
itsubnode iterator

Definition at line 710 of file ncbi_tree.hpp.

References CTreeNode< TValue, TKeyGetterP >::SetParent().

◆ RemoveNode() [2/2]

template<class TValue , class TKeyGetter >
void CTreeNode< TValue, TKeyGetter >::RemoveNode ( TTreeType subnode)

Remove subnode of the current node.

Must be direct subnode.

If subnode is not connected directly with the current node the call has no effect.

Parameters
subnodedirect subnode pointer

Definition at line 698 of file ncbi_tree.hpp.

References NON_CONST_ITERATE.

Referenced by CConfig::ConvertRegToTree(), Flatten_ParseTree(), and CAlignFilter::x_ParseTree_Flatten().

◆ SetFeature() [1/2]

template<class TBioNode >
void CBioTree< TBioNode >::CBioNode::SetFeature ( const string feature_name,
const string feature_value 
)
inline

Definition at line 340 of file bio_tree.hpp.

◆ SetFeature() [2/2]

void CBioTreeFeatureList::SetFeature ( TBioTreeFeatureId  id,
const string value 
)

Set feature value, feature if exists replaced, if not added.

Definition at line 56 of file bio_tree.cpp.

References CBioTreeFeatureList::m_FeatureList, NON_CONST_ITERATE, and value.

Referenced by visitor_paste_subtree::operator()(), CPhyloNodeData::SetFeature(), and CPhyloSelectionSetMgr::SetSelectionSetProperty().

◆ SetId()

template<class TNodeData = CBioTreeEmptyNodeData, class TNodeFeatures = CBioTreeFeatureList>
void BioTreeBaseNode< TNodeData, TNodeFeatures >::SetId ( TBioTreeNodeId  id)
inline

Definition at line 164 of file bio_tree.hpp.

References BioTreeBaseNode< TNodeData, TNodeFeatures >::uid.

◆ SetNodeId()

template<class TBioNode >
void CBioTree< TBioNode >::SetNodeId ( TBioTreeNode node)

Assign new unique node id to the node.

Definition at line 604 of file bio_tree.hpp.

References CTreeNode< TValue, TKeyGetterP >::GetValue().

◆ SetParent()

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
void CTreeNode< TValue, TKeyGetterP >::SetParent ( TTreeType parent_node)
inlineprotected

◆ SetParentTree() [1/3]

template<class TBioNode >
void CBioTree< TBioNode >::SetParentTree ( CBioNode node)
inline

◆ SetParentTree() [2/3]

template<class TBioNode >
void CBioTree< TBioNode >::SetParentTree ( CBioNode node,
CBioTree< TBioNode > *  tr 
)
inline

Recursively set parent tree for the node.

Definition at line 425 of file bio_tree.hpp.

◆ SetParentTree() [3/3]

template<class TBioNode >
void CBioTree< TBioNode >::CBioNode::SetParentTree ( TBioTree pt)
inline

◆ SetTreeNode()

template<class TBioNode >
void CBioTree< TBioNode >::SetTreeNode ( TBioTreeNode node)

Assign new top level tree node.

Definition at line 611 of file bio_tree.hpp.

References _ASSERT, CTreeNode< TValue, TKeyGetterP >::GetParent(), and TreeDepthFirstTraverse().

Referenced by CPhyTreeFormatter::RerootTree(), and CPhyTreeFormatter::ShowSubtree().

◆ SetupFeatureDictionary()

template<class TBioTreeContainer , class TTaxon1 , class TITaxon1Node , class TITreeIterator >
void CTaxon1ConvertToBioTreeContainer< TBioTreeContainer, TTaxon1, TITaxon1Node, TITreeIterator >::SetupFeatureDictionary ( TBioTreeContainer &  tree_container)
inlineprotected

◆ SetValue()

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
void CTreeNode< TValue, TKeyGetterP >::SetValue ( const TValue &  value)
inline

Set value for the node.

Definition at line 190 of file ncbi_tree.hpp.

◆ SortChildren()

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
template<class TNodeComparator >
void CTreeNode< TValue, TKeyGetterP >::SortChildren ( const TNodeComparator &  compare)
inline

Definition at line 382 of file ncbi_tree.hpp.

Referenced by CTreeNode< TBioNode >::CSorter::operator()().

◆ SortTree()

template<class TValue , class TNodeComparator >
void SortTree ( CTreeNode< TValue > &  root,
const TNodeComparator &  compare 
)

Definition at line 1032 of file ncbi_tree.hpp.

References TreeDepthFirstTraverse().

◆ SubNodeBegin() [1/2]

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
TNodeList_I CTreeNode< TValue, TKeyGetterP >::SubNodeBegin ( void  )
inline

Return first iterator on subnode list.

Definition at line 163 of file ncbi_tree.hpp.

◆ SubNodeBegin() [2/2]

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
TNodeList_CI CTreeNode< TValue, TKeyGetterP >::SubNodeBegin ( void  ) const
inline

Return first const iterator on subnode list.

Definition at line 160 of file ncbi_tree.hpp.

Referenced by CDbapiCtlibCFBase::CreateInstance(), CDbapiOdbcCFBase::CreateInstance(), CMenuItem::DestroyAllSubNodes(), CTreeNode< TValue, TKeyGetterP >::FindNodes(), CTreeNode< TValue, TKeyGetterP >::FindOrCreateNode(), Flatten_ParseTree(), CQueryFunctionBase::GetArg0(), CScannerFunctorArgN::GetArguments(), CMenuItem::IsSubmenuEmpty(), CTree::ListTreeEdges(), CTree::ListTreeLeaves(), CQueryFunctionBase::MakeArgVector(), ncbi_q_parse(), CAssignQueryTreeGetArgs::operator()(), CDoQueryTreeGetArgs::operator()(), CWhereQueryTreeGetArgs::operator()(), CSGQueryNodePreprocessor::operator()(), PrintNode(), s_AddNodeToBtc(), s_ExpandSubNodes(), s_FindNodeDistance(), s_GetNewick(), s_IncludeNode(), s_ScaleTreeEdges(), s_SetLeafIds(), s_TestTree(), s_TraverseTree(), CMenuItem::SubItemsBegin(), CMultiAligner::x_AlignClusterQueries(), CMultiAligner::x_AttachClusterTrees(), CAlignFilter::x_Complexity(), CPhyTreeCalc::x_ComputeTree(), CPhyTreeCalc::x_CorrectBranchLengths(), CMacroExec::x_EvaluateQueryTree(), x_FillNewDistanceMatrix(), CDistMethods::x_FindLargestEdge(), CAlignFilter::x_FuncCall(), CAssignQueryTreeGetArgs::x_IsDBLinkField(), CAssignQueryTreeGetArgs::x_IsStructCommField(), CAlignFilter::x_Match(), CAlignFilter::x_ParseTree_Flatten(), CAssignQueryTreeGetArgs::x_ProcessFunction(), CWhereQueryTreeGetArgs::x_ProcessFunction(), ITreeMacroFunction::x_SetUserObjects(), IEditMacroFunction::x_SetUserObjects(), CMacroParser::x_SortParseTree(), and CDistMethods::ZeroNegativeBranches().

◆ SubNodeEnd() [1/2]

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
TNodeList_I CTreeNode< TValue, TKeyGetterP >::SubNodeEnd ( void  )
inline

Return last iterator on subnode list.

Definition at line 169 of file ncbi_tree.hpp.

◆ SubNodeEnd() [2/2]

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
TNodeList_CI CTreeNode< TValue, TKeyGetterP >::SubNodeEnd ( void  ) const
inline

◆ SubNodeRBegin() [1/2]

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
TNodeList_RI CTreeNode< TValue, TKeyGetterP >::SubNodeRBegin ( void  )
inline

Return first reverse iterator on subnode list.

Definition at line 175 of file ncbi_tree.hpp.

◆ SubNodeRBegin() [2/2]

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
TNodeList_CRI CTreeNode< TValue, TKeyGetterP >::SubNodeRBegin ( void  ) const
inline

Return first const reverse iterator on subnode list.

Definition at line 172 of file ncbi_tree.hpp.

Referenced by CMenuItem::x_InsertInUnnamedGroup().

◆ SubNodeREnd() [1/2]

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
TNodeList_RI CTreeNode< TValue, TKeyGetterP >::SubNodeREnd ( void  )
inline

Return last reverse iterator on subnode list.

Definition at line 181 of file ncbi_tree.hpp.

◆ SubNodeREnd() [2/2]

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
TNodeList_CRI CTreeNode< TValue, TKeyGetterP >::SubNodeREnd ( void  ) const
inline

Return last const reverse iterator on subnode list.

Definition at line 178 of file ncbi_tree.hpp.

Referenced by CMenuItem::x_InsertInUnnamedGroup().

◆ TreeBreadthFirstTraverse()

template<class TTreeNode , class Fun >
Fun TreeBreadthFirstTraverse ( TTreeNode &  tree_node,
Fun  func 
)

Breadth-first tree traversal algorithm.

Takes tree and visitor function and calls function for every node in the tree in breadth-first order. Functor is evaluated at each node only once.

Functor should have the next prototype: ETreeTraverseCode Func(TreeNode& node) where node is a reference to the visited node

See also
ETreeTraverseCode

Definition at line 589 of file ncbi_tree.hpp.

References eTreeTraverse, eTreeTraverseStepOver, and eTreeTraverseStop.

Referenced by NMFncParse::GetDoFunctions().

◆ TreeCompare()

template<class TTreeNode , class TCompFun >
bool TreeCompare ( const TTreeNode &  tree1,
const TTreeNode &  tree2,
TCompFun  func 
)

Compare two trees using comparison functor where order of children matters.

Parameters
tree1First tree
tree2Second tree
funcComparison functor (operates on 2 node-value types and returns bool)

Definition at line 62 of file tree_algo.hpp.

◆ TreeConvert2Dynamic()

template<class TDynamicTree , class TTreeNode , class TNodeConvFunc >
void TreeConvert2Dynamic ( TDynamicTree &  dyn_tree,
const TTreeNode *  src_tree,
TNodeConvFunc  node_conv 
)

Convert CTreeNode<> to dynamic tree using a node converter.

Definition at line 158 of file bio_tree_conv.hpp.

References CTree2TreeFunc< TDstTreeNode, TSrcTreeNode, TNodeConvFunc >::GetTreeNode(), and TreeDepthFirstTraverse().

◆ TreeDepthFirstTraverse()

template<class TTreeNode , class Fun >
Fun TreeDepthFirstTraverse ( TTreeNode &  tree_node,
Fun  func 
)

Depth-first tree traversal algorithm.

Takes tree and visitor function and calls function for every node in the tree.

Functor should have the next prototype: ETreeTraverseCode Func(TreeNode& node, int delta_level) where node is a reference to the visited node and delta_level reflects the current traverse direction(depth wise) in the tree, 0 - algorithm stays is on the same level 1 - we are going one level deep into the tree (from the root) -1 - we are traveling back by one level (getting close to the root)

The specificts of the algorithm is that it calls visitor both on the way from the root to leafs and on the way back Using this template we can implement both variants of tree traversal (pre-order and post-order) Visitor controls the traversal by returning ETreeTraverseCode

See also
ETreeTraverseCode

Definition at line 504 of file ncbi_tree.hpp.

References eTreeTraverse, eTreeTraverseStepOver, and eTreeTraverseStop.

Referenced by CBioTreeForest< BioTree >::AddNode(), BDB_PrintQueryTree(), BioTreeConvert2Container(), BioTreeConvert2Dynamic(), BioTreeForestConvert2Container(), CPhyTreeFormatter::CollapseToViewPort(), CConfig::ConvertRegToTree(), CBDB_QueryParserEnvironment::DetachQueryClause(), CQueryParserEnv::DetachQueryTree(), DynamicConvert2Tree(), CBDB_FileScanner::Evaluate(), CQueryExec::Evaluate(), CQueryFuncPromoteAndOr::Evaluate(), CPhyTreeFormatter::ExpandCollapseSubtree(), CBioTree< TBioNode >::FindNode(), CQueryParserEnv::Free(), CPhyTreeFormatter::FullyExpand(), NMFncParse::GetDoFunctionsWithArgs(), CTaxTreeBrowser::GetSelectedUids(), NMFncParse::GetWhereFunctionsWithArgs(), CFeatureFilter::Init(), CPhyTreeFormatter::IsSingleBlastName(), CDoQueryTreeGetArgs::operator()(), CQueryParseTree::Print(), CBDB_Query::ResetQueryClause(), CQueryParseTree::ResetUserObjects(), CBDB_FileScanner::ResolveFields(), CBioTree< BioTreeBaseNode< CBioTreeEmptyNodeData, CBioTreeFeatureList > >::SetParentTree(), CBioTree< TBioNode >::SetTreeNode(), CPhyTreeFormatter::SimplifyTree(), SortTree(), TreeConvert2Dynamic(), TreeMakeSet(), TreePrint(), TreeSetToNodeList(), CPhyTreeFormatter::x_AddFeaturesForInnerNodes(), CMSAToolJob::x_AddTreeProjectItem(), CPhyTreeFormatter::x_CollapseSubtrees(), CTaxTreeBrowser::x_CountNodes(), CPhyTreeFormatter::x_GetBioNode(), CMacroExec::x_Init(), CQueryParsePanel::x_IsValidQuery(), CQueryParsePanel::x_StartQueryJob(), and CBDB_QueryParserEnvironment::~CBDB_QueryParserEnvironment().

◆ TreeFindCommonParent()

template<class TTreeNode >
const TTreeNode* TreeFindCommonParent ( const TTreeNode &  tree_node_a,
const TTreeNode &  tree_node_b 
)

Check if two nodes have the same common root.

Algorithm finds first common ancestor (farthest from the root)

Parameters
tree_node_aNode A
tree_node_bNode B
Returns
Nearest common root or NULL if there is no common parent

Definition at line 244 of file tree_algo.hpp.

References TreeTraceToRoot().

◆ TreeForEachParent()

template<class TTreeNode , class TFunc >
TFunc TreeForEachParent ( const TTreeNode &  tree_node,
TFunc  func,
bool  skip_self = false 
)

Visit every parent of the specified node.

Parameters
tree_nodeStarting node
funcVisiting functor
skip_selfFlag to skip the first node (tree_node itself) When TRUE visits only true ancestors

Definition at line 156 of file tree_algo.hpp.

Referenced by TreeMakeParentsSet(), and TreeTraceToRoot().

◆ TreeListToSet() [1/2]

template<class TNodeList , class TBackInsert >
void TreeListToSet ( const TNodeList &  node_list,
TBackInsert  back_ins 
)

Convert list of node pointers to set of ids.

Parameters
node_listnode list container (must support const_iterator)
back_insback insert iterator for the set container

Definition at line 482 of file tree_algo.hpp.

References TreeListToSet().

◆ TreeListToSet() [2/2]

template<class TNodeListIt , class TBackInsert >
void TreeListToSet ( TNodeListIt  node_list_first,
TNodeListIt  node_list_last,
TBackInsert  back_ins 
)

Convert list of node pointers to set of ids Input set is represented by input forward iterators Output set is a back insert iterator.

Definition at line 464 of file tree_algo.hpp.

Referenced by CTreeMinimalSet< TNode, TSet, TNodeList >::MinimalSet(), CTreeNonRedundantSet< TNode, TSet, TNodeList >::operator()(), CTreeNodesAnd< TNode, TSet, TNodeList >::operator()(), CTreeNodesOr< TNode, TSet, TNodeList >::operator()(), and TreeListToSet().

◆ TreeMakeParentsSet()

template<class TNode , class TBackInsert >
void TreeMakeParentsSet ( const TNode &  tree_node,
TBackInsert  back_ins 
)

Traverses all ancestors and add their ids to a set.

Parameters
tree_nodeStarting node
back_insBack insert iterator (represents set)

Definition at line 526 of file tree_algo.hpp.

References TreeForEachParent().

Referenced by CTreeNonRedundantSet< TNode, TSet, TNodeList >::operator()().

◆ TreeMakeSet()

template<class TNode , class TBackInsert >
void TreeMakeSet ( const TNode &  tree_node,
TBackInsert  back_ins 
)

Create set of all sub-nodes (recursively)

Parameters
tree_noderoot node
back_insBack insert iterator (represents set)

Definition at line 541 of file tree_algo.hpp.

References TreeDepthFirstTraverse().

Referenced by CTreeMinimalSet< TNode, TSet, TNodeList >::CheckNodeList().

◆ TreeMakeSubNodesSet()

template<class TNode , class TBackInsert >
void TreeMakeSubNodesSet ( const TNode &  tree_node,
TBackInsert  back_ins 
)

Create set of all immediate sub-nodes (one level down from the root)

Parameters
tree_noderoot node
back_insBack insert iterator (represents set)

Definition at line 556 of file tree_algo.hpp.

Referenced by CTreeMinimalSet< TNode, TSet, TNodeList >::CheckNodeList().

◆ TreePrint()

template<class TTreeNode , class TConverter >
void TreePrint ( CNcbiOstream os,
const TTreeNode &  tree_node,
TConverter  conv,
bool  print_ptr = false 
)

Tree printing (use for debugging purposes)

Parameters
osStream to print the tree
tree_nodeTree node to print (top or sub-tree)
convConverter of node value to string (string Conv(node_value) )
print_ptrWhen TRUE function prints all internal pointers (debugging)

Definition at line 348 of file tree_algo.hpp.

References conv, and TreeDepthFirstTraverse().

◆ TreeReRoot()

template<class TTreeNode >
void TreeReRoot ( TTreeNode &  new_root_node)

Change tree root (tree rotation)

Parameters
new_root_nodenew node which becomes new tree root after the call

Definition at line 217 of file tree_algo.hpp.

References ITERATE, trace, and TreeTraceToRoot().

◆ TreeSetToNodeList()

template<class TNode , class TSet , class TNodeList >
void TreeSetToNodeList ( const TNode &  tree_node,
const TSet &  node_set,
TNodeList &  nlist 
)

Convert set of node ids to list of nodes.

Traverses the tree, if node is in the set adds node pointer to the nodelist.

Definition at line 609 of file tree_algo.hpp.

References TreeDepthFirstTraverse().

◆ TreeTraceToRoot()

template<class TTreeNode , class TTraceContainer >
void TreeTraceToRoot ( const TTreeNode &  tree_node,
TTraceContainer &  trace 
)

Trace from the specified node to to the tree root.

Trace path is a container of node const node pointers (The only requirement is push_back method) The input node becomes first element, then comes its parent. If the node is a tree top its pointer is the only element of the trace vector

Parameters
tree_nodeStarting node (added to the trace first)
traceTrace container (vector<const TTreeNode*> or similar)

Definition at line 205 of file tree_algo.hpp.

References trace, and TreeForEachParent().

Referenced by TreeFindCommonParent(), and TreeReRoot().

◆ Unregister()

void CBioTreeFeatureDictionary::Unregister ( TBioTreeFeatureId  id)

◆ WriteNewickTree()

void WriteNewickTree ( CNcbiOstream os,
const CBioTreeDynamic tree,
const IBioTreeDynamicLabelFormatter label_fmt = nullptr 
)

Newick format output.

tree_name gets put in the file.

Definition at line 280 of file bio_tree.cpp.

References PrintNode().

Referenced by CPhyExportJob::Run(), and WriteNexusTree().

◆ WriteNexusTree()

void WriteNexusTree ( CNcbiOstream os,
const CBioTreeDynamic tree,
const string tree_name = "the_tree",
const IBioTreeDynamicLabelFormatter label_fmt = nullptr 
)

Nexus format output (Newick with some stuff around it).

tree_name gets put in the file.

Definition at line 287 of file bio_tree.cpp.

References WriteNewickTree().

Referenced by CPhyExportJob::Run().

◆ ~CBioTree()

template<class TBioNode >
virtual CBioTree< TBioNode >::~CBioTree ( )
inlinevirtual

Definition at line 364 of file bio_tree.hpp.

◆ ~CTaxon1NodeConvertVisitor()

template<class TITaxon4Each , class TITaxon1Node , class TITreeIterator , class TBioTreeContainer >
virtual CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::~CTaxon1NodeConvertVisitor ( )
inlinevirtual

Definition at line 601 of file bio_tree_conv.hpp.

◆ ~CTreeNode()

template<class TValue , class TKeyGetter >
CTreeNode< TValue, TKeyGetter >::~CTreeNode ( void  )
virtual

Definition at line 662 of file ncbi_tree.hpp.

References _ASSERT.

◆ ~IBioTreeDynamicLabelFormatter()

virtual IBioTreeDynamicLabelFormatter::~IBioTreeDynamicLabelFormatter ( )
inlinevirtual

Definition at line 500 of file bio_tree.hpp.

Variable Documentation

◆ data

template<class TNodeData = CBioTreeEmptyNodeData, class TNodeFeatures = CBioTreeFeatureList>
TNodeData BioTreeBaseNode< TNodeData, TNodeFeatures >::data

additional node info

Definition at line 167 of file bio_tree.hpp.

◆ features

template<class TNodeData = CBioTreeEmptyNodeData, class TNodeFeatures = CBioTreeFeatureList>
TNodeFeatures BioTreeBaseNode< TNodeData, TNodeFeatures >::features

list of node features

Definition at line 168 of file bio_tree.hpp.

◆ id [1/2]

TBioTreeFeatureId CBioTreeFeaturePair::id

Definition at line 71 of file bio_tree.hpp.

Referenced by CBioTreeFeaturePair::operator<().

◆ id [2/2]

template<class TId , class TValue , class TIdEqual = std::equal_to<TId>>
TId CTreePair< TId, TValue, TIdEqual >::id

Definition at line 471 of file ncbi_tree.hpp.

◆ m_Ascending

template<class TValue , class TKeyGetter = CDefaultNodeKeyGetter<TValue>>
bool CCompareByLeafCount< TValue, TKeyGetter >::m_Ascending
private

◆ m_BackIns

template<class TTreeNode , class TBackInsert >
TBackInsert CTreeIdToSetFunc< TTreeNode, TBackInsert >::m_BackIns
private

◆ m_Compare

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
template<class TNodeComparator >
const TNodeComparator& CTreeNode< TValue, TKeyGetterP >::CSorter< TNodeComparator >::m_Compare
private

Definition at line 400 of file ncbi_tree.hpp.

Referenced by CTreeNode< TBioNode >::CSorter::operator()().

◆ m_Container

template<class TBioTreeContainer , class TDynamicTree >
TBioTreeContainer* CBioTreeConvert2ContainerFunc< TBioTreeContainer, TDynamicTree >::m_Container
private

Definition at line 279 of file bio_tree_conv.hpp.

◆ m_Conv

template<class TTreeNode , class TConverter >
TConverter& CTreePrintFunc< TTreeNode, TConverter >::m_Conv
private

Definition at line 330 of file tree_algo.hpp.

Referenced by CTreePrintFunc< TTreeNode, TConverter >::operator()().

◆ m_ConvFunc

template<class TDstTreeNode , class TSrcTreeNode , class TNodeConvFunc >
TNodeConvFunc& CTree2TreeFunc< TDstTreeNode, TSrcTreeNode, TNodeConvFunc >::m_ConvFunc
private

◆ m_Dict

TFeatureDict CBioTreeFeatureDictionary::m_Dict
protected

◆ m_DstTree

template<class TDstTreeNode , class TSrcTreeNode , class TNodeConvFunc >
TDstTreeNodeType* CTree2TreeFunc< TDstTreeNode, TSrcTreeNode, TNodeConvFunc >::m_DstTree
private

◆ m_FeatureDict

template<class TBioNode >
CBioTreeFeatureDictionary CBioTree< TBioNode >::m_FeatureDict
protected

◆ m_FeatureList

TFeatureList CBioTreeFeatureList::m_FeatureList
protected

◆ m_GetterAndParent

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
pair_base_member<TKeyGetter, TTreeType*> CTreeNode< TValue, TKeyGetterP >::m_GetterAndParent
protected

Key getter and pointer to the parent node.

Definition at line 410 of file ncbi_tree.hpp.

Referenced by CTreeNode< TBioNode >::GetKeyGetter(), CTreeNode< TBioNode >::GetParent(), and CTreeNode< TBioNode >::SetParent().

◆ m_IdCounter

unsigned int CBioTreeFeatureDictionary::m_IdCounter
protected

◆ m_Level

template<class TTreeNode , class TConverter >
int CTreePrintFunc< TTreeNode, TConverter >::m_Level
private

◆ m_MaxNodeId

template<class TBioTreeContainer , class TTaxon1 , class TITaxon1Node , class TITreeIterator >
int CTaxon1ConvertToBioTreeContainer< TBioTreeContainer, TTaxon1, TITaxon1Node, TITreeIterator >::m_MaxNodeId
private

◆ m_MaxUID

template<class TITaxon4Each , class TITaxon1Node , class TITreeIterator , class TBioTreeContainer >
int CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::m_MaxUID
private

◆ m_Name2Id

TFeatureNameIdx CBioTreeFeatureDictionary::m_Name2Id
protected

◆ m_Node

template<class TBioNode >
TBioTreeNode* CBioTree< TBioNode >::CFindUidFunc::m_Node
private

◆ m_NodeIdCounter

template<class TBioNode >
TBioTreeNodeId CBioTree< TBioNode >::m_NodeIdCounter
protected

◆ m_NodeList [1/3]

template<class TBioTreeContainer , class TDynamicTree >
TNodeList* CBioTreeConvert2ContainerFunc< TBioTreeContainer, TDynamicTree >::m_NodeList
private

◆ m_NodeList [2/3]

template<class TITaxon4Each , class TITaxon1Node , class TITreeIterator , class TBioTreeContainer >
TNodeList* CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::m_NodeList
private

◆ m_NodeList [3/3]

template<class TTreeNode , class TSet , class TNodeList >
TNodeList* CTreeSet2NodeListFunc< TTreeNode, TSet, TNodeList >::m_NodeList
private

◆ m_Nodes

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
TNodeList CTreeNode< TValue, TKeyGetterP >::m_Nodes
protected

◆ m_NodeSet

template<class TTreeNode , class TSet , class TNodeList >
const TSet& CTreeSet2NodeListFunc< TTreeNode, TSet, TNodeList >::m_NodeSet
private

◆ m_OStream

template<class TTreeNode , class TConverter >
CNcbiOstream& CTreePrintFunc< TTreeNode, TConverter >::m_OStream
private

◆ m_Parents

template<class TITaxon4Each , class TITaxon1Node , class TITreeIterator , class TBioTreeContainer >
vector<TTaxId> CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::m_Parents
private

◆ m_ParentTree

template<class TBioNode >
TBioTree* CBioTree< TBioNode >::CBioNode::m_ParentTree
protected

◆ m_PrintPtr

template<class TTreeNode , class TConverter >
bool CTreePrintFunc< TTreeNode, TConverter >::m_PrintPtr
private

Definition at line 332 of file tree_algo.hpp.

Referenced by CTreePrintFunc< TTreeNode, TConverter >::operator()().

◆ m_Trace

template<class TTreeNode , class TTraceContainer >
TTraceContainer* CTreeParentTraceFunc< TTreeNode, TTraceContainer >::m_Trace
private

◆ m_Tree

template<class TBioNode >
CBioTree* CBioTree< TBioNode >::CAssignTreeFunc::m_Tree
private

◆ m_TreeContainer

template<class TITaxon4Each , class TITaxon1Node , class TITreeIterator , class TBioTreeContainer >
TBioTreeContainer* CTaxon1NodeConvertVisitor< TITaxon4Each, TITaxon1Node, TITreeIterator, TBioTreeContainer >::m_TreeContainer
private

Definition at line 735 of file bio_tree_conv.hpp.

◆ m_TreeNode

template<class TBioNode >
unique_ptr<TBioTreeNode> CBioTree< TBioNode >::m_TreeNode
protected

◆ m_TreeStack

template<class TDstTreeNode , class TSrcTreeNode , class TNodeConvFunc >
vector<TDstTreeNodeType*> CTree2TreeFunc< TDstTreeNode, TSrcTreeNode, TNodeConvFunc >::m_TreeStack
private

◆ m_Uid

template<class TBioNode >
TBioTreeNodeId CBioTree< TBioNode >::CFindUidFunc::m_Uid
private

◆ m_Value

template<class TValue , class TKeyGetterP = CDefaultNodeKeyGetter<TValue>>
TValue CTreeNode< TValue, TKeyGetterP >::m_Value
protected

◆ uid

template<class TNodeData = CBioTreeEmptyNodeData, class TNodeFeatures = CBioTreeFeatureList>
TBioTreeNodeId BioTreeBaseNode< TNodeData, TNodeFeatures >::uid

◆ value [1/2]

string CBioTreeFeaturePair::value

Definition at line 72 of file bio_tree.hpp.

◆ value [2/2]

template<class TId , class TValue , class TIdEqual = std::equal_to<TId>>
TValue CTreePair< TId, TValue, TIdEqual >::value

Definition at line 472 of file ncbi_tree.hpp.

Modified on Fri Jan 05 07:22:04 2024 by modify_doxy.py rev. 669887