DeSiGNAR  0.5a
Data Structures General Library
Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
Designar::Graph< NodeInfo, ArcInfo, GraphInfo > Class Template Reference

#include <graph.H>

Inheritance diagram for Designar::Graph< NodeInfo, ArcInfo, GraphInfo >:
Inheritance graph
[legend]
Collaboration diagram for Designar::Graph< NodeInfo, ArcInfo, GraphInfo >:
Collaboration graph
[legend]

Classes

class  AdjacentArcIterator
 
class  ArcIterator
 
class  NodeIterator
 

Public Types

using NodeInfoType = NodeInfo
 
using ArcInfoType = ArcInfo
 
using GraphInfoType = GraphInfo
 
using SetSizeType = nat_t
 
using Node = GraphNode< NodeInfo, ArcInfo, GraphInfo >
 
using Arc = GraphArc< Node, NodeInfo, ArcInfo, GraphInfo >
 

Public Member Functions

 Graph ()
 
 Graph (const GraphInfo &_info)
 
 Graph (GraphInfo &&_info)
 
 Graph (const Graph &g)
 
 Graph (Graph &&g)
 
 ~Graph ()
 
Graphoperator= (const Graph &g)
 
Graphoperator= (Graph &&g)
 
void swap (Graph &g)
 
void clear ()
 
GraphInfo & get_info ()
 
const GraphInfo & get_info () const
 
Nodeget_first_node ()
 
Nodeget_first_node () const
 
Arcget_first_arc ()
 
Arcget_first_arc () const
 
nat_t get_num_nodes () const
 
nat_t get_num_arcs () const
 
Nodeinsert_node ()
 
Nodeinsert_node (const NodeInfo &info)
 
Nodeinsert_node (NodeInfo &&info)
 
Arcinsert_arc (Node *s, Node *t)
 
Arcinsert_arc (Node *src, Node *tgt, const ArcInfo &info)
 
Arcinsert_arc (Node *src, Node *tgt, ArcInfo &&info)
 
void remove_arc (Arc *a)
 
void remove_node (Node *n)
 
NodeIterator nodes_begin ()
 
const NodeIterator nodes_begin () const
 
NodeIterator nodes_end ()
 
const NodeIterator nodes_end () const
 
ArcIterator arcs_begin ()
 
const ArcIterator arcs_begin () const
 
ArcIterator arcs_end ()
 
const ArcIterator arcs_end () const
 
AdjacentArcIterator arcs_begin (Node *p)
 
const AdjacentArcIterator arcs_begin (Node *p) const
 
AdjacentArcIterator arcs_end (Node *p)
 
const AdjacentArcIterator arcs_end (Node *p) const
 
Arcsearch_arc (Node *, Node *)
 
template<class Cmp >
void sort_nodes (Cmp &cmp)
 
template<class Cmp >
void sort_nodes (Cmp &&cmp=Cmp())
 
template<class Cmp >
void sort_arcs (Cmp &cmp)
 
template<class Cmp >
void sort_arcs (Cmp &&cmp=Cmp())
 
bool is_digraph () const
 
- Public Member Functions inherited from Designar::BaseGraph< Graph< NodeInfo, ArcInfo, GraphInfo >, GraphNode< NodeInfo, ArcInfo, GraphInfo >, GraphArc< GraphNode< NodeInfo, ArcInfo, GraphInfo >, NodeInfo, ArcInfo, GraphInfo >, NodeInfo, ArcInfo >
GraphNode< NodeInfo, ArcInfo, GraphInfo > * nth_node (nat_t i)
 
GraphNode< NodeInfo, ArcInfo, GraphInfo > * nth_node (nat_t i) const
 
void for_each_node (Op &op) const
 
void for_each_node (Op &&op=Op()) const
 
ContainerRet filter_nodes (Pred &pred) const
 
ContainerRet filter_nodes (Pred &&pred=Pred()) const
 
ContainerRet map_nodes (Op &op) const
 
ContainerRet map_nodes (Op &&op=Op()) const
 
ContainerRet map_nodes_if (Op &op, Pred &pred) const
 
ContainerRet map_nodes_if (Op &op, Pred &&pred=Pred()) const
 
ContainerRet map_nodes_if (Op &&op, Pred &pred) const
 
ContainerRet map_nodes_if (Op &&op=Op(), Pred &&pred=Pred()) const
 
RetT fold_nodes (const RetT &init_val, Op &op) const
 
RetT fold_nodes (const RetT &init_val, Op &&op=Op()) const
 
RetT fold_nodes (RetT &&init_val, Op &op) const
 
RetT fold_nodes (RetT &&init_val, Op &&op=Op()) const
 
bool all_nodes (Pred &pred) const
 
bool all_nodes (Pred &&pred=Pred()) const
 
bool exists_node (Pred &pred) const
 
bool exists_node (Pred &&pred=Pred()) const
 
bool none_node (Pred &pred) const
 
bool none_node (Pred &&pred=Pred()) const
 
GraphNode< NodeInfo, ArcInfo, GraphInfo > * search_node (Pred &pred) const
 
GraphNode< NodeInfo, ArcInfo, GraphInfo > * search_node (Pred &&pred=Pred()) const
 
bool remove_first_node_if (Pred &pred)
 
bool remove_first_node_if (Pred &&pred=Pred())
 
void remove_node_if (Pred &pred)
 
void remove_node_if (Pred &&pred=Pred())
 
SLList< GraphNode< NodeInfo, ArcInfo, GraphInfo > * > nodes () const
 
GraphArc< GraphNode< NodeInfo, ArcInfo, GraphInfo >, NodeInfo, ArcInfo, GraphInfo > * nth_arc (nat_t i)
 
GraphArc< GraphNode< NodeInfo, ArcInfo, GraphInfo >, NodeInfo, ArcInfo, GraphInfo > * nth_arc (nat_t i) const
 
void for_each_arc (Op &op) const
 
void for_each_arc (Op &&op) const
 
ContainerRet filter_arcs (Pred &pred) const
 
ContainerRet filter_arcs (Pred &&pred=Pred()) const
 
ContainerRet map_arcs (Op &op) const
 
ContainerRet map_arcs (Op &&op=Op()) const
 
ContainerRet map_arcs_if (Op &op, Pred &pred) const
 
ContainerRet map_arcs_if (Op &op, Pred &&pred=Pred()) const
 
ContainerRet map_arcs_if (Op &&op, Pred &pred) const
 
ContainerRet map_arcs_if (Op &&op=Op(), Pred &&pred=Pred()) const
 
RetT fold_arcs (const RetT &init_val, Op &op) const
 
RetT fold_arcs (const RetT &init_val, Op &&op=Op()) const
 
RetT fold_arcs (RetT &&init_val, Op &op) const
 
RetT fold_arcs (RetT &&init_val, Op &&op=Op()) const
 
bool all_arcs (Pred &pred) const
 
bool all_arcs (Pred &&pred) const
 
bool exists_arc (Pred &pred) const
 
bool exists_arc (Pred &&pred) const
 
bool none_arc (Pred &pred) const
 
bool none_arc (Pred &&pred) const
 
GraphArc< GraphNode< NodeInfo, ArcInfo, GraphInfo >, NodeInfo, ArcInfo, GraphInfo > * search_arc (Pred &pred) const
 
GraphArc< GraphNode< NodeInfo, ArcInfo, GraphInfo >, NodeInfo, ArcInfo, GraphInfo > * search_arc (Pred &&pred) const
 
bool remove_first_arc_if (Pred &pred)
 
bool remove_first_arc_if (Pred &&pred)
 
void remove_arc_if (Pred &pred)
 
void remove_arc_if (Pred &&pred)
 
SLList< GraphArc< GraphNode< NodeInfo, ArcInfo, GraphInfo >, NodeInfo, ArcInfo, GraphInfo > * > arcs () const
 
GraphArc< GraphNode< NodeInfo, ArcInfo, GraphInfo >, NodeInfo, ArcInfo, GraphInfo > * nth_adjacent_arc (GraphNode< NodeInfo, ArcInfo, GraphInfo > *p, nat_t i)
 
GraphArc< GraphNode< NodeInfo, ArcInfo, GraphInfo >, NodeInfo, ArcInfo, GraphInfo > * nth_adjacent_arc (GraphNode< NodeInfo, ArcInfo, GraphInfo > *p, nat_t i) const
 
void for_each_adjacent_arc (GraphNode< NodeInfo, ArcInfo, GraphInfo > *p, Op &op) const
 
void for_each_adjacent_arc (GraphNode< NodeInfo, ArcInfo, GraphInfo > *p, Op &&op) const
 
ContainerRet filter_adjacent_arcs (GraphNode< NodeInfo, ArcInfo, GraphInfo > *p, Pred &pred) const
 
ContainerRet filter_adjacent_arcs (GraphNode< NodeInfo, ArcInfo, GraphInfo > *p, Pred &&pred=Pred()) const
 
ContainerRet map_adjacent_arcs (GraphNode< NodeInfo, ArcInfo, GraphInfo > *p, Op &op) const
 
ContainerRet map_adjacent_arcs (GraphNode< NodeInfo, ArcInfo, GraphInfo > *p, Op &&op=Op()) const
 
ContainerRet map_adjacent_arcs_if (GraphNode< NodeInfo, ArcInfo, GraphInfo > *p, Op &op, Pred &pred) const
 
ContainerRet map_adjacent_arcs_if (GraphNode< NodeInfo, ArcInfo, GraphInfo > *p, Op &op, Pred &&pred=Pred()) const
 
ContainerRet map_adjacent_arcs_if (GraphNode< NodeInfo, ArcInfo, GraphInfo > *p, Op &&op, Pred &pred) const
 
ContainerRet map_adjacent_arcs_if (GraphNode< NodeInfo, ArcInfo, GraphInfo > *p, Op &&op=Op(), Pred &&pred=Pred()) const
 
RetT fold_adjacent_arcs (GraphNode< NodeInfo, ArcInfo, GraphInfo > *p, const RetT &init_val, Op &op) const
 
RetT fold_adjacent_arcs (GraphNode< NodeInfo, ArcInfo, GraphInfo > *p, const RetT &init_val, Op &&op=Op()) const
 
RetT fold_adjacent_arcs (GraphNode< NodeInfo, ArcInfo, GraphInfo > *p, RetT &&init_val, Op &op) const
 
RetT fold_adjacent_arcs (GraphNode< NodeInfo, ArcInfo, GraphInfo > *p, RetT &&init_val, Op &&op=Op()) const
 
bool all_adjacent_arcs (GraphNode< NodeInfo, ArcInfo, GraphInfo > *p, Pred &pred) const
 
bool all_adjacent_arcs (GraphNode< NodeInfo, ArcInfo, GraphInfo > *p, Pred &&pred) const
 
bool exists_adjacent_arc (GraphNode< NodeInfo, ArcInfo, GraphInfo > *p, Pred &pred) const
 
bool exists_adjacent_arc (GraphNode< NodeInfo, ArcInfo, GraphInfo > *p, Pred &&pred) const
 
bool none_adjacent_arc (GraphNode< NodeInfo, ArcInfo, GraphInfo > *p, Pred &pred) const
 
bool none_adjacent_arc (GraphNode< NodeInfo, ArcInfo, GraphInfo > *p, Pred &&pred) const
 
GraphArc< GraphNode< NodeInfo, ArcInfo, GraphInfo >, NodeInfo, ArcInfo, GraphInfo > * search_adjacent_arc (GraphNode< NodeInfo, ArcInfo, GraphInfo > *p, Pred &pred) const
 
GraphArc< GraphNode< NodeInfo, ArcInfo, GraphInfo >, NodeInfo, ArcInfo, GraphInfo > * search_adjacent_arc (GraphNode< NodeInfo, ArcInfo, GraphInfo > *p, Pred &&pred) const
 
bool remove_first_adjacent_arc_if (GraphNode< NodeInfo, ArcInfo, GraphInfo > *p, Pred &pred)
 
bool remove_first_adjacent_arc_if (GraphNode< NodeInfo, ArcInfo, GraphInfo > *p, Pred &&pred)
 
void remove_adjacent_arc_if (GraphNode< NodeInfo, ArcInfo, GraphInfo > *p, Pred &pred)
 
void remove_adjacent_arc_if (GraphNode< NodeInfo, ArcInfo, GraphInfo > *p, Pred &&pred)
 
SLList< GraphArc< GraphNode< NodeInfo, ArcInfo, GraphInfo >, NodeInfo, ArcInfo, GraphInfo > * > adjacent_arcs (GraphNode< NodeInfo, ArcInfo, GraphInfo > *p) const
 
void reset_all_node_tag (GraphTag tag) const
 
void reset_all_node_tag () const
 
void reset_all_arc_tag (GraphTag tag) const
 
void reset_all_arc_tag () const
 
void reset_tag (GraphTag tag) const
 
void reset_all_tags () const
 
void reset_node_cookies () const
 
void reset_arc_cookies () const
 
void reset_node_counter () const
 
void reset_arc_counter () const
 
void reset_counters () const
 
void reset_cookies () const
 
void reset_nodes () const
 
void reset_arcs () const
 

Protected Types

using GNode = DLNode< Node >
 
using GArc = DLNode< Arc >
 
using GAdArc = DLNode< GArc * >
 

Protected Member Functions

GNodeinsert_gnode (GNode *p)
 
GArcinsert_garc (Node *src, Node *tgt)
 
void remove_arc (GArc *arc)
 
void remove_node (GNode *)
 

Static Protected Member Functions

static GNodedl_to_node (DL *ptr)
 
static GArcdl_to_arc (DL *ptr)
 
static GAdArcdl_to_adjacent_arc (DL *ptr)
 
static GNodeto_gnode (Node *node)
 
static GArcto_garc (Arc *arc)
 

Protected Attributes

GraphInfo info
 
nat_t num_nodes
 
DL node_list
 
nat_t num_arcs
 
DL arc_list
 

Additional Inherited Members

- Static Public Member Functions inherited from Designar::BaseGraph< Graph< NodeInfo, ArcInfo, GraphInfo >, GraphNode< NodeInfo, ArcInfo, GraphInfo >, GraphArc< GraphNode< NodeInfo, ArcInfo, GraphInfo >, NodeInfo, ArcInfo, GraphInfo >, NodeInfo, ArcInfo >
static void copy_graph (const Graph< NodeInfo, ArcInfo, GraphInfo > &, Graph< NodeInfo, ArcInfo, GraphInfo > &)
 

Member Typedef Documentation

template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
using Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::Arc = GraphArc<Node, NodeInfo, ArcInfo, GraphInfo>
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
using Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::ArcInfoType = ArcInfo
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
using Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::GAdArc = DLNode<GArc *>
protected
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
using Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::GArc = DLNode<Arc>
protected
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
using Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::GNode = DLNode<Node>
protected
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
using Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::GraphInfoType = GraphInfo
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
using Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::Node = GraphNode<NodeInfo, ArcInfo, GraphInfo>
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
using Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::NodeInfoType = NodeInfo
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
using Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::SetSizeType = nat_t

Constructor & Destructor Documentation

template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::Graph ( )
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::Graph ( const GraphInfo &  _info)
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::Graph ( GraphInfo &&  _info)
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::Graph ( const Graph< NodeInfo, ArcInfo, GraphInfo > &  g)
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::Graph ( Graph< NodeInfo, ArcInfo, GraphInfo > &&  g)
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::~Graph ( )
inline

Member Function Documentation

template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
ArcIterator Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::arcs_begin ( )
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
const ArcIterator Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::arcs_begin ( ) const
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
AdjacentArcIterator Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::arcs_begin ( Node p)
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
const AdjacentArcIterator Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::arcs_begin ( Node p) const
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
ArcIterator Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::arcs_end ( )
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
const ArcIterator Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::arcs_end ( ) const
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
AdjacentArcIterator Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::arcs_end ( Node p)
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
const AdjacentArcIterator Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::arcs_end ( Node p) const
inline
template<typename NodeInfo , typename ArcInfo , typename GraphInfo >
void Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::clear ( )
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
static GAdArc* Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::dl_to_adjacent_arc ( DL ptr)
inlinestaticprotected
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
static GArc* Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::dl_to_arc ( DL ptr)
inlinestaticprotected
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
static GNode* Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::dl_to_node ( DL ptr)
inlinestaticprotected
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
Arc* Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::get_first_arc ( )
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
Arc* Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::get_first_arc ( ) const
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
Node* Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::get_first_node ( )
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
Node* Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::get_first_node ( ) const
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
GraphInfo& Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::get_info ( )
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
const GraphInfo& Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::get_info ( ) const
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
nat_t Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::get_num_arcs ( ) const
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
nat_t Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::get_num_nodes ( ) const
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
Arc* Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::insert_arc ( Node s,
Node t 
)
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
Arc* Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::insert_arc ( Node src,
Node tgt,
const ArcInfo &  info 
)
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
Arc* Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::insert_arc ( Node src,
Node tgt,
ArcInfo &&  info 
)
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
GArc* Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::insert_garc ( Node src,
Node tgt 
)
inlineprotected
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
GNode* Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::insert_gnode ( GNode p)
inlineprotected
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
Node* Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::insert_node ( )
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
Node* Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::insert_node ( const NodeInfo &  info)
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
Node* Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::insert_node ( NodeInfo &&  info)
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
bool Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::is_digraph ( ) const
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
NodeIterator Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::nodes_begin ( )
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
const NodeIterator Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::nodes_begin ( ) const
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
NodeIterator Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::nodes_end ( )
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
const NodeIterator Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::nodes_end ( ) const
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
Graph& Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::operator= ( const Graph< NodeInfo, ArcInfo, GraphInfo > &  g)
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
Graph& Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::operator= ( Graph< NodeInfo, ArcInfo, GraphInfo > &&  g)
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
void Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::remove_arc ( GArc arc)
inlineprotected
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
void Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::remove_arc ( Arc a)
inline
template<typename NodeInfo , typename ArcInfo , typename GraphInfo >
void Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::remove_node ( GNode node)
protected
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
void Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::remove_node ( Node n)
inline
template<typename NodeInfo , typename ArcInfo , typename GraphInfo >
Graph< NodeInfo, ArcInfo, GraphInfo >::Arc * Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::search_arc ( Node s,
Node t 
)
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
template<class Cmp >
void Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::sort_arcs ( Cmp &  cmp)
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
template<class Cmp >
void Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::sort_arcs ( Cmp &&  cmp = Cmp())
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
template<class Cmp >
void Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::sort_nodes ( Cmp &  cmp)
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
template<class Cmp >
void Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::sort_nodes ( Cmp &&  cmp = Cmp())
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
void Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::swap ( Graph< NodeInfo, ArcInfo, GraphInfo > &  g)
inline
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
static GArc* Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::to_garc ( Arc arc)
inlinestaticprotected
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
static GNode* Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::to_gnode ( Node node)
inlinestaticprotected

Member Data Documentation

template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
DL Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::arc_list
protected
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
GraphInfo Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::info
protected
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
DL Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::node_list
protected
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
nat_t Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::num_arcs
protected
template<typename NodeInfo , typename ArcInfo = EmptyClass, typename GraphInfo = EmptyClass>
nat_t Designar::Graph< NodeInfo, ArcInfo, GraphInfo >::num_nodes
protected

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