Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

ogdf::AdjHypergraphElement Class Reference

Class for adjacency list elements. More...

#include <ogdf/hypergraph/Hypergraph.h>

+ Inheritance diagram for ogdf::AdjHypergraphElement:

Public Member Functions

adjHypergraphEntry cyclicPred () const
 Returns the cyclic predecessor in the adjacency list. More...
 
adjHypergraphEntry cyclicSucc () const
 Returns the cyclic successor in the adjacency list. More...
 
GraphElement * element () const
 Returns the element associated with this adjacency entry. More...
 
int index () const
 Returns the index of this adjacency element. More...
 
adjHypergraphEntry pred () const
 Returns the predecessor in the adjacency list. More...
 
adjHypergraphEntry succ () const
 Returns the successor in the adjacency list. More...
 
adjHypergraphEntry twin () const
 Returns the pointer to a twin adjacency list. More...
 

Public Attributes

 OGDF_NEW_DELETE
 

Private Member Functions

 AdjHypergraphElement (GraphElement *pElement)
 Constructs an adjacency element for a given hyper{node,edge}. More...
 
 AdjHypergraphElement (GraphElement *pElement, int pIndex)
 Constructs an adjacency entry for a given hyper{node,edge} and index. More...
 

Private Attributes

GraphElement * m_element
 The associated hyperedge or hypernode. More...
 
int m_index
 The (unique) index of the adjacency entry. More...
 
adjHypergraphEntry m_twin
 The corresponding adjacency entry. More...
 
- Private Attributes inherited from ogdf::internal::GraphElement
GraphElementm_next = nullptr
 The successor in the list. More...
 
GraphElementm_prev = nullptr
 The predecessor in the list. More...
 

Friends

class GraphListBase
 
class Hypergraph
 
class internal::GraphList< AdjHypergraphElement >
 

Detailed Description

Class for adjacency list elements.

Adjacency list elements represent the occurrence of hypernodes of a hyperedge or hyperedges of a hypernode adjacency lists.

Definition at line 77 of file Hypergraph.h.

Constructor & Destructor Documentation

◆ AdjHypergraphElement() [1/2]

ogdf::AdjHypergraphElement::AdjHypergraphElement ( GraphElement *  pElement)
inlineexplicitprivate

Constructs an adjacency element for a given hyper{node,edge}.

Definition at line 99 of file Hypergraph.h.

◆ AdjHypergraphElement() [2/2]

ogdf::AdjHypergraphElement::AdjHypergraphElement ( GraphElement *  pElement,
int  pIndex 
)
inlineprivate

Constructs an adjacency entry for a given hyper{node,edge} and index.

Definition at line 103 of file Hypergraph.h.

Member Function Documentation

◆ cyclicPred()

adjHypergraphEntry ogdf::AdjHypergraphElement::cyclicPred ( ) const

Returns the cyclic predecessor in the adjacency list.

◆ cyclicSucc()

adjHypergraphEntry ogdf::AdjHypergraphElement::cyclicSucc ( ) const

Returns the cyclic successor in the adjacency list.

◆ element()

GraphElement* ogdf::AdjHypergraphElement::element ( ) const
inline

Returns the element associated with this adjacency entry.

It is always a pointer to an instance of HypernodeElement or HyperedgeElement, you are expected to explicitly overtype it to the correct type.

Definition at line 116 of file Hypergraph.h.

◆ index()

int ogdf::AdjHypergraphElement::index ( ) const
inline

Returns the index of this adjacency element.

Definition at line 108 of file Hypergraph.h.

◆ pred()

adjHypergraphEntry ogdf::AdjHypergraphElement::pred ( ) const
inline

Returns the predecessor in the adjacency list.

Definition at line 125 of file Hypergraph.h.

◆ succ()

adjHypergraphEntry ogdf::AdjHypergraphElement::succ ( ) const
inline

Returns the successor in the adjacency list.

Definition at line 122 of file Hypergraph.h.

◆ twin()

adjHypergraphEntry ogdf::AdjHypergraphElement::twin ( ) const
inline

Returns the pointer to a twin adjacency list.

Definition at line 119 of file Hypergraph.h.

Friends And Related Function Documentation

◆ GraphListBase

friend class GraphListBase
friend

Definition at line 79 of file Hypergraph.h.

◆ Hypergraph

friend class Hypergraph
friend

Definition at line 78 of file Hypergraph.h.

◆ internal::GraphList< AdjHypergraphElement >

friend class internal::GraphList< AdjHypergraphElement >
friend

Definition at line 80 of file Hypergraph.h.

Member Data Documentation

◆ m_element

GraphElement* ogdf::AdjHypergraphElement::m_element
private

The associated hyperedge or hypernode.

Definition at line 84 of file Hypergraph.h.

◆ m_index

int ogdf::AdjHypergraphElement::m_index
private

The (unique) index of the adjacency entry.

Definition at line 96 of file Hypergraph.h.

◆ m_twin

adjHypergraphEntry ogdf::AdjHypergraphElement::m_twin
private

The corresponding adjacency entry.

Note: For instance, if this AdjHypergraphElement is associated with a hypernode v, its element is an hyperedge e (incident with v) then the twin AdjHypergraphElement is the one associated with e and containing element v. This is a different from m_twin in Graph_d.h!

Definition at line 93 of file Hypergraph.h.

◆ OGDF_NEW_DELETE

ogdf::AdjHypergraphElement::OGDF_NEW_DELETE

Definition at line 133 of file Hypergraph.h.


The documentation for this class was generated from the following file: