#include <tpl_treapRk.H>
Métodos públicos | |
Iterator () | |
Constructor vacío; no tiene sentido si no se asigna un treap. | |
Iterator (Gen_Treap_Rk &__tree) | |
Instancia un iterador a partir del menor nodo del treap __tree. | |
Iterator (Gen_Treap_Rk &__tree, Node *__curr) | |
Iterator (Gen_Treap_Rk &__tree, const size_t &pos) | |
Instancia un iterador a partir de la posición pos. | |
Iterator (const Iterator &itor) | |
Instancia un iterador a partir del estado del iterador itor. | |
Iterator & | operator= (const Iterator &itor) |
Asigna al iterador this el iterador itor. | |
void | reset_first () |
Reinicia el iterador al primer nodo (menor) del treap. | |
void | reset_last () |
Reinicia el iterador al último nodo (mayor) del treap. | |
void | reset_to_key (const Key &key) |
void | reset_to_node (Node *node) |
void | reset_to_pos (size_t pos) |
Coloca la posición actual del iterador en la posición pos. | |
Node * | get_current () const |
Retorna el nodo actual. | |
Node * | get_curr () const |
Retorna el nodo actual. | |
size_t | get_current_position () const throw (std::exception, std::underflow_error, std::overflow_error) |
bool | has_current () const |
bool | has_curr () const |
void | prev () throw (std::exception, std::underflow_error) |
Avanza el iterador una posición hacia atrás. | |
void | next () throw (std::exception, std::overflow_error) |
Avanza el iterador una posición hacia delante. | |
Node * | del () |
bool | operator== (const Iterator &itor) const |
Retorna true si *this está sobre el mismo nodo que itor. | |
bool | operator!= (const Iterator &itor) const |
Retorna true si *this no es igual a itor. | |
bool | verify (Gen_Treap_Rk *r) const |
bool | verify (const Iterator &it) const |
Atributos protegidos | |
Gen_Treap_Rk * | tree_ptr |
Node * | curr |
int | curr_pos |
Atributos protegidos estáticos | |
static const int | Pos_Not_Current = -1 |
static const int | Pos_Empty_Container = -2 |
static const int | Pos_Not_Updated = -3 |
Iterador sobre los nodos de un treap extendido.
Esta clase permite recorrer los nodos de un treap en forma ordenada según el criterio de comparación especificado en el momento de instanciación del treap.
|
inline |
Instancia un iterador a partir del nodo __curr del treap __tree.
|
inline |
Elimina el nodo actual sobre el cual está posicionado el iterador; queda posicionado en el siguiente al eliminado.
Hace referencia a Aleph::Gen_Treap_Rk< NodeType, Key, Compare >::Iterator::has_current() y KEY.
|
inline |
Retorna la posición infija del nodo actual sobre el cual está posicionado el iterador.
underflow_error | si el iterador está desbordado por abajo. |
overflow_error | si el iterador está desbordado por arriba. |
Hace referencia a COUNT y Aleph::Gen_Treap_Rk< NodeType, Key, Compare >::getRoot().
|
inline |
Retorna true si el iterador está posicionado sobre un elemento actual.
Hace referencia a Aleph::Gen_Treap_Rk< NodeType, Key, Compare >::Iterator::has_current().
|
inline |
Retorna true si el iterador está posicionado sobre un elemento actual.
Hace referencia a COUNT y Aleph::Gen_Treap_Rk< NodeType, Key, Compare >::getRoot().
Referenciado por Aleph::Gen_Treap_Rk< NodeType, Key, Compare >::Iterator::del(), Aleph::Gen_Treap_Rk< NodeType, Key, Compare >::Iterator::has_curr(), Aleph::Gen_Treap_Rk< NodeType, Key, Compare >::Iterator::next() y Aleph::Gen_Treap_Rk< NodeType, Key, Compare >::Iterator::prev().
|
inline |
Reinicia la posición actual del iterador al elemento con valor de clave key.
[in] | key | clave a colocar como posición actual. |
domain_error | si la clave no está contenida en el árbol. |
Hace referencia a Aleph::Gen_Treap_Rk< NodeType, Key, Compare >::getRoot() y Aleph::inorder_position().
|
inline |
Reinicia la posición actual del iterador al nodo node.
[in] | node | nodo a colocar como posición actual. |