|
| Nodes_Index (GT &_g, Compare &cmp, SN &_sn) |
|
| Nodes_Index (GT &_g, Compare &&cmp=Compare(), SN &&_sn=SN()) |
|
GT_Node * | insert_in_graph (GT_Node *p) |
|
GT_Node * | search_or_insert_in_graph (GT_Node *p) |
|
GT_Node * | insert_in_graph (const GT_Node_Info &info) |
|
GT_Node * | search_or_insert_in_graph (const GT_Node_Info &info) |
|
GT_Node * | insert_in_graph (const GT_Node_Info &&info=GT_Node_Info()) |
|
GT_Node * | search (GT_Node *p) |
|
GT_Node * | search (const GT_Node_Info &info) |
|
void | remove_from_graph (GT_Node *p) throw (std::exception, std::domain_error) |
|
| Nodes_Index (GT &_g, Compare &cmp, SN &_sn) |
|
| Nodes_Index (GT &_g, Compare &&cmp=Compare(), SN &&_sn=SN()) |
|
GT_Node * | insert_in_graph (GT_Node *p) |
|
GT_Node * | insert_in_graph (const GT_Node_Info &info) |
|
GT_Node * | insert_in_graph (const GT_Node_Info &&info=GT_Node_Info()) |
|
GT_Node * | search (GT_Node *p) |
|
GT_Node * | search (const GT_Node_Info &info) |
|
void | remove_from_graph (GT_Node *p) throw (std::exception, std::domain_error) |
|
void | swap (DynSetTree &dset) |
|
| DynSetTree (Compare &&cmp=Compare()) |
| Instancia un conjunto dinámico vacío.
|
|
| DynSetTree (Compare &cmp) |
|
| DynSetTree (const DynSetTree &srcTree) |
| Instancia un conjunto dinámico copia de srcTree.
|
|
| DynSetTree (const DynList< Tree > &list) |
|
| DynSetTree (DynSetTree &&srcTree) |
|
void | empty () |
| Elimina todos los elementos del conjunto.
|
|
DynSetTree & | operator= (const DynList< Tree > &list) |
|
DynSetTree & | operator= (const DynSetTree &srcTree) |
| Asigna a this el conjunto dinámico srcTree.
|
|
DynSetTree & | operator= (DynSetTree &&srcTree) |
| Asigna a this el conjunto dinámico srcTree.
|
|
virtual | ~DynSetTree () |
| Destructor; todos los elementos son liberados.
|
|
Tree * | insert (const Tree &key) |
|
Tree * | insert (Tree &&key) |
|
Tree * | append (const Tree &key) |
|
Tree * | append (Tree &&key) |
|
Tree * | search_or_insert (const Tree &key) |
|
Tree * | search_or_insert (Tree &&key) |
|
Tree * | insert_dup (const Tree &key) |
|
Tree * | insert_dup (Tree &&key) |
|
Tree * | put (const Tree &key) |
| Seudo sinonimo de insert; no retorna ningún valor.
|
|
Tree * | put (Tree &&key) |
|
size_t | remove (const Tree &key) |
|
bool | exist (const Tree &key) const |
| Retorna true si key pertenece al conjunto dinámico.
|
|
bool | has (const Tree &key) const |
|
bool | contains (const Tree &key) const |
|
Tree & | find (const Tree &key) throw (std::exception, std::domain_error) |
|
std::pair< int, Tree * > | find_position (const Tree &key) const |
|
Tree * | search (const Tree &key) const throw (std::exception, std::domain_error) |
|
const Tree & | min () const |
|
const Tree & | get_first () |
|
const Tree & | max () const |
|
const Tree & | get_last () |
|
const Tree & | get () |
| Sinónimo de max.
|
|
const size_t & | size () const |
| Retorna la cardinalidad del conjunto.
|
|
bool | is_empty () const |
| Retorna true si el conjunto está vacío.
|
|
size_t | internal_path_length () const |
|
Node * | get_root_node () const |
|
const Tree & | get_root () const |
|
size_t | height () const |
| Calcula y retorna la altura del árbol binario de búsqueda.
|
|
void | for_each_in_preorder (void(*visitFct)(Node *, int, int)) |
|
long | position (const Tree &key) const |
|
Tree & | select (const size_t &i) |
|
const Tree & | select (const size_t &i) const |
|
Tree & | operator() (const size_t &i) |
|
Tree & | access (const size_t &i) |
|
bool | verify () |
|
void | for_each_preorder (Key_Op &key_op) |
|
void | for_each_preorder (Key_Op &&key_op=Key_Op()) |
|
void | for_each_inorder (Key_Op &key_op) |
|
void | for_each_inorder (Key_Op &&key_op=Key_Op()) |
|
void | for_each_postorder (Key_Op &key_op) |
|
void | for_each_postorder (Key_Op &&key_op=Key_Op()) |
|
DynSetTree & | join (DynSetTree &t, DynSetTree &dup) |
|
DynSetTree & | join (DynSetTree &t, DynSetTree &&dup=DynSetTree()) |
|
DynSetTree & | join_dup (DynSetTree &t) |
|
bool | split_key (const Tree &key, DynSetTree &l, DynSetTree &r) |
|
void | split_pos (const size_t pos, DynSetTree &l, DynSetTree &r) |
|
void | split_key_dup (const Tree &key, DynSetTree &l, DynSetTree &r) |
|
bool | traverse (Operation &op) |
|
bool | traverse (Operation &&op=Operation()) |
|
bool | traverse (Operation &op) const |
|
bool | traverse (Operation &&op=Operation()) const |
|
| Functional_Methods (Tree) |
|
| Generic_Keys (Tree) |
|
| Equal_To_Method (DynSetTree) |
|
void | swap (DynSetTree &dset) |
|
| DynSetTree (Compare &&cmp=Compare()) |
| Instancia un conjunto dinámico vacío.
|
|
| DynSetTree (Compare &cmp) |
|
| DynSetTree (const DynSetTree &srcTree) |
| Instancia un conjunto dinámico copia de srcTree.
|
|
| DynSetTree (const DynList< GT::Node * > &list) |
|
| DynSetTree (DynSetTree &&srcTree) |
|
void | empty () |
| Elimina todos los elementos del conjunto.
|
|
DynSetTree & | operator= (const DynList< GT::Node * > &list) |
|
DynSetTree & | operator= (const DynSetTree &srcTree) |
| Asigna a this el conjunto dinámico srcTree.
|
|
DynSetTree & | operator= (DynSetTree &&srcTree) |
| Asigna a this el conjunto dinámico srcTree.
|
|
virtual | ~DynSetTree () |
| Destructor; todos los elementos son liberados.
|
|
GT::Node ** | insert (const GT::Node *&key) |
|
GT::Node ** | insert (GT::Node *&&key) |
|
GT::Node ** | append (const GT::Node *&key) |
|
GT::Node ** | append (GT::Node *&&key) |
|
GT::Node ** | search_or_insert (const GT::Node *&key) |
|
GT::Node ** | search_or_insert (GT::Node *&&key) |
|
GT::Node ** | insert_dup (const GT::Node *&key) |
|
GT::Node ** | insert_dup (GT::Node *&&key) |
|
GT::Node ** | put (const GT::Node *&key) |
| Seudo sinonimo de insert; no retorna ningún valor.
|
|
GT::Node ** | put (GT::Node *&&key) |
|
size_t | remove (const GT::Node *&key) |
|
bool | exist (const GT::Node *&key) const |
| Retorna true si key pertenece al conjunto dinámico.
|
|
bool | has (const GT::Node *&key) const |
|
bool | contains (const GT::Node *&key) const |
|
GT::Node *& | find (const GT::Node *&key) throw (std::exception, std::domain_error) |
|
std::pair< int, GT::Node ** > | find_position (const GT::Node *&key) const |
|
GT::Node ** | search (const GT::Node *&key) const throw (std::exception, std::domain_error) |
|
const GT::Node *& | min () const |
|
const GT::Node *& | get_first () |
|
const GT::Node *& | max () const |
|
const GT::Node *& | get_last () |
|
const GT::Node *& | get () |
| Sinónimo de max.
|
|
const size_t & | size () const |
| Retorna la cardinalidad del conjunto.
|
|
bool | is_empty () const |
| Retorna true si el conjunto está vacío.
|
|
size_t | internal_path_length () const |
|
Node * | get_root_node () const |
|
const GT::Node *& | get_root () const |
|
size_t | height () const |
| Calcula y retorna la altura del árbol binario de búsqueda.
|
|
void | for_each_in_preorder (void(*visitFct)(Node *, int, int)) |
|
long | position (const GT::Node *&key) const |
|
GT::Node *& | select (const size_t &i) |
|
const GT::Node *& | select (const size_t &i) const |
|
GT::Node *& | operator() (const size_t &i) |
|
GT::Node *& | access (const size_t &i) |
|
bool | verify () |
|
void | for_each_preorder (Key_Op &key_op) |
|
void | for_each_preorder (Key_Op &&key_op=Key_Op()) |
|
void | for_each_inorder (Key_Op &key_op) |
|
void | for_each_inorder (Key_Op &&key_op=Key_Op()) |
|
void | for_each_postorder (Key_Op &key_op) |
|
void | for_each_postorder (Key_Op &&key_op=Key_Op()) |
|
DynSetTree & | join (DynSetTree &t, DynSetTree &dup) |
|
DynSetTree & | join (DynSetTree &t, DynSetTree &&dup=DynSetTree()) |
|
DynSetTree & | join_dup (DynSetTree &t) |
|
bool | split_key (const GT::Node *&key, DynSetTree &l, DynSetTree &r) |
|
void | split_pos (const size_t pos, DynSetTree &l, DynSetTree &r) |
|
void | split_key_dup (const GT::Node *&key, DynSetTree &l, DynSetTree &r) |
|
bool | traverse (Operation &op) |
|
bool | traverse (Operation &&op=Operation()) |
|
bool | traverse (Operation &op) const |
|
bool | traverse (Operation &&op=Operation()) const |
|
| Functional_Methods (GT::Node *) |
|
| Generic_Keys (GT::Node *) |
|
| Equal_To_Method (DynSetTree) |
|
template<class GT, class Compare = Dft_Node_Cmp<GT>, template< typename, class > class Tree = Treap, class SN = Dft_Show_Node<GT>>
class Aleph::Nodes_Index< GT, Compare, Tree, SN >
Construye un Ãndice de nodos para su rápida búsqueda y recuperación.
IndexNode indiza los nodos de un grafo según un clave dada definida por el usuario.
La clase recibe los siguientes parámetros tipo:
- GT: el tipo de grafo basado en List_Graph.
- Compare: clase de comparación para la clave de indización. El contrato de esta clase es intrumentar el operador () asÃ:
template <class GT>
struct Dft_Node_Cmp
{
bool
operator () (typename GT::Node * p1, typename GT::Node * p2) const
{
}
};
IndexNode recibe esta clase por omisión programada para comparar el valor retornado por get_info() sobre cada nodo. Para ello, el operador < del tipo GT::Node_Type debe estar implementado.
- SN: clase filtro para el iterador de nodos en caso de que se construya
- Tree: el tipo de árbol binario de búsqueda usado internamente para indizar las claves. Por omisión se usan treaps.
- Ver también
- IndexArc Index_Graph
- Autor
- Leandro Rabindranath León (lrleon en ula punto ve)
-
Alejandro Mujica (aledrums en gmail punto com)
La documentación para esta clase fue generada a partir de los siguientes ficheros: