Open
Graph Drawing
Framework

 v.2010.10
 

Classes | Namespaces | Defines | Typedefs | Functions

Graph_d.h File Reference

Pure declaration header, find template implementation in Graph.h. More...

#include <ogdf/basic/List.h>

Go to the source code of this file.

Classes

class  ogdf::GraphElement
 The base class for objects used by graphs like nodes, edges, etc. More...
class  ogdf::GraphListBase
 Base class for GraphElement lists. More...
class  ogdf::GraphList< T >
 Lists of graph objects (like nodes, edges, etc.). More...
class  ogdf::AdjElement
 Class for adjacency list elements. More...
class  ogdf::NodeElement
 Class for the representation of nodes. More...
class  ogdf::EdgeElement
 Class for the representation of edges. More...
class  ogdf::Graph
 Data type for general directed graphs (adjacency list representation). More...
class  ogdf::BucketSourceIndex
 Bucket function using the index of an edge's source node as bucket. More...
class  ogdf::BucketTargetIndex
 Bucket function using the index of an edge's target node as bucket. More...

Namespaces

namespace  ogdf
 

The namespace for all OGDF objects.


Defines

#define forall_nodes(v, G)   for((v)=(G).firstNode(); (v); (v)=(v)->succ())
 Iteration over all nodes v of graph G.
#define forall_rev_nodes(v, G)   for((v)=(G).lastNode(); (v); (v)=(v)->pred())
 Iteration over all nodes v of graph G in reverse order.
#define forall_edges(e, G)   for((e)=(G).firstEdge(); (e); (e)=(e)->succ())
 Iteration over all edges e of graph G.
#define forall_rev_edges(e, G)   for((e)=(G).lastEdge(); (e); (e)=(e)->pred())
 Iteration over all edges e of graph G in reverse order.
#define forall_adj(adj, v)   for((adj)=(v)->firstAdj(); (adj); (adj)=(adj)->succ())
 Iteration over all adjacency list entries adj of node v.
#define forall_rev_adj(adj, v)   for((adj)=(v)->lastAdj(); (adj); (adj)=(adj)->pred())
 Iteration over all adjacency list entries adj of node v in reverse order.
#define forall_adj_edges(e, v)
 Iteration over all adjacent edges e of node v.

Typedefs

typedef NodeElement * ogdf::node
 The type of nodes.
typedef EdgeElement * ogdf::edge
 The type of edges.
typedef AdjElement * ogdf::adjEntry
 The type of adjacency entries.

Functions

bool ogdf::test_forall_adj_edges (adjEntry &adj, edge &e)
template<>
bool ogdf::doDestruction< node > (const node *)
template<>
bool ogdf::doDestruction< edge > (const edge *)
template<>
bool ogdf::doDestruction< adjEntry > (const adjEntry *)

Detailed Description

Pure declaration header, find template implementation in Graph.h.

Declaration of NodeElement, EdgeElement, and Graph classes.

Author:
Carsten Gutwenger
License:
This file is part of the Open Graph Drawing Framework (OGDF).

Copyright (C). All rights reserved. See README.txt in the root directory of the OGDF installation 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 and appearing in the files LICENSE_GPL_v2.txt and LICENSE_GPL_v3.txt included in the packaging of this file.
In addition, as a special exception, you have permission to link this software with the libraries of the COIN-OR Osi project (http://www.coin-or.org/projects/Osi.xml), all libraries required by Osi, and all LP-solver libraries directly supported by the COIN-OR Osi project, and distribute executables, as long as you follow the requirements of the GNU General Public License in regard to all of the software in the executable aside from these third-party libraries.
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, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
See also:
http://www.gnu.org/copyleft/gpl.html

Definition in file Graph_d.h.


Define Documentation

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

Iteration over all adjacency list entries adj of node v.

Definition at line 636 of file Graph_d.h.

#define forall_adj_edges (   e,
  v 
)
Value:
for(ogdf::adjEntry ogdf_loop_var=(v)->firstAdj();\
    ogdf::test_forall_adj_edges(ogdf_loop_var,(e));\
    ogdf_loop_var=ogdf_loop_var->succ())

Iteration over all adjacent edges e of node v.

Definition at line 641 of file Graph_d.h.

#define forall_edges (   e,
  G 
)    for((e)=(G).firstEdge(); (e); (e)=(e)->succ())

Iteration over all edges e of graph G.

Definition at line 631 of file Graph_d.h.

#define forall_nodes (   v,
  G 
)    for((v)=(G).firstNode(); (v); (v)=(v)->succ())

Iteration over all nodes v of graph G.

Definition at line 626 of file Graph_d.h.

#define forall_rev_adj (   adj,
  v 
)    for((adj)=(v)->lastAdj(); (adj); (adj)=(adj)->pred())

Iteration over all adjacency list entries adj of node v in reverse order.

Definition at line 638 of file Graph_d.h.

#define forall_rev_edges (   e,
  G 
)    for((e)=(G).lastEdge(); (e); (e)=(e)->pred())

Iteration over all edges e of graph G in reverse order.

Definition at line 633 of file Graph_d.h.

#define forall_rev_nodes (   v,
  G 
)    for((v)=(G).lastNode(); (v); (v)=(v)->pred())

Iteration over all nodes v of graph G in reverse order.

Definition at line 628 of file Graph_d.h.