

Tipos públicos | |
| typedef Graph_Arc | Arc |
| Tipo de Arco. | |
| typedef Arc_Info | Arc_Type |
| Tipo de información asociada al arco. | |
Métodos públicos | |
| void | append (Dlink *node) |
Inserta node antes de this. | |
| void | append_list (Dlink *head) |
Inserta lista encabezada por head antes del nodo this. | |
| void | concat_list (Dlink *head) |
| Concatena lista encabezada por head a lista encabezada por this. | |
| void | cut_list (Dlink *link, Dlink *list) |
Corta la lista this por el enlace link y pasa todos los elementos a la lista vacía list. | |
| void | del () |
Elimina this de su contexto en una lista. | |
| Arc_Info & | get_info () |
| Retorna la información almacenada en el arco. | |
| Dlink *& | get_next () |
Retorna enlace después de this. | |
| Dlink *& | get_prev () |
Retorna enlace antes de this. | |
| void | insert (Dlink *node) |
| Inserta node después de this. | |
| void | insert_list (Dlink *head) |
Inserta lista encabezada por head después del nodo this. | |
| bool | is_empty () const |
retorna true si this está vacía | |
| bool | is_unitarian () const |
retorna true si this tiene exactamente un elemento | |
| bool | is_unitarian_or_empty () const |
retorna true si this tiene uno o ningún elemento | |
| void | remove_all_and_delete () |
| Elimina y libera memoria todos los nodos de this. | |
| Dlink * | remove_next () |
Elimina el sucesor de this. | |
| Dlink * | remove_prev () |
Elimina el anterior a this. | |
| void | reset () |
| Reinicia dlink (equivalente a que se vacíe la lista). | |
| int | reverse_list () |
Invierte lista encabezada por this y retorna la cantidad de elementos de la lista. | |
| size_t | split_list (Dlink &l, Dlink &r) |
| Particiona lista encabezada por this en dos listas equitativas que son colocadas en l y r respectivamente. | |
| void | swap (Dlink *link) |
Intercambia listas encabezadas con this y link en tiempo constante. | |
Atributos públicos | |
| Bit_Fields | control_bits |
| bits de control del arco | |
Clases | |
| class | Critical_Section |
| Toma la sección crítica del arco. Más... | |
Definición en la línea 126 del archivo tpl_concurrent_graph.H.
| void append | ( | Dlink * | node | ) | [inline, inherited] |
| [in] | node | puntero a nodo; el nodo no debe formar de una lista |
Definición en la línea 171 del archivo dlink.H.
Hace referencia a Dlink::is_empty(), Dlink::next, y Dlink::prev.
Referenciado por Aleph::dlink_random_search(), Aleph::dlink_random_select(), List_Graph::insert_arc(), Tree_Node::insert_left_sibling(), List_Graph::insert_node(), Aleph::merge_lists(), Aleph::quicksort(), Aleph::selection_sort(), y Dlink::split_list().
| void append_list | ( | Dlink * | head | ) | [inline, inherited] |
La función asume que this es un nodo que conforma una lista y que antes de él se desea insertar enteramente la lista cuyo nodo cabecera es head
| [in] | head | cabecera de la lista que se desea insertar antes del nodo this |
Definición en la línea 230 del archivo dlink.H.
Hace referencia a Dlink::is_empty(), Dlink::next, Dlink::prev, y Dlink::reset().
Referenciado por DynDlist< Aleph::Path::Path_Desc >::append_list().
| void concat_list | ( | Dlink * | head | ) | [inline, inherited] |
El método asume que this es una cabecera de una lista y le concatena enteramente la lista cuya cabecera es head.
Después de la operación head deviene vacío.
| head | cabecera de la lista que se desea concatenar |
Definición en la línea 250 del archivo dlink.H.
Hace referencia a Dlink::is_empty(), Dlink::next, Dlink::prev, Dlink::reset(), y Dlink::swap().
Referenciado por Aleph::dlink_random_search(), Aleph::dlink_random_select(), Aleph::merge_lists(), y Aleph::quicksort().
Particiona la lista cuyo nodo cabecera es this, a partir de uno de sus nodos apuntados por link y coloca todos los elementos desde link hasta el final de la lista en la lista vacía list.
| [in] | link | puntero al elemento de la lista this a partir del cual se desea realizar la partición. |
| [out] | list | cabecera de lista vacía. Luego de la operación, esta lista contiene los elementos que estaban en this a partir de link |
Definición en la línea 389 del archivo dlink.H.
Hace referencia a Dlink::is_empty(), Dlink::next, y Dlink::prev.
Referenciado por list::splice().
| void insert | ( | Dlink * | node | ) | [inline, inherited] |
| [in] | node | nodo aislado que debe apuntar a sí mismo sin estar enlado a otros elementos |
Definición en la línea 155 del archivo dlink.H.
Hace referencia a Dlink::is_empty(), Dlink::next, y Dlink::prev.
Referenciado por Tree_Node::insert_right_sibling(), Dlink::reverse_list(), y Dlink::split_list().
| void insert_list | ( | Dlink * | head | ) | [inline, inherited] |
La función asume que this es un nodo que conforma una lista y que a partir de él se desea insertar enteramente la lista cuyo nodo cabecera es head
| [in] | head | cabecera de la lista que se desea insertar en el nodo this |
Definición en la línea 209 del archivo dlink.H.
Hace referencia a Dlink::is_empty(), Dlink::next, Dlink::prev, y Dlink::reset().
Referenciado por DynDlist< Aleph::Path::Path_Desc >::insert_list().
| void remove_all_and_delete | ( | ) | [inline, inherited] |
new Definición en la línea 658 del archivo dlink.H.
Hace referencia a Dlink::del(), Dlink::Iterator::get_current(), Dlink::Iterator::has_current(), y Dlink::Iterator::next().
Referenciado por GenLinearHashTable< Key, LhashBucket, Aleph::equal_to< Key > >::empty().
| Dlink* remove_prev | ( | ) | [inline, inherited] |
Elimina el nodo anterior de this.
Reimplementado en Dnode, Dnode< Aleph::Path::Path_Desc >, y Dnode< Aleph::pair< T, Elem > >.
Definición en la línea 287 del archivo dlink.H.
Hace referencia a Dlink::del().
Referenciado por Dnode< Aleph::pair< T, Elem > >::remove_prev(), y Dlink::split_list().
| int reverse_list | ( | ) | [inline, inherited] |
Definición en la línea 317 del archivo dlink.H.
Hace referencia a Dlink::insert(), Dlink::is_empty(), Dlink::remove_next(), y Dlink::swap().
Retorna la cantidad de elementos que tenía this antes de la partición.
El método toma la lista cuyo nodo cabecera es this y la particiona equitativamente por el centro.
Después de la operación la this deviene vacío.
| [out] | l | lista con los primeros n/2 elementos |
| [out] | r | lista con los últimos n/2 elementos |
Definición en la línea 356 del archivo dlink.H.
Hace referencia a Dlink::append(), Dlink::insert(), Dlink::is_empty(), Dlink::remove_next(), y Dlink::remove_prev().
Referenciado por Aleph::mergesort(), y DynDlist< Aleph::Path::Path_Desc >::split_list().
| void swap | ( | Dlink * | link | ) | [inline, inherited] |
| [in] | link | enlace a cabecera de la otra lista de intercambio |
Definición en la línea 110 del archivo dlink.H.
Hace referencia a Dlink::is_empty(), Dlink::next, Dlink::prev, y Dlink::reset().
Referenciado por Dlink::concat_list(), Aleph::dlink_random_search(), Aleph::insertion_sort(), Dlink::reverse_list(), Aleph::selection_sort(), y DynDlist< Aleph::Path::Path_Desc >::swap().