Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

PCTree.h File Reference

The main class of the PC-tree. More...

#include <ogdf/basic/Graph.h>
#include <ogdf/basic/basic.h>
#include <ogdf/basic/internal/config_autogen.h>
#include <ogdf/basic/pctree/PCEnum.h>
#include <ogdf/basic/pctree/PCNode.h>
#include <ogdf/basic/pctree/PCRegistry.h>
#include <ogdf/basic/pctree/PCTreeForest.h>
#include <ogdf/basic/pctree/PCTreeIterators.h>
#include <ogdf/basic/pctree/util/IntrusiveList.h>
#include <cstddef>
#include <functional>
#include <initializer_list>
#include <iterator>
#include <list>
#include <sstream>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

class  ogdf::pc_tree::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...
 
struct  ogdf::pc_tree::PCTree::LoggingObserver
 
struct  ogdf::pc_tree::PCTree::NextFullLeaf< It >
 
struct  ogdf::pc_tree::PCTree::Observer
 Interface for Observers that can be notified of all changes made to the tree during an update. More...
 

Namespaces

 ogdf
 The namespace for all OGDF objects.
 
 ogdf::pc_tree
 
 ogdf::pc_tree::uid_utils
 Functions that can be passed to PCTree::uniqueID()
 

Functions

bool ogdf::pc_tree::uid_utils::compareNodesByID (PCNode *a, PCNode *b)
 Sort nodes by ascending index. More...
 
int ogdf::pc_tree::factorial (int n)
 Returns n!. More...
 
bool ogdf::pc_tree::isTrivialRestriction (int restSize, int leafCount)
 
void ogdf::pc_tree::uid_utils::leafToID (std::ostream &os, PCNode *n, int pos)
 Print the index of a node n if it is a leaf. More...
 
void ogdf::pc_tree::uid_utils::leafToPosition (std::ostream &os, PCNode *n, int pos)
 Print the position pos of a node n if it is a leaf. More...
 
void ogdf::pc_tree::uid_utils::nodeToID (std::ostream &os, PCNode *n, int pos)
 Print the index of a node n. More...
 
void ogdf::pc_tree::uid_utils::nodeToPosition (std::ostream &os, PCNode *n, int pos)
 Print the position pos of a node n. More...
 

Variables

int ogdf::pc_tree::PCTREE_DEBUG_CHECK_FREQ
 Allows controlling the frequency of full-tree consistency checks in heavy debug mode. More...
 

Detailed Description

The main class of the PC-tree.

Author
Simon D. Fink ogdf@.nosp@m.niko.nosp@m..fink.nosp@m..bay.nosp@m.ern
License:
This file is part of the Open Graph Drawing Framework (OGDF).
Copyright (C)
See README.md in the OGDF root directory for details.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License Version 2 or 3 as published by the Free Software Foundation; see the file LICENSE.txt included in the packaging of this file for details.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, see http://www.gnu.org/copyleft/gpl.html

Definition in file PCTree.h.