Referencia de la plantilla de la Clase Dlist_Node_Vtl
[Secuencias.]

Nodo con destructor virtual de lista doblemente enlazada. Más...

Diagrama de herencias de Dlist_Node_Vtl

Inheritance graph
[leyenda]
Diagrama de colaboración para Dlist_Node_Vtl:

Collaboration graph
[leyenda]

Lista de todos los miembros.

Tipos públicos

typedef T dnode_type
 Exporta tipo del dato que contiene el nodo.

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.
T & get_data ()
 Retorna referencia a dato contenido en el nodo.
Dnode< T > *& get_next ()
 Retorna referencia a puntero de nodo siguiente a this.
Dnode< T > *& get_prev ()
 Retorna referencia a puntero de nodo previo a 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.
Dnode< T > * remove_next ()
 Elimina sucesor a this y retorna su dirección.
Dnode< T > * remove_prev ()
 Elimina anterior a this y retorna su dirección.
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.


Descripción detallada

template<typename T>
class Aleph::Dlist_Node_Vtl< T >

Parámetros:
T el tipo de dato que contiene el nodo.
Ver también:
DlistVtl GenDlist

Definición en la línea 77 del archivo tpl_dlist.H.


Documentación de las funciones miembro

void append ( Dlink node  )  [inline, inherited]

Parámetros:
[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

Parámetros:
[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.

Parámetros:
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().

void cut_list ( Dlink link,
Dlink list 
) [inline, inherited]

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.

Parámetros:
[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]

Parámetros:
[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

Parámetros:
[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]

Nota:
Los elementos deben haber sido apartados con 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().

int reverse_list (  )  [inline, inherited]

Devuelve:
cantidad de elementos que tiene la lista

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().

size_t split_list ( Dlink l,
Dlink r 
) [inline, inherited]

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.

Parámetros:
[out] l lista con los primeros n/2 elementos
[out] r lista con los últimos n/2 elementos
Devuelve:
cantidad total de elementos que tenía la lista this antes de la operación.

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]

Parámetros:
[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().


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

Leandro R. León