Aleph-w  1.5a.2
Biblioteca general de algoritmos y estructuras de datos
 Todo Clases Archivos Funciones Variables 'typedefs' Enumeraciones Amigas Grupos Páginas
Referencia de la plantilla de la Clase Aleph::List_Digraph< __Graph_Node, __Graph_Arc >

#include <tpl_graph.H>

+ Diagrama de herencias de Aleph::List_Digraph< __Graph_Node, __Graph_Arc >
+ Diagrama de colaboración para Aleph::List_Digraph< __Graph_Node, __Graph_Arc >:

Tipos públicos

typedef __Graph_Node Node
 
typedef __Graph_Arc Arc
 
typedef __Graph_Node Node
 
typedef __Graph_Arc Arc
 
- Tipos públicos heredados desde Aleph::List_Graph< __Graph_Node, __Graph_Arc >
typedef __Graph_Node Node
 
typedef __Graph_Arc Arc
 
typedef Node::Node_Info Node_Type
 
typedef Arc::Arc_Info Arc_Type
 
- Tipos públicos heredados desde Aleph::Aleph_Graph< __Graph_Node, __Graph_Arc >
typedef __Graph_Node Node
 
typedef __Graph_Arc Arc
 
typedef Node::Node_Type Node_Type
 
typedef Arc::Arc_Type Arc_Type
 

Métodos públicos

 List_Digraph (const List_Digraph &dg)
 
 List_Digraph (List_Digraph &&dg)
 
List_Digraphoperator= (const List_Digraph &g)
 
List_Digraphoperator= (List_Digraph &&g)
 
 List_Digraph (const List_Digraph &dg)
 
 List_Digraph (List_Digraph &&dg)
 
List_Digraphoperator= (const List_Digraph< Node, Arc > &g)
 
List_Digraphoperator= (List_Digraph< Node, Arc > &&g)
 
- Métodos públicos heredados desde Aleph::List_Graph< __Graph_Node, __Graph_Arc >
virtual Node * insert_node (Node *node)
 
virtual Node * insert_node (const Node_Type &node_info)
 
virtual Node * insert_node (Node_Type &&node_info=Node_Type())
 overload insert_node
 
virtual void remove_node (Node *node)
 
Node * get_first_node () const
 
Arc * get_first_arc (Node *) const
 
virtual Arc * insert_arc (Node *src_node, Node *tgt_node, const typename Arc::Arc_Type &arc_info)
 
virtual Arc * insert_arc (Node *src_node, Node *tgt_node, typename Arc::Arc_Type &&arc_info)
 
virtual Arc * insert_arc (Node *src_node, Node *tgt_node)
 
virtual void remove_arc (Arc *arc)
 
virtual void disconnect_arc (Arc *arc)
 
virtual Arc * connect_arc (Arc *arc)
 
Arc * get_first_arc () const
 
template<class Compare >
void sort_arcs (Compare &&cmp=Compare())
 
template<class Compare >
void sort_arcs (Compare &cmp)
 
 List_Graph (const List_Graph &g)
 
 List_Graph (List_Graph &&g)
 
List_Graphoperator= (const List_Graph &g)
 
List_Graphoperator= (List_Graph &&g)
 
virtual ~List_Graph ()
 
void swap (List_Graph &g)
 
 GRAPH_FUNCTIONAL_METHODS (List_Graph)
 
virtual Node * insert_node (Node *node)
 
virtual Node * insert_node (const Node_Type &node_info)
 
virtual Node * insert_node (Node_Type &&node_info=Node_Type())
 overload insert_node
 
virtual void remove_node (Node *node)
 
Node * get_first_node ()
 
Arc * get_first_arc (Node *)
 
virtual Arc * insert_arc (Node *src_node, Node *tgt_node, const typename Arc::Arc_Type &arc_info)
 
virtual Arc * insert_arc (Node *src_node, Node *tgt_node, typename Arc::Arc_Type &&arc_info)
 
virtual Arc * insert_arc (Node *src_node, Node *tgt_node)
 
virtual void remove_arc (Arc *arc)
 
virtual void disconnect_arc (Arc *arc)
 
virtual Arc * connect_arc (Arc *arc)
 
Arc * get_first_arc ()
 
template<class Compare >
void sort_arcs (Compare &&cmp=Compare())
 
template<class Compare >
void sort_arcs (Compare &cmp)
 
 List_Graph (const List_Graph &g)
 
 List_Graph (List_Graph &&g)
 
List_Graphoperator= (const List_Graph &g)
 
List_Graphoperator= (List_Graph &&g)
 
virtual ~List_Graph ()
 
void swap (List_Graph &g)
 
- Métodos públicos heredados desde Aleph::Aleph_Graph< __Graph_Node, __Graph_Arc >
 Aleph_Graph (bool _digraph)
 
void *& get_cookie ()
 
bool is_digraph () const
 
const size_t & get_num_nodes () const
 
const size_t & vsize () const
 
Node * get_src_node (Arc *arc)
 
Node * get_tgt_node (Arc *arc)
 
Node * get_connected_node (Arc *arc, Node *node)
 
const size_t & get_num_arcs () const
 
const size_t & esize () const
 
const size_t & get_num_arcs (Node *node) const
 
Bit_Fieldsget_control_bits (Node *node)
 
void reset_bit (Node *node, const int &bit)
 
void reset_bits (Node *node)
 
void set_bit (Node *node, const int bit, const int value)
 
Bit_Fieldsget_control_bits (Arc *arc)
 
void reset_bit (Arc *arc, const int bit)
 
void reset_bits (Arc *arc)
 
void set_bit (Arc *arc, const int bit, const int value)
 
void *& get_cookie (Node *node)
 
void *& get_cookie (Arc *arc)
 
long & get_counter (Node *node)
 
void reset_counter (Node *node)
 
void reset_node (Node *node)
 
long & get_counter (Arc *arc)
 
void reset_counter (Arc *arc)
 
void reset_arc (Arc *arc)
 

Otros miembros heredados

- Métodos públicos estáticos heredados desde Aleph::Aleph_Graph< __Graph_Node, __Graph_Arc >
template<class N1 , class N2 >
static void map_nodes (N1 *p, N2 *q)
 
template<class A1 , class A2 >
static void map_arcs (A1 *p, A2 *q)
 
- Atributos públicos heredados desde Aleph::List_Graph< __Graph_Node, __Graph_Arc >
 GRAPH_SEARCH_METHODS
 
 GRAPH_ITERATIVE_METHODS
 
- Métodos protegidos heredados desde Aleph::Aleph_Graph< __Graph_Node, __Graph_Arc >
void init ()
 
void common_swap (Aleph_Graph &g)
 
- Atributos protegidos heredados desde Aleph::Aleph_Graph< __Graph_Node, __Graph_Arc >
void * cookie
 
size_t num_nodes
 
size_t num_arcs
 
bool digraph
 

Descripción detallada

template<typename __Graph_Node, typename __Graph_Arc>
class Aleph::List_Digraph< __Graph_Node, __Graph_Arc >

Clase digrafo (grafo dirigido) implementado con listas de adyacencia.

Esta clase modeliza un grafo dirigido. Funcionalmente es equivalente a la clase List_Graph, a la excepción de que ésta maneja grafos dirigidos.

Parámetros
__Graph_NodeEl tipo de nodo. Debe estar definido a partir de la clase __Graph_Node, bien sea por inclusión de atributos, por derivación o por combinación de ambos
__Graph_ArcEl tipo de arco. Debe estar definido a partir de la clase __Graph_Arc, bien sea por inclusión de atributos, por derivación o por combinación de ambos
Ver también
Graph_Node Graph_Arc
List_Graph

La documentación para esta clase fue generada a partir de los siguientes ficheros:

Leandro Rabindranath León