#include <tpl_sgraph.H>
Inheritance diagram for Aleph::Graph_Snode< Node_Info >:
Collaboration diagram for Aleph::Graph_Snode< Node_Info >:Public Types | |
| using | Base = GTNodeCommon< Node_Info > |
| using | Item_Type = Node_Info |
| using | Node = GTNodeCommon |
| Common alias for set types. | |
| using | Node_Type = Node_Info |
| The node. | |
Public Member Functions | |
| Graph_Snode (const Node_Info &info) noexcept(std::is_nothrow_copy_constructible< Node_Info >::value) | |
| Graph_Snode (Node_Info &&info=Node_Info()) noexcept(std::is_nothrow_move_constructible< Node_Info >::value) | |
| Graph_Snode (const Graph_Snode &node) noexcept(std::is_nothrow_copy_constructible< Node_Info >::value) | |
| Graph_Snode & | operator= (const Graph_Snode &node) noexcept(std::is_nothrow_copy_assignable< Node_Info >::value) |
| Graph_Snode (Graph_Snode *node) noexcept(std::is_nothrow_copy_assignable< Node_Info >::value) | |
| Node_Info & | get_info () noexcept |
| Return a modifiable reference to the data contained in the node. | |
| const Node_Info & | get_info () const noexcept |
| Return a constant reference to the data contained in the node. | |
| unsigned int | state () const noexcept |
| Return the state's value. | |
| void | set_state (unsigned int s) noexcept |
Set the state to value s | |
Public Attributes | |
| DynList< void * > | arc_list |
| Graph_Attr | attrs |
| Node_Info | node_info |
| size_t | num_arcs |
| data associated to the node. Access it with get_info() More... | |
Friends | |
| class | GTNodeCommon< 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:
Node_Info.| Node_Info | Tipo de dato guardado en el grafo y accesible mediante el método get_info(). |
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:
Bit_Fields): conjunto de bits usados por los algoritmos para marcar el nodo.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.
|
inlinenoexcept |
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 nullptr.
| [in] | info | el valor de información que se desea asignar al nodo recién creado. |
|
inlinenoexcept |
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 nullptr.
| [in] | node | puntero al nodo desde el cual se desea copiar el valor de información que se desea asignar al nodo recién creado. |
node.
|
inherited |
Attributes of node
|
inherited |
data associated to the node. Access it with get_info()
Number of arcs.
If the graph is directed, then this field does not have much sense, since it counts the total of arcs (incoming and outcoming).