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::Graph_Snode< Node_Info >

#include <tpl_sgraph.H>

+ Diagrama de colaboración para Aleph::Graph_Snode< Node_Info >:

Métodos públicos

 GRAPH_NODE_COMMON (Graph_Snode)
 
 Graph_Snode ()
 
 Graph_Snode (const Graph_Snode &)
 
 Graph_Snode (const Node_Info &info)
 
 Graph_Snode (Graph_Snode *node)
 

Atributos públicos

DynList< void * > arc_list
 

Descripción detallada

template<typename Node_Info = Empty_Class>
class Aleph::Graph_Snode< Node_Info >

Nodo de grafo implantado con listas simples de adyacencia.

Esta clase define un nodo o vértice de un grafo o digrafo implantado mediante listas de adyacencia.

Básicamente, hay tres maneras de definir la información que pertenece a un nodo de un grafo:

  • Mediante el parámetro tipo inherente al nodo denominado Node_Info.
  • A través de herencia de esta clase base. Esta es la manera de mantener diferentes tipos de nodo en un grafo.
  • Combinación de las dos anteriores.
Parámetros
Node_InfoTipo de dato guardado en el grafo y accesible mediante el método get_info().
Nota
Esta clase sólo está destinada a la definición de nodos de un grafo. No está destinada a ser usada por el usuario. Es preferible usarla a través de los métodos provistos por List_Graph. Si bien es posible usar algunos métodos o acceder algunos de sus atributos, es altamente recomendable no usarla. En su lugar, se debe utilizar el tipo List_Graph::Node y sus métodos asociados.

Un nodo de grafo tiene tres atributos adicionales presentes por cada nodo y denominados del siguiente modo:

  • Bits de control (Bit_Fields): conjunto de bits usados por los algoritmos para marcar el nodo.
  • Contador (counter): contador generalmente usado para marcar un orden de visita o procesamiento.
  • cookie: puntero opaco hacia cualquier otra información temporal que se desee asociar al nodo.
Ver también
List_Graph List_Digraph Graph_Arc Bit_Fields

Documentación del constructor y destructor

template<typename Node_Info = Empty_Class>
Aleph::Graph_Snode< Node_Info >::Graph_Snode ( )
inline

Constructor por omisión.

El valor de la información contenida en el nodo está determinada por el valor que asigne el constructor Node_Info::Node_Info, donde Node_Info es el tipo asociado al nodo.

Los valores de los bits de control y del contador son colocados en cero. El cookie es colocado en NULL.

template<typename Node_Info = Empty_Class>
Aleph::Graph_Snode< Node_Info >::Graph_Snode ( const Node_Info &  info)
inline

Constructor que asigna un valor de atributo.

Crea un nodo y le asigna el valor info como valor de la información contenida en el nodo.

Los valores de los bits de control y del contador son colocados en cero. El cookie es colocado en NULL.

Parámetros
[in]infoel valor de información que se desea asignar al nodo recién creado.
Nota
Debe estar definido el constructor copia de la clase Node_Info.
template<typename Node_Info = Empty_Class>
Aleph::Graph_Snode< Node_Info >::Graph_Snode ( Graph_Snode< Node_Info > *  node)
inline

Constructor copia a partir de un puntero a nodo.

Crea un nodo y le asigna el valor node->get_info() como valor de la información contenida en el nodo.

Los valores de los bits de control y del contador son colocados en cero. El cookie es colocado en NULL.

Parámetros
[in]nodepuntero al nodo desde el cual se desea copiar el valor de información que se desea asignar al nodo recién creado.
Nota
Debe estar definido el constructor copia de la clase Node_Info.
La instancia creada es un nodo distinto de node.

La documentación para esta clase fue generada a partir del siguiente fichero:

Leandro Rabindranath León