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::Euclidian_Graph< __Euclidian_Node, __Euclidian_Arc >
+ Diagrama de herencias de Aleph::Euclidian_Graph< __Euclidian_Node, __Euclidian_Arc >
+ Diagrama de colaboración para Aleph::Euclidian_Graph< __Euclidian_Node, __Euclidian_Arc >:

Tipos públicos

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

Métodos públicos

 Euclidian_Graph (const Euclidian_Graph< Node, Arc > &euclidian_graph)
 
virtual Node * insert_node (Node *node)
 
virtual Node * insert_node (const Node_Type &info)
 
virtual Node * insert_node (const Point &position)
 
virtual Node * insert_node (const Node_Type &info, const Point &position)
 
Geom_Number get_distance (Arc *arc)
 
Euclidian_Graph< Node, Arc > & operator= (Euclidian_Graph< Node, Arc > &eg)
 
Node * search_node (const Point &)
 
- Métodos públicos heredados desde Aleph::List_Graph< __Euclidian_Node, __Euclidian_Arc >
virtual Node * insert_node (Node_Type &&node_info=Node_Type())
 overload insert_node
 
virtual Node * insert_node (Node_Type &&node_info=Node_Type())
 overload insert_node
 
virtual void remove_node (Node *node)
 
virtual void remove_node (Node *node)
 
Node * get_first_node () const
 
Node * get_first_node ()
 
Arc * get_first_arc (Node *) const
 
Arc * get_first_arc () const
 
Arc * get_first_arc (Node *)
 
Arc * get_first_arc ()
 
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 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 remove_arc (Arc *arc)
 
virtual void disconnect_arc (Arc *arc)
 
virtual void disconnect_arc (Arc *arc)
 
virtual Arc * connect_arc (Arc *arc)
 
virtual Arc * connect_arc (Arc *arc)
 
void sort_arcs (Compare &&cmp=Compare())
 
void sort_arcs (Compare &cmp)
 
void sort_arcs (Compare &&cmp=Compare())
 
void sort_arcs (Compare &cmp)
 
 List_Graph (const List_Graph &g)
 
 List_Graph (List_Graph &&g)
 
 List_Graph (const List_Graph &g)
 
 List_Graph (List_Graph &&g)
 
List_Graphoperator= (const List_Graph &g)
 
List_Graphoperator= (List_Graph &&g)
 
List_Graphoperator= (const List_Graph &g)
 
List_Graphoperator= (List_Graph &&g)
 
virtual ~List_Graph ()
 
virtual ~List_Graph ()
 
void swap (List_Graph &g)
 
void swap (List_Graph &g)
 
 GRAPH_FUNCTIONAL_METHODS (List_Graph)
 
- Métodos públicos heredados desde Aleph::Aleph_Graph< __Euclidian_Node, __Euclidian_Arc >
 Aleph_Graph (bool _digraph)
 
void *& get_cookie ()
 
void *& get_cookie (Node *node)
 
void *& get_cookie (Arc *arc)
 
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 & get_num_arcs (Node *node) const
 
const size_t & esize () const
 
Bit_Fieldsget_control_bits (Node *node)
 
Bit_Fieldsget_control_bits (Arc *arc)
 
void reset_bit (Node *node, const int &bit)
 
void reset_bit (Arc *arc, const int bit)
 
void reset_bits (Node *node)
 
void reset_bits (Arc *arc)
 
void set_bit (Node *node, const int bit, const int value)
 
void set_bit (Arc *arc, const int bit, const int value)
 
long & get_counter (Node *node)
 
long & get_counter (Arc *arc)
 
void reset_counter (Node *node)
 
void reset_counter (Arc *arc)
 
void reset_node (Node *node)
 
void reset_arc (Arc *arc)
 

Otros miembros heredados

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

Documentación de las funciones miembro

template<class __Euclidian_Node, class __Euclidian_Arc>
virtual Node* Aleph::Euclidian_Graph< __Euclidian_Node, __Euclidian_Arc >::insert_node ( Node *  node)
inlinevirtual

Inserción de un nodo cuya memoria ya ha sido apartada.

Este método asume un nodo de tipo List_Graph::Node apuntado por el parámetro node y lo inserta en el grafo.

Parámetros
[in]nodepuntero a un nodo ya creado que no pertenece a ningún grafo.
Devuelve
Puntero al nodo insertado.
Nota
Puesto que cuando se elimine el nodo o se destruya el grafo se invocará al operador delete, node debe haber sido imperativamente apartado con new.
Por lo general, esta rutina no debe usarse. En su lugar debe utilizarse la otra inserción (que aparta memoria automáticamente.

Reimplementado de Aleph::List_Graph< __Euclidian_Node, __Euclidian_Arc >.

Hace referencia a Aleph::List_Graph< __Graph_Node, __Graph_Arc >::insert_node().

Referenciado por Aleph::Euclidian_Graph< __Euclidian_Node, __Euclidian_Arc >::insert_node().

+ Gráfico de llamadas para esta función:

+ Gráfico de llamadas a esta función:

template<class __Euclidian_Node, class __Euclidian_Arc>
virtual Node* Aleph::Euclidian_Graph< __Euclidian_Node, __Euclidian_Arc >::insert_node ( const Node_Type &  node_info)
inlinevirtual

Crea un nuevo nodo en un grafo.

Este método aparta memoria para un nodo de tipo List_Graph::Node y le asigna como atributo el valor node_info.

Parámetros
[in]node_infoInformación que se desea copiar en el nodo. Es imperativo que exista el constructor copia Node_Info.
Devuelve
puntero al nodo recién creado.
Excepciones
bad_allocsi no hay memoria para el nuevo.

Reimplementado de Aleph::List_Graph< __Euclidian_Node, __Euclidian_Arc >.

Hace referencia a Aleph::Euclidian_Graph< __Euclidian_Node, __Euclidian_Arc >::insert_node().

+ Gráfico de llamadas para esta función:


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

Leandro Rabindranath León