Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

PCRegistry.h
Go to the documentation of this file.
1 
32 #pragma once
33 
35 
36 namespace ogdf::pc_tree {
40 class OGDF_EXPORT PCTreeRegistry : public ogdf::RegistryBase<PCNode*, PCTreeRegistry> {
42 
43 public:
44  PCTreeRegistry(PCTreeForest* pcTreeForest) : m_pForest(pcTreeForest) { }
45 
47  static inline int keyToIndex(PCNode* key);
48 
50  bool isKeyAssociated(PCNode* key) const;
51 
53  int maxKeyIndex() const;
54 
56  int calculateArraySize(int add) const;
57 
58  operator PCTreeForest&() const { return *m_pForest; }
59 
60  operator PCTreeForest*() const { return m_pForest; }
61 
62  PCTreeForest& getForest() const { return *m_pForest; }
63 };
64 }
ogdf::RegistryBase
Abstract base class for registries.
Definition: RegisteredArray.h:95
ogdf::pc_tree::PCTreeRegistry::getForest
PCTreeForest & getForest() const
Definition: PCRegistry.h:62
ogdf::pc_tree
Definition: NodePCRotation.h:37
ogdf::pc_tree::PCTreeRegistry
A registry that allows labelling the nodes of a PC-tree.
Definition: PCRegistry.h:40
ogdf::pc_tree::PCTreeRegistry::PCTreeRegistry
PCTreeRegistry(PCTreeForest *pcTreeForest)
Definition: PCRegistry.h:44
ogdf::pc_tree::PCTreeRegistry::m_pForest
PCTreeForest * m_pForest
Definition: PCRegistry.h:41
ogdf::pc_tree::PCTreeForest
Multiple PCTrees can be created within the same PCTreeForest, which allows merging the trees later on...
Definition: PCTreeForest.h:53
PCEnum.h
Predeclaration of various PC-tree related classes and enums.
ogdf::pc_tree::PCNode
A node in a PC-tree that is either a P-node, C-node or leaf.
Definition: PCNode.h:58
OGDF_EXPORT
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition: config.h:101