Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

ogdf::pc_tree Namespace Reference

Namespaces

 uid_utils
 Functions that can be passed to PCTree::uniqueID()
 

Classes

class  FilteringPCTreeWalk
 A DFS or BFS through a PCTree. More...
 
struct  GraphNotPlanarException
 
class  IntrusiveList
 
class  NodePCRotation
 This class represents the embedding tree of a single node in a biconnected component. More...
 
class  PCNode
 A node in a PC-tree that is either a P-node, C-node or leaf. More...
 
struct  PCNodeChildrenIterable
 
class  PCNodeIterator
 
struct  PCNodeNeighborsIterable
 
class  PCTree
 A PC-tree represents a set of cyclic orders of its leaves by labeling its inner nodes as either P- or C-node and allowing arbitrary permutations of the neighbors of P-nodes while only allowing flips of C-nodes. More...
 
class  PCTreeForest
 Multiple PCTrees can be created within the same PCTreeForest, which allows merging the trees later on by making one a child of another. More...
 
class  PCTreeRegistry
 A registry that allows labelling the nodes of a PC-tree. More...
 

Typedefs

using FilteringPCTreeBFS = FilteringPCTreeWalk< false >
 
using FilteringPCTreeDFS = FilteringPCTreeWalk< true >
 
template<typename Value , bool WithDefault = true>
using PCTreeNodeArray = ogdf::RegisteredArray< PCTreeRegistry, Value, WithDefault >
 
template<typename Value >
using PCTreeNodeArrayP = PCTreeNodeArray< std::unique_ptr< Value >, false >
 Shorthand for PCTreeNodeArray storing std::unique_ptr<Value>. More...
 
template<bool SupportFastSizeQuery = true>
using PCTreeNodeSet = ogdf::RegisteredSet< PCTreeRegistry, SupportFastSizeQuery >
 
using UnionFindIndex = size_t
 

Enumerations

enum  NodeLabel { NodeLabel::Unknown, NodeLabel::Partial, NodeLabel::Full, NodeLabel::Empty = Unknown }
 
enum  PCNodeType { PCNodeType::PNode, PCNodeType::CNode, PCNodeType::Leaf }
 

Functions

int factorial (int n)
 Returns n!. More...
 
bool isTrivialRestriction (int restSize, int leafCount)
 
std::ostream & operator<< (std::ostream &, const ogdf::pc_tree::PCNode &)
 
std::ostream & operator<< (std::ostream &, const ogdf::pc_tree::PCNode *)
 
std::ostream & operator<< (std::ostream &, const ogdf::pc_tree::PCTree &)
 
std::ostream & operator<< (std::ostream &, const ogdf::pc_tree::PCTree *)
 
std::ostream & operator<< (std::ostream &, ogdf::pc_tree::NodeLabel)
 
std::ostream & operator<< (std::ostream &, ogdf::pc_tree::PCNodeType)
 
void proceedToNextSibling (PCNode *&pred, PCNode *&curr)
 Iteration-convenience version of PCNode::getNextSibling() that updates the variables pred to curr and curr to the value returned by PCNode::getNextSibling(pred, curr). More...
 

Variables

int PCTREE_DEBUG_CHECK_FREQ
 Allows controlling the frequency of full-tree consistency checks in heavy debug mode. More...
 
const UnionFindIndex UNIONFINDINDEX_EMPTY = std::numeric_limits<UnionFindIndex>::max()
 

Typedef Documentation

◆ FilteringPCTreeBFS

Definition at line 215 of file PCTreeIterators.h.

◆ FilteringPCTreeDFS

Definition at line 214 of file PCTreeIterators.h.

◆ PCTreeNodeArray

template<typename Value , bool WithDefault = true>
using ogdf::pc_tree::PCTreeNodeArray = typedef ogdf::RegisteredArray<PCTreeRegistry, Value , WithDefault >

Definition at line 53 of file PCEnum.h.

◆ PCTreeNodeArrayP

template<typename Value >
using ogdf::pc_tree::PCTreeNodeArrayP = typedef PCTreeNodeArray <std::unique_ptr<Value>, false>

Shorthand for PCTreeNodeArray storing std::unique_ptr<Value>.


You may need to explicitly delete the copy constructor of classes containing a member of this type for MSVC<=16 (e.g. using OGDF_NO_COPY(MyClass)).

Definition at line 53 of file PCEnum.h.

◆ PCTreeNodeSet

template<bool SupportFastSizeQuery = true>
using ogdf::pc_tree::PCTreeNodeSet = typedef ogdf::RegisteredSet<PCTreeRegistry, SupportFastSizeQuery>

Definition at line 57 of file PCEnum.h.

◆ UnionFindIndex

using ogdf::pc_tree::UnionFindIndex = typedef size_t

Definition at line 44 of file PCTreeForest.h.

Enumeration Type Documentation

◆ NodeLabel

Enumerator
Unknown 
Partial 
Full 
Empty 

Definition at line 40 of file PCEnum.h.

◆ PCNodeType

Enumerator
PNode 
CNode 
Leaf 

Definition at line 42 of file PCEnum.h.

Function Documentation

◆ factorial()

int ogdf::pc_tree::factorial ( int  n)
inline

Returns n!.

Deprecated:
"Use std::tgamma(n+1)."

Definition at line 143 of file Math.h.

◆ isTrivialRestriction()

bool ogdf::pc_tree::isTrivialRestriction ( int  restSize,
int  leafCount 
)
Returns
true if calling PCTree::makeConsecutive() with restSize out of leafCount total leaves never requires changes to the tree. This is the case for restSize values 0, 1, leafCount - 1, and leafCount.

◆ operator<<() [1/6]

std::ostream& ogdf::pc_tree::operator<< ( std::ostream &  ,
const ogdf::pc_tree::PCNode  
)

◆ operator<<() [2/6]

std::ostream& ogdf::pc_tree::operator<< ( std::ostream &  ,
const ogdf::pc_tree::PCNode  
)

◆ operator<<() [3/6]

std::ostream& ogdf::pc_tree::operator<< ( std::ostream &  ,
const ogdf::pc_tree::PCTree  
)

◆ operator<<() [4/6]

std::ostream& ogdf::pc_tree::operator<< ( std::ostream &  ,
const ogdf::pc_tree::PCTree  
)

◆ operator<<() [5/6]

std::ostream& ogdf::pc_tree::operator<< ( std::ostream &  ,
ogdf::pc_tree::NodeLabel   
)

◆ operator<<() [6/6]

std::ostream& ogdf::pc_tree::operator<< ( std::ostream &  ,
ogdf::pc_tree::PCNodeType   
)

◆ proceedToNextSibling()

void ogdf::pc_tree::proceedToNextSibling ( PCNode *&  pred,
PCNode *&  curr 
)

Iteration-convenience version of PCNode::getNextSibling() that updates the variables pred to curr and curr to the value returned by PCNode::getNextSibling(pred, curr).

Variable Documentation

◆ PCTREE_DEBUG_CHECK_FREQ

int ogdf::pc_tree::PCTREE_DEBUG_CHECK_FREQ

Allows controlling the frequency of full-tree consistency checks in heavy debug mode.

When set to a non-zero value n, only every n'th check will be performed. When set to 1, every check will be executed. When set to 0, entirely skips the checks. Defaults to n=10.

◆ UNIONFINDINDEX_EMPTY

const UnionFindIndex ogdf::pc_tree::UNIONFINDINDEX_EMPTY = std::numeric_limits<UnionFindIndex>::max()

Definition at line 46 of file PCTreeForest.h.