#include <ogdf/hypergraph/Hypergraph.h>
Public Member Functions | |
Hypergraph () | |
Constructs an empty hypergraph. More... | |
Hypergraph (const Hypergraph &H) | |
Constructs a hypergraph that is a copy of H . More... | |
~Hypergraph () | |
Destructor. More... | |
template<class LIST > | |
void | allHyperedges (LIST &hyperedgeList) const |
Returns a list with all hyperedges of the hypergraph. More... | |
template<class LIST > | |
void | allHypernodes (LIST &hypernodeList) const |
Returns a list with all hypernodes of the hypergraph. More... | |
void | clear () |
Removes all hypernodes and all hyperedges from the hypergraph. More... | |
bool | consistency () const |
Checks the consistency of the data structure. More... | |
void | delHyperedge (hyperedge e) |
Removes hyperedge e from the hypergraph. More... | |
void | delHypernode (hypernode v) |
Removes hypernode v and all incident hyperedges from the hypergraph. More... | |
bool | empty () const |
Returns true iff the hypergraph is empty (ie. contains no hypernodes). More... | |
hyperedge | firstHyperedge () const |
Returns the first hyperedge in the list of all hyperedges. More... | |
hypernode | firstHypernode () const |
Returns the first hypernode in the list of all hypernodes. More... | |
HypergraphRegistry< HyperedgeElement > & | hyperedgeRegistry () |
Returns a reference to the registry of hyperedge arrays associated with this hypergraph. More... | |
const HypergraphRegistry< HyperedgeElement > & | hyperedgeRegistry () const |
Returns a const reference to the registry of hyperedge arrays associated with this hypergraph. More... | |
const internal::GraphList< HyperedgeElement > & | hyperedges () const |
Returns the list of all hyperedges. More... | |
HypergraphRegistry< HypernodeElement > & | hypernodeRegistry () |
Returns a reference to the registry of hypernode arrays associated with this hypergraph. More... | |
const HypergraphRegistry< HypernodeElement > & | hypernodeRegistry () const |
Returns a const reference to the registry of hypernode arrays associated with this hypergraph. More... | |
const internal::GraphList< HypernodeElement > & | hypernodes () const |
Returns the list of all hypernodes. More... | |
hyperedge | lastHyperEdge () const |
Returns the last hyperedge in the list of all hyperedges. More... | |
hypernode | lastHypernode () const |
Returns the last hypernode in the list of all hypernodes. More... | |
void | loadPlaHypergraph (const char *fileName) |
Reads hypergraph in pla format from the file. More... | |
int | maxHyperedgeIndex () const |
Returns the largest used hyperedge index. More... | |
int | maxHypernodeIndex () const |
Returns the largest used hypernode index. More... | |
hyperedge | newHyperedge (int pIndex, List< hypernode > &hypernodes) |
Creates a new hyperedge between hypernodes and returns it. More... | |
hyperedge | newHyperedge (List< hypernode > &hypernodes) |
Creates a new hyperedge btween hypernodes and returns it. More... | |
hypernode | newHypernode () |
Creates a new hypernode and returns it. More... | |
hypernode | newHypernode (HypernodeElement::Type pType) |
Creates a new hypernode with given pType and returns it. More... | |
hypernode | newHypernode (int pIndex) |
Creates a new hypernode with given pIndex and returns it. More... | |
hypernode | newHypernode (int pIndex, HypernodeElement::Type pType) |
Creates a new hypernode with given pIndex and pType and returns it. More... | |
int | numberOfHyperedges () const |
Returns the number of hyperedges in the hypergraph. More... | |
int | numberOfHypernodes () const |
Returns the number of hypernodes in the hypergraph. More... | |
operator const HypergraphRegistry< HyperedgeElement > & () const | |
operator const HypergraphRegistry< HypernodeElement > & () const | |
Hypergraph & | operator= (const Hypergraph &H) |
hyperedge | randomHyperedge () const |
Returns a randomly chosen hyperedge. More... | |
hypernode | randomHypernode () const |
Returns a randomly chosen hypergraph. More... | |
void | readBenchHypergraph (const char *filename) |
Reads hypergraph in bench format from the file. More... | |
void | readBenchHypergraph (std::istream &is) |
Reads hypergraph in bench format from the input stream. More... | |
void | readPlaHypergraph (std::istream &is) |
Reads hypergraph in pla format from the input stream. More... | |
Public Member Functions inherited from ogdf::Observable< HypergraphObserver, Hypergraph > | |
Observable ()=default | |
Observable (const Observable ©)=delete | |
If you want to copy a subclass of Observable, call the default Observable() constructor. More... | |
Observable (Observable &&move)=delete | |
If you want to move a subclass of Observable, call the default Observable() constructor. More... | |
virtual | ~Observable () |
Observable & | operator= (const Observable ©)=delete |
Observable & | operator= (Observable &&move)=delete |
Public Attributes | |
OGDF_MALLOC_NEW_DELETE | |
Private Member Functions | |
HypernodeElement::Type | gateType (string gate) |
void | initArrays () |
int | nextEntry (char *buffer, int from, string stop) |
Private Attributes | |
int | m_hyperedgeIdCount |
The Index that will be assigned to the next created hyperedge. More... | |
internal::GraphList< HyperedgeElement > | m_hyperedges |
The list of all hyperedges. More... | |
int | m_hypernodeIdCount |
The Index that will be assigned to the next created hypernode. More... | |
internal::GraphList< HypernodeElement > | m_hypernodes |
The list of all hypernodes. More... | |
int | m_nHyperedges |
The number of hyperedges in the hypergraph. More... | |
int | m_nHypernodes |
The number of hypernodes in the hypergraph. More... | |
HypergraphRegistry< HyperedgeElement > | m_regHyperedgeArrays |
The registered hyperedge arrays. More... | |
HypergraphRegistry< HypernodeElement > | m_regHypernodeArrays |
The registered hypernode arrays. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &os, ogdf::Hypergraph &H) |
std::istream & | operator>> (std::istream &is, ogdf::Hypergraph &H) |
Additional Inherited Members | |
Protected Member Functions inherited from ogdf::Observable< HypergraphObserver, Hypergraph > | |
void | clearObservers () |
const ListPure< HypergraphObserver * > & | getObservers () const |
Definition at line 409 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.
|
inline |
Returns a list with all hyperedges of the hypergraph.
Definition at line 536 of file Hypergraph.h.
|
inline |
Returns a list with all hypernodes of the hypergraph.
Definition at line 527 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.
void ogdf::Hypergraph::delHyperedge | ( | hyperedge | e | ) |
Removes hyperedge e
from the hypergraph.
e | is the hyperegde that will be deleted. |
void ogdf::Hypergraph::delHypernode | ( | hypernode | v | ) |
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 445 of file Hypergraph.h.
|
inline |
Returns the first hyperedge in the list of all hyperedges.
Definition at line 472 of file Hypergraph.h.
|
inline |
Returns the first hypernode in the list of all hypernodes.
Definition at line 466 of file Hypergraph.h.
|
private |
|
inline |
Returns a reference to the registry of hyperedge arrays associated with this hypergraph.
Definition at line 569 of file Hypergraph.h.
|
inline |
Returns a const reference to the registry of hyperedge arrays associated with this hypergraph.
Definition at line 572 of file Hypergraph.h.
|
inline |
Returns the list of all hyperedges.
Definition at line 451 of file Hypergraph.h.
|
inline |
Returns a reference to the registry of hypernode arrays associated with this hypergraph.
Definition at line 559 of file Hypergraph.h.
|
inline |
Returns a const reference to the registry of hypernode arrays associated with this hypergraph.
Definition at line 562 of file Hypergraph.h.
|
inline |
Returns the list of all hypernodes.
Definition at line 448 of file Hypergraph.h.
|
private |
|
inline |
Returns the last hyperedge in the list of all hyperedges.
Definition at line 475 of file Hypergraph.h.
|
inline |
Returns the last hypernode in the list of all hypernodes.
Definition at line 469 of file Hypergraph.h.
void ogdf::Hypergraph::loadPlaHypergraph | ( | const char * | fileName | ) |
Reads hypergraph in pla format from the file.
|
inline |
Returns the largest used hyperedge index.
Definition at line 463 of file Hypergraph.h.
|
inline |
Returns the largest used hypernode index.
Definition at line 460 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.
hypernode ogdf::Hypergraph::newHypernode | ( | int | pIndex | ) |
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.
|
private |
|
inline |
Returns the number of hyperedges in the hypergraph.
Definition at line 457 of file Hypergraph.h.
|
inline |
Returns the number of hypernodes in the hypergraph.
Definition at line 454 of file Hypergraph.h.
|
inline |
Definition at line 576 of file Hypergraph.h.
|
inline |
Definition at line 566 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.
void ogdf::Hypergraph::readBenchHypergraph | ( | const char * | filename | ) |
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.
|
friend |
|
friend |
|
private |
The Index that will be assigned to the next created hyperedge.
Definition at line 432 of file Hypergraph.h.
|
private |
The list of all hyperedges.
Definition at line 420 of file Hypergraph.h.
|
private |
The Index that will be assigned to the next created hypernode.
Definition at line 429 of file Hypergraph.h.
|
private |
The list of all hypernodes.
Definition at line 417 of file Hypergraph.h.
|
private |
The number of hyperedges in the hypergraph.
Definition at line 426 of file Hypergraph.h.
|
private |
The number of hypernodes in the hypergraph.
Definition at line 423 of file Hypergraph.h.
|
private |
The registered hyperedge arrays.
Definition at line 414 of file Hypergraph.h.
|
private |
The registered hypernode arrays.
Definition at line 411 of file Hypergraph.h.
ogdf::Hypergraph::OGDF_MALLOC_NEW_DELETE |
Definition at line 584 of file Hypergraph.h.