Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

ogdf::HypernodeElement Class Reference

Class for the representation of hypernodes. More...

#include <ogdf/hypergraph/Hypergraph.h>

+ Inheritance diagram for ogdf::HypernodeElement:

Public Types

enum  Type { Type::normal = 0x0000001, Type::dummy = 0x0000002, Type::OR = 0x0000003, Type::BUF = 0x0000004, Type::AND = 0x0000005, Type::NOR = 0x0000006, Type::NOT = 0x0000007, Type::XOR = 0x0000008, Type::DFF = 0x0000009, Type::NAND = 0x0000010, Type::INPUT = 0x0000011, Type::OUTPUT = 0x0000012 }
 The type of hypernodes. More...
 

Public Member Functions

bool adjacent (hypernode v) const
 Returns true iff v is adjacent to the hypernode. More...
 
template<class NODELIST >
void allHyperedges (NODELIST &hyperedges) const
 Returns a list with all incident hyperedges of the hypernode. More...
 
int degree () const
 Returns the hypernode degree. More...
 
adjHypergraphEntry firstAdj () const
 Returns the first entry in the adjaceny list. More...
 
Hypergraphhypergraph () const
 Returns the hypergraph containing the hypernode. More...
 
int index () const
 Returns the (unique) hypernode index. More...
 
adjHypergraphEntry lastAdj () const
 Returns the last entry in the adjacency list. More...
 
bool operator== (const hypernode v) const
 Equality operator. More...
 
hypernode pred () const
 Returns the predecessor in the list of all hypernodes. More...
 
hypernode succ () const
 Returns the successor in the list of all hypernodes. More...
 
Type type () const
 Returns the type of hypernode. More...
 
void type (Type pType)
 Sets the type of hypernode. More...
 

Public Attributes

 OGDF_NEW_DELETE
 

Private Member Functions

 HypernodeElement (int pIndex)
 Constructor. More...
 
 HypernodeElement (int pIndex, Type pType)
 Constructor. More...
 

Private Attributes

internal::GraphList< AdjHypergraphElementm_adjHyperedges
 The adjacency list of the hypernode. More...
 
int m_degree
 The number of incident hyperedges. More...
 
Hypergraphm_hypergraph
 The hypergraph containing the hypernode (if any). More...
 
int m_index
 The (unique) index of the hypernode. More...
 
Type m_type
 The type of the hypernode. 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< HypernodeElement >
 

Detailed Description

Class for the representation of hypernodes.

Definition at line 217 of file Hypergraph.h.

Member Enumeration Documentation

◆ Type

The type of hypernodes.

Enumerator
normal 
dummy 

Default type.

OR 

Temporary hypernode.

BUF 

Electric circuit: OR gate.

AND 

Electric circuit: Buffer gate (iscas85).

NOR 

Electric circuit: AND gate.

NOT 

Electric circuit: NOR gate.

XOR 

Electric circuit: NOT gate.

DFF 

Electric circuit: XOR gate.

NAND 

Electric circuit: D-Flip-Flop gate (max500nodes).

INPUT 

Electric circuit: NAND gate.

OUTPUT 

Electric circuit: Input.

Definition at line 224 of file Hypergraph.h.

Constructor & Destructor Documentation

◆ HypernodeElement() [1/2]

ogdf::HypernodeElement::HypernodeElement ( int  pIndex)
inlineexplicitprivate

Constructor.

Definition at line 256 of file Hypergraph.h.

◆ HypernodeElement() [2/2]

ogdf::HypernodeElement::HypernodeElement ( int  pIndex,
Type  pType 
)
inlineprivate

Constructor.

Definition at line 260 of file Hypergraph.h.

Member Function Documentation

◆ adjacent()

bool ogdf::HypernodeElement::adjacent ( hypernode  v) const
inline

Returns true iff v is adjacent to the hypernode.

Definition at line 295 of file Hypergraph.h.

◆ allHyperedges()

template<class NODELIST >
void ogdf::HypernodeElement::allHyperedges ( NODELIST &  hyperedges) const
inline

Returns a list with all incident hyperedges of the hypernode.

Definition at line 287 of file Hypergraph.h.

◆ degree()

int ogdf::HypernodeElement::degree ( ) const
inline

Returns the hypernode degree.

Definition at line 268 of file Hypergraph.h.

◆ firstAdj()

adjHypergraphEntry ogdf::HypernodeElement::firstAdj ( ) const
inline

Returns the first entry in the adjaceny list.

Definition at line 280 of file Hypergraph.h.

◆ hypergraph()

Hypergraph* ogdf::HypernodeElement::hypergraph ( ) const
inline

Returns the hypergraph containing the hypernode.

Definition at line 271 of file Hypergraph.h.

◆ index()

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

Returns the (unique) hypernode index.

Definition at line 265 of file Hypergraph.h.

◆ lastAdj()

adjHypergraphEntry ogdf::HypernodeElement::lastAdj ( ) const
inline

Returns the last entry in the adjacency list.

Definition at line 283 of file Hypergraph.h.

◆ operator==()

bool ogdf::HypernodeElement::operator== ( const hypernode  v) const
inline

Equality operator.

Definition at line 311 of file Hypergraph.h.

◆ pred()

hypernode ogdf::HypernodeElement::pred ( ) const
inline

Returns the predecessor in the list of all hypernodes.

Definition at line 308 of file Hypergraph.h.

◆ succ()

hypernode ogdf::HypernodeElement::succ ( ) const
inline

Returns the successor in the list of all hypernodes.

Definition at line 305 of file Hypergraph.h.

◆ type() [1/2]

Type ogdf::HypernodeElement::type ( ) const
inline

Returns the type of hypernode.

Definition at line 274 of file Hypergraph.h.

◆ type() [2/2]

void ogdf::HypernodeElement::type ( Type  pType)
inline

Sets the type of hypernode.

Definition at line 277 of file Hypergraph.h.

Friends And Related Function Documentation

◆ GraphListBase

friend class GraphListBase
friend

Definition at line 219 of file Hypergraph.h.

◆ Hypergraph

friend class Hypergraph
friend

Definition at line 218 of file Hypergraph.h.

◆ internal::GraphList< HypernodeElement >

friend class internal::GraphList< HypernodeElement >
friend

Definition at line 220 of file Hypergraph.h.

Member Data Documentation

◆ m_adjHyperedges

internal::GraphList<AdjHypergraphElement> ogdf::HypernodeElement::m_adjHyperedges
private

The adjacency list of the hypernode.

Definition at line 241 of file Hypergraph.h.

◆ m_degree

int ogdf::HypernodeElement::m_degree
private

The number of incident hyperedges.

Definition at line 247 of file Hypergraph.h.

◆ m_hypergraph

Hypergraph* ogdf::HypernodeElement::m_hypergraph
private

The hypergraph containing the hypernode (if any).

Definition at line 253 of file Hypergraph.h.

◆ m_index

int ogdf::HypernodeElement::m_index
private

The (unique) index of the hypernode.

Definition at line 244 of file Hypergraph.h.

◆ m_type

Type ogdf::HypernodeElement::m_type
private

The type of the hypernode.

Definition at line 250 of file Hypergraph.h.

◆ OGDF_NEW_DELETE

ogdf::HypernodeElement::OGDF_NEW_DELETE

Definition at line 315 of file Hypergraph.h.


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