Aleph-w  1.9
General library for algorithms and data structures
Aleph::Graph_Sarc< Arc_Info > Class Template Reference

#include <tpl_sgraph.H>

+ Inheritance diagram for Aleph::Graph_Sarc< Arc_Info >:
+ Collaboration diagram for Aleph::Graph_Sarc< Arc_Info >:

Public Types

using Item_Type = Arc_Info
 
using Arc_Type = Arc_Info
 

Public Member Functions

 Graph_Sarc (const Arc_Info &info) noexcept(std::is_nothrow_copy_constructible< Arc_Info >::value)
 
 Graph_Sarc (Arc_Info &&info=Arc_Info()) noexcept(std::is_nothrow_move_constructible< Arc_Info >::value)
 
 Graph_Sarc (const Graph_Sarc &arc) noexcept(std::is_nothrow_copy_constructible< Arc_Info >::value)
 
Graph_Sarcoperator= (const Graph_Sarc &arc) noexcept(std::is_nothrow_copy_assignable< Arc_Info >::value)
 
 Graph_Sarc (void *src, void *tgt, const Arc_Info &data) noexcept(std::is_nothrow_copy_constructible< Arc_Info >::value)
 
 Graph_Sarc (void *src, void *tgt, Arc_Info &&data) noexcept(std::is_nothrow_move_constructible< Arc_Info >::value)
 
unsigned int state () const noexcept
 Return the state of arc.
 
void set_state (unsigned int s) noexcept
 Set the state of arc to value s
 
Arc_Info & get_info () noexcept
 Return a modifiable reference to the arc data.
 
const Arc_Info & get_info () const noexcept
 Return a constant reference to the arc data.
 
void * get_connected_node (void *node) noexcept
 
void * get_img_node (void *node) noexcept
 

Public Attributes

void * src_node
 
void * tgt_node
 Please don't use.
 
Graph_Attr attrs
 Please don't use. More...
 
Arc_Info arc_info
 

Detailed Description

template<typename Arc_Info = Empty_Class>
class Aleph::Graph_Sarc< Arc_Info >

Arco de grafo implantado con listas simples de adyacencia.

Esta clase define un arco o eje de un grafo o digrafo implantado mediante listas de adyacencia simplemente enlzadas.

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

  • Mediante el parámetro tipo inherente al nodo denominado Arc_Info.
  • A través de herencia de esta clase base. Esta es la manera de mantener diferentes tipos de arcos en un grafo.
  • Combinación de las dos anteriores.
Parameters
Arc_InfoTipo de dato guardado en el grafo y accesible mediante el método get_info().
Note
Esta clase sólo está destinada a la definición de arcos 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::Arc y sus métodos asociados.

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

  • Bits de control (Bit_Fields): conjunto de bits usados por los algoritmos para marcar el arco.
  • 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 arco.
See also
List_Graph List_Digraph Graph_Node Bit_Fields

Member Data Documentation

◆ attrs

Graph_Attr GTArcCommon< Arc_Info >::attrs
inherited

Please don't use.

Arc control attributes.

See also
Graph_Attr

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

Leandro Rabindranath León