#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.