Open
Graph Drawing
Framework

 v. 2022.02 (Dogwood)
 

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 263 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 272 of file Hypergraph.h.

Constructor & Destructor Documentation

◆ HypernodeElement() [1/2]

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

Constructor.

Definition at line 305 of file Hypergraph.h.

◆ HypernodeElement() [2/2]

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

Constructor.

Definition at line 311 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 369 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 361 of file Hypergraph.h.

◆ degree()

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

Returns the hypernode degree.

Definition at line 325 of file Hypergraph.h.

◆ firstAdj()

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

Returns the first entry in the adjaceny list.

Definition at line 349 of file Hypergraph.h.

◆ hypergraph()

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

Returns the hypergraph containing the hypernode.

Definition at line 331 of file Hypergraph.h.

◆ index()

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

Returns the (unique) hypernode index.

Definition at line 319 of file Hypergraph.h.

◆ lastAdj()

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

Returns the last entry in the adjacency list.

Definition at line 355 of file Hypergraph.h.

◆ operator==()

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

Equality operator.

Definition at line 392 of file Hypergraph.h.

◆ pred()

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

Returns the predecessor in the list of all hypernodes.

Definition at line 386 of file Hypergraph.h.

◆ succ()

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

Returns the successor in the list of all hypernodes.

Definition at line 380 of file Hypergraph.h.

◆ type() [1/2]

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

Returns the type of hypernode.

Definition at line 337 of file Hypergraph.h.

◆ type() [2/2]

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

Sets the type of hypernode.

Definition at line 343 of file Hypergraph.h.

Friends And Related Function Documentation

◆ GraphListBase

friend class GraphListBase
friend

Definition at line 266 of file Hypergraph.h.

◆ Hypergraph

friend class Hypergraph
friend

Definition at line 265 of file Hypergraph.h.

◆ internal::GraphList< HypernodeElement >

friend class internal::GraphList< HypernodeElement >
friend

Definition at line 267 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 290 of file Hypergraph.h.

◆ m_degree

int ogdf::HypernodeElement::m_degree
private

The number of incident hyperedges.

Definition at line 296 of file Hypergraph.h.

◆ m_hypergraph

Hypergraph* ogdf::HypernodeElement::m_hypergraph
private

The hypergraph containing the hypernode (if any).

Definition at line 302 of file Hypergraph.h.

◆ m_index

int ogdf::HypernodeElement::m_index
private

The (unique) index of the hypernode.

Definition at line 293 of file Hypergraph.h.

◆ m_type

Type ogdf::HypernodeElement::m_type
private

The type of the hypernode.

Definition at line 299 of file Hypergraph.h.

◆ OGDF_NEW_DELETE

ogdf::HypernodeElement::OGDF_NEW_DELETE

Definition at line 397 of file Hypergraph.h.


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