#include <ogdf/hypergraph/Hypergraph.h>
Public Member Functions | |
Hypergraph () | |
Constructs an empty hypergraph. | |
Hypergraph (const Hypergraph &H) | |
Constructs a hypergraph that is a copy of H . | |
~Hypergraph () | |
Destructor. | |
template<class LIST > | |
void | allHyperedges (LIST &hyperedgeList) const |
Returns a list with all hyperedges of the hypergraph. | |
template<class LIST > | |
void | allHypernodes (LIST &hypernodeList) const |
Returns a list with all hypernodes of the hypergraph. | |
void | clear () |
Removes all hypernodes and all hyperedges from the hypergraph. | |
bool | consistency () const |
Checks the consistency of the data structure. | |
void | delHyperedge (hyperedge e) |
Removes hyperedge e from the hypergraph. | |
void | delHypernode (hypernode v) |
Removes hypernode v and all incident hyperedges from the hypergraph. | |
bool | empty () const |
Returns true iff the hypergraph is empty (ie. contains no hypernodes). | |
hyperedge | firstHyperedge () const |
Returns the first hyperedge in the list of all hyperedges. | |
hypernode | firstHypernode () const |
Returns the first hypernode in the list of all hypernodes. | |
int | hyperedgeArrayTableSize () const |
Returns the table size of hyperedge arrays within the hypergraph. | |
internal::GraphList< HyperedgeElement > | hyperedges () const |
Returns the list of all hyperedges. | |
int | hypernodeArrayTableSize () const |
Returns the table size of hypernode arrays with the hypergraph. | |
internal::GraphList< HypernodeElement > | hypernodes () const |
Returns the list of all hypernodes. | |
hyperedge | lastHyperEdge () const |
Returns the last hyperedge in the list of all hyperedges. | |
hypernode | lastHypernode () const |
Returns the last hypernode in the list of all hypernodes. | |
void | loadPlaHypergraph (const char *fileName) |
Reads hypergraph in pla format from the file. | |
int | maxHyperedgeIndex () const |
Returns the largest used hyperedge index. | |
int | maxHypernodeIndex () const |
Returns the largest used hypernode index. | |
hyperedge | newHyperedge (int pIndex, List< hypernode > &hypernodes) |
Creates a new hyperedge between hypernodes and returns it. | |
hyperedge | newHyperedge (List< hypernode > &hypernodes) |
Creates a new hyperedge btween hypernodes and returns it. | |
hypernode | newHypernode () |
Creates a new hypernode and returns it. | |
hypernode | newHypernode (HypernodeElement::Type pType) |
Creates a new hypernode with given pType and returns it. | |
hypernode | newHypernode (int pIndex) |
Creates a new hypernode with given pIndex and returns it. | |
hypernode | newHypernode (int pIndex, HypernodeElement::Type pType) |
Creates a new hypernode with given pIndex and pType and returns it. | |
int | numberOfHyperedges () const |
Returns the number of hyperedges in the hypergraph. | |
int | numberOfHypernodes () const |
Returns the number of hypernodes in the hypergraph. | |
Hypergraph & | operator= (const Hypergraph &H) |
hyperedge | randomHyperedge () const |
Returns a randomly chosen hyperedge. | |
hypernode | randomHypernode () const |
Returns a randomly chosen hypergraph. | |
void | readBenchHypergraph (const char *filename) |
Reads hypergraph in bench format from the file. | |
void | readBenchHypergraph (std::istream &is) |
Reads hypergraph in bench format from the input stream. | |
void | readPlaHypergraph (std::istream &is) |
Reads hypergraph in pla format from the input stream. | |
ListIterator< HypergraphArrayBase * > | registerHyperedgeArray (HypergraphArrayBase *pHyperedgeArray) const |
ListIterator< HypergraphArrayBase * > | registerHypernodeArray (HypergraphArrayBase *pHypernodeArray) const |
Registers a node array. | |
ListIterator< HypergraphObserver * > | registerObserver (HypergraphObserver *pObserver) const |
Registers a hypergraph observer (e.g. a EdgeStandardRep). | |
void | unregisterHyperedgeArray (ListIterator< HypergraphArrayBase * > it) const |
Unregisters an hyperedge array. | |
void | unregisterHypernodeArray (ListIterator< HypergraphArrayBase * > it) const |
Unregisters a hypernode array. | |
void | unregisterObserver (ListIterator< HypergraphObserver * > it) const |
Unregisters a hypergraph observer. | |
Public Attributes | |
OGDF_MALLOC_NEW_DELETE | |
Private Member Functions | |
HypernodeElement::Type | gateType (string gate) |
void | initArrays () |
void | initObservers () |
int | nextEntry (char *buffer, int from, string stop) |
Private Attributes | |
ListPure< HypergraphArrayBase * > | m_hyperedgeArrays |
int | m_hyperedgeArrayTableSize |
The current table size of hyperedge arrays within the hypergraph. | |
int | m_hyperedgeIdCount |
The Index that will be assigned to the next created hyperedge. | |
internal::GraphList< HyperedgeElement > | m_hyperedges |
The list of all hyperedges. | |
ListPure< HypergraphArrayBase * > | m_hypernodeArrays |
The registered hypergraph arrays & observers. | |
int | m_hypernodeArrayTableSize |
The current table size of hypernode arrays within the hypergraph. | |
int | m_hypernodeIdCount |
The Index that will be assigned to the next created hypernode. | |
internal::GraphList< HypernodeElement > | m_hypernodes |
The list of all hypernodes. | |
int | m_nHyperedges |
The number of hyperedges in the hypergraph. | |
int | m_nHypernodes |
The number of hypernodes in the hypergraph. | |
ListPure< HypergraphObserver * > | m_observers |
Friends | |
std::ostream & | operator<< (std::ostream &os, ogdf::Hypergraph &H) |
std::istream & | operator>> (std::istream &is, ogdf::Hypergraph &H) |
Definition at line 323 of file Hypergraph.h.
ogdf::Hypergraph::Hypergraph | ( | ) |
Constructs an empty hypergraph.
ogdf::Hypergraph::Hypergraph | ( | const Hypergraph & | H | ) |
Constructs a hypergraph that is a copy of H
.
ogdf::Hypergraph::~Hypergraph | ( | ) |
Destructor.
Returns a list with all hyperedges of the hypergraph.
Definition at line 461 of file Hypergraph.h.
Returns a list with all hypernodes of the hypergraph.
Definition at line 452 of file Hypergraph.h.
void ogdf::Hypergraph::clear | ( | ) |
Removes all hypernodes and all hyperedges from the hypergraph.
bool ogdf::Hypergraph::consistency | ( | ) | const |
Checks the consistency of the data structure.
Removes hyperedge e
from the hypergraph.
e | is the hyperegde that will be deleted. |
Removes hypernode v
and all incident hyperedges from the hypergraph.
v | is the hypernode that will be deleted. |
|
inline |
Returns true iff the hypergraph is empty (ie. contains no hypernodes).
Definition at line 364 of file Hypergraph.h.
|
inline |
Returns the first hyperedge in the list of all hyperedges.
Definition at line 391 of file Hypergraph.h.
|
inline |
Returns the first hypernode in the list of all hypernodes.
Definition at line 385 of file Hypergraph.h.
|
private |
|
inline |
Returns the table size of hyperedge arrays within the hypergraph.
Definition at line 400 of file Hypergraph.h.
|
inline |
Returns the list of all hyperedges.
Definition at line 370 of file Hypergraph.h.
|
inline |
Returns the table size of hypernode arrays with the hypergraph.
Definition at line 397 of file Hypergraph.h.
|
inline |
Returns the list of all hypernodes.
Definition at line 367 of file Hypergraph.h.
|
private |
|
private |
|
inline |
Returns the last hyperedge in the list of all hyperedges.
Definition at line 394 of file Hypergraph.h.
|
inline |
Returns the last hypernode in the list of all hypernodes.
Definition at line 388 of file Hypergraph.h.
Reads hypergraph in pla format from the file.
|
inline |
Returns the largest used hyperedge index.
Definition at line 382 of file Hypergraph.h.
|
inline |
Returns the largest used hypernode index.
Definition at line 379 of file Hypergraph.h.
Creates a new hyperedge between hypernodes
and returns it.
pIndex | is the unique index of the newly created hyperedge. |
hypernodes | are the hypernodes of the newly created hyperedge. |
Creates a new hyperedge btween hypernodes
and returns it.
hypernodes | are the hypernodes of the newly created hyperedge. |
hypernode ogdf::Hypergraph::newHypernode | ( | ) |
Creates a new hypernode and returns it.
hypernode ogdf::Hypergraph::newHypernode | ( | HypernodeElement::Type | pType | ) |
Creates a new hypernode with given pType
and returns it.
Creates a new hypernode with given pIndex
and returns it.
hypernode ogdf::Hypergraph::newHypernode | ( | int | pIndex, |
HypernodeElement::Type | pType | ||
) |
Creates a new hypernode with given pIndex
and pType
and returns it.
|
inline |
Returns the number of hyperedges in the hypergraph.
Definition at line 376 of file Hypergraph.h.
|
inline |
Returns the number of hypernodes in the hypergraph.
Definition at line 373 of file Hypergraph.h.
Hypergraph & ogdf::Hypergraph::operator= | ( | const Hypergraph & | H | ) |
hyperedge ogdf::Hypergraph::randomHyperedge | ( | ) | const |
Returns a randomly chosen hyperedge.
hypernode ogdf::Hypergraph::randomHypernode | ( | ) | const |
Returns a randomly chosen hypergraph.
Reads hypergraph in bench format from the file.
void ogdf::Hypergraph::readBenchHypergraph | ( | std::istream & | is | ) |
Reads hypergraph in bench format from the input stream.
void ogdf::Hypergraph::readPlaHypergraph | ( | std::istream & | is | ) |
Reads hypergraph in pla format from the input stream.
ListIterator< HypergraphArrayBase * > ogdf::Hypergraph::registerHyperedgeArray | ( | HypergraphArrayBase * | pHyperedgeArray | ) | const |
ListIterator< HypergraphArrayBase * > ogdf::Hypergraph::registerHypernodeArray | ( | HypergraphArrayBase * | pHypernodeArray | ) | const |
Registers a node array.
ListIterator< HypergraphObserver * > ogdf::Hypergraph::registerObserver | ( | HypergraphObserver * | pObserver | ) | const |
Registers a hypergraph observer (e.g. a EdgeStandardRep).
void ogdf::Hypergraph::unregisterHyperedgeArray | ( | ListIterator< HypergraphArrayBase * > | it | ) | const |
Unregisters an hyperedge array.
void ogdf::Hypergraph::unregisterHypernodeArray | ( | ListIterator< HypergraphArrayBase * > | it | ) | const |
Unregisters a hypernode array.
void ogdf::Hypergraph::unregisterObserver | ( | ListIterator< HypergraphObserver * > | it | ) | const |
Unregisters a hypergraph observer.
|
friend |
|
friend |
|
mutableprivate |
Definition at line 350 of file Hypergraph.h.
|
private |
The current table size of hyperedge arrays within the hypergraph.
Definition at line 346 of file Hypergraph.h.
|
private |
The Index that will be assigned to the next created hyperedge.
Definition at line 340 of file Hypergraph.h.
|
private |
The list of all hyperedges.
Definition at line 328 of file Hypergraph.h.
|
mutableprivate |
The registered hypergraph arrays & observers.
Definition at line 349 of file Hypergraph.h.
|
private |
The current table size of hypernode arrays within the hypergraph.
Definition at line 343 of file Hypergraph.h.
|
private |
The Index that will be assigned to the next created hypernode.
Definition at line 337 of file Hypergraph.h.
|
private |
The list of all hypernodes.
Definition at line 325 of file Hypergraph.h.
|
private |
The number of hyperedges in the hypergraph.
Definition at line 334 of file Hypergraph.h.
|
private |
The number of hypernodes in the hypergraph.
Definition at line 331 of file Hypergraph.h.
|
mutableprivate |
Definition at line 351 of file Hypergraph.h.
ogdf::Hypergraph::OGDF_MALLOC_NEW_DELETE |
Definition at line 508 of file Hypergraph.h.