Detailed Description

Labeled tree class for pseudo-determinization algorithm (Fixed N nodes)

Definition at line 109 of file omg_pseudodet.h.

#include <omg_pseudodet.h>

Public Member Functions

 LabeledTree ()
 Default constructor. More...
 
 LabeledTree (int N)
 Constructor with fixed node count. More...
 
Idx createNodeWithNumber (int nodeNumber)
 Create a new node with specific number, return its ID. More...
 
Idx createNode ()
 Create a new node with auto-assigned number, return its ID. More...
 
void deleteNode (Idx nodeId)
 Delete a node and clean up references. More...
 
int getNodeNumber (Idx nodeId) const
 Get node number from ID. More...
 
Idx getNodeId (int nodeNumber) const
 Get node ID from number. More...
 
bool hasNodeNumber (int nodeNumber) const
 Check if node number exists in tree. More...
 
std::string ToString () const
 Debug string representation. More...
 
bool operator< (const LabeledTree &other) const
 Comparison operator for ordering. More...
 
bool operator== (const LabeledTree &other) const
 Equality operator. More...
 

Public Attributes

std::map< Idx, TreeNodenodes
 Tree nodes (ID -> node) More...
 
std::map< int, IdxnumberToId
 Node number -> ID mapping. More...
 
std::map< Idx, int > idToNumber
 ID -> node number mapping. More...
 
std::set< int > deletedNodeNumbers
 Node numbers deleted in this step. More...
 
Idx rootNode
 Root node ID. More...
 
Idx nextNodeId
 Next available node ID. More...
 
int maxNodeCount
 Maximum number of nodes (N) More...
 
std::vector< bool > nodeNumberUsed
 Track which node numbers are used. More...
 

Static Public Attributes

static const Idx INVALID_NODE = 0
 Invalid node constant. More...
 

Constructor & Destructor Documentation

◆ LabeledTree() [1/2]

faudes::LabeledTree::LabeledTree ( )

Default constructor.

Definition at line 84 of file omg_pseudodet.cpp.

◆ LabeledTree() [2/2]

faudes::LabeledTree::LabeledTree ( int  N)

Constructor with fixed node count.

Definition at line 86 of file omg_pseudodet.cpp.

Member Function Documentation

◆ createNode()

Idx faudes::LabeledTree::createNode ( )

Create a new node with auto-assigned number, return its ID.

Definition at line 110 of file omg_pseudodet.cpp.

◆ createNodeWithNumber()

Idx faudes::LabeledTree::createNodeWithNumber ( int  nodeNumber)

Create a new node with specific number, return its ID.

Definition at line 90 of file omg_pseudodet.cpp.

◆ deleteNode()

void faudes::LabeledTree::deleteNode ( Idx  nodeId)

Delete a node and clean up references.

Definition at line 122 of file omg_pseudodet.cpp.

◆ getNodeId()

Idx faudes::LabeledTree::getNodeId ( int  nodeNumber) const

Get node ID from number.

Definition at line 154 of file omg_pseudodet.cpp.

◆ getNodeNumber()

int faudes::LabeledTree::getNodeNumber ( Idx  nodeId) const

Get node number from ID.

Definition at line 149 of file omg_pseudodet.cpp.

◆ hasNodeNumber()

bool faudes::LabeledTree::hasNodeNumber ( int  nodeNumber) const

Check if node number exists in tree.

Definition at line 159 of file omg_pseudodet.cpp.

◆ operator<()

bool faudes::LabeledTree::operator< ( const LabeledTree other) const

Comparison operator for ordering.

Definition at line 177 of file omg_pseudodet.cpp.

◆ operator==()

bool faudes::LabeledTree::operator== ( const LabeledTree other) const

Equality operator.

Definition at line 183 of file omg_pseudodet.cpp.

◆ ToString()

std::string faudes::LabeledTree::ToString ( ) const

Debug string representation.

Definition at line 163 of file omg_pseudodet.cpp.

Member Data Documentation

◆ deletedNodeNumbers

std::set<int> faudes::LabeledTree::deletedNodeNumbers

Node numbers deleted in this step.

Definition at line 114 of file omg_pseudodet.h.

◆ idToNumber

std::map<Idx, int> faudes::LabeledTree::idToNumber

ID -> node number mapping.

Definition at line 113 of file omg_pseudodet.h.

◆ INVALID_NODE

const Idx faudes::LabeledTree::INVALID_NODE = 0
static

Invalid node constant.

Definition at line 120 of file omg_pseudodet.h.

◆ maxNodeCount

int faudes::LabeledTree::maxNodeCount

Maximum number of nodes (N)

Definition at line 117 of file omg_pseudodet.h.

◆ nextNodeId

Idx faudes::LabeledTree::nextNodeId

Next available node ID.

Definition at line 116 of file omg_pseudodet.h.

◆ nodeNumberUsed

std::vector<bool> faudes::LabeledTree::nodeNumberUsed

Track which node numbers are used.

Definition at line 118 of file omg_pseudodet.h.

◆ nodes

std::map<Idx, TreeNode> faudes::LabeledTree::nodes

Tree nodes (ID -> node)

Definition at line 111 of file omg_pseudodet.h.

◆ numberToId

std::map<int, Idx> faudes::LabeledTree::numberToId

Node number -> ID mapping.

Definition at line 112 of file omg_pseudodet.h.

◆ rootNode

Idx faudes::LabeledTree::rootNode

Root node ID.

Definition at line 115 of file omg_pseudodet.h.


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

libFAUDES 2.33l --- 2025.09.16 --- c++ api documentaion by doxygen