Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
Hypergraph.h File Reference

Declaration and a partial implementation of a Hypergraph class partly based on the original classes for handling hypergraphs written by Martin Gronemann. More...

Go to the source code of this file.

Classes

class  ogdf::AdjHypergraphElement
 Class for adjacency list elements. More...
 
class  ogdf::HyperedgeElement
 Class for the representation of hyperedges. More...
 
class  ogdf::Hypergraph
 
class  ogdf::HypernodeElement
 Class for the representation of hypernodes. More...
 

Namespaces

namespace  ogdf
 The namespace for all OGDF objects.
 

Macros

#define forall_adj_elements(adj, ge)   for ((adj) = (v)->firstAdj(); (adj); (adj) = (adj)->succ())
 Iteration over all adjacency list entries adj of a graph element ge.
 
#define forall_hyperedges(e, H)   for ((e) = (H).firstHyperedge(); (e); (e) = (e)->succ())
 Iteration over all hyperedges e of hypergraph H.
 
#define forall_hypernodes(v, H)   for ((v) = (H).firstHypernode(); (v); (v) = (v)->succ())
 Iteration over all hypernodes v of hypergraph H.
 
#define forall_rev_hyperedges(e, H)   for ((e) = (H).lastHyperedge(); (e); (e) = (e)->pred())
 Iteration over all hyperedges e of hypergraph H in reverse order.
 
#define forall_rev_hypernodes(v, H)   for ((v) = (H).lastHypernode(); (v); (v) = (v)->pred())
 Iteration over all hypernodes v of hypergraph H in reverse order.
 

Typedefs

using ogdf::adjHypergraphEntry = AdjHypergraphElement *
 The type of adjacency entries.
 
using ogdf::hyperedge = HyperedgeElement *
 The type of hyperedges.
 
using ogdf::hypernode = HypernodeElement *
 The type of hypernodes.
 

Detailed Description

Declaration and a partial implementation of a Hypergraph class partly based on the original classes for handling hypergraphs written by Martin Gronemann.

Author
Ondrej Moris
License:
This file is part of the Open Graph Drawing Framework (OGDF).
Copyright (C)
See README.md in the OGDF root directory for details.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License Version 2 or 3 as published by the Free Software Foundation; see the file LICENSE.txt included in the packaging of this file for details.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, see http://www.gnu.org/copyleft/gpl.html

Definition in file Hypergraph.h.

Macro Definition Documentation

◆ forall_adj_elements

#define forall_adj_elements (   adj,
  ge 
)    for ((adj) = (v)->firstAdj(); (adj); (adj) = (adj)->succ())

Iteration over all adjacency list entries adj of a graph element ge.

Definition at line 40 of file Hypergraph.h.

◆ forall_hyperedges

#define forall_hyperedges (   e,
 
)    for ((e) = (H).firstHyperedge(); (e); (e) = (e)->succ())

Iteration over all hyperedges e of hypergraph H.

Definition at line 49 of file Hypergraph.h.

◆ forall_hypernodes

#define forall_hypernodes (   v,
 
)    for ((v) = (H).firstHypernode(); (v); (v) = (v)->succ())

Iteration over all hypernodes v of hypergraph H.

Definition at line 43 of file Hypergraph.h.

◆ forall_rev_hyperedges

#define forall_rev_hyperedges (   e,
 
)    for ((e) = (H).lastHyperedge(); (e); (e) = (e)->pred())

Iteration over all hyperedges e of hypergraph H in reverse order.

Definition at line 52 of file Hypergraph.h.

◆ forall_rev_hypernodes

#define forall_rev_hypernodes (   v,
 
)    for ((v) = (H).lastHypernode(); (v); (v) = (v)->pred())

Iteration over all hypernodes v of hypergraph H in reverse order.

Definition at line 46 of file Hypergraph.h.