Aleph-w  1.5a.2
Biblioteca general de algoritmos y estructuras de datos
 Todo Clases Archivos Funciones Variables 'typedefs' Enumeraciones Amigas Grupos Páginas
tpl_snode_nc.H
1 # ifndef TPL_SNODE_NC_H
2 # define TPL_SNODE_NC_H
3 
4 # include <slink_nc.H>
5 
6 namespace Aleph
7 {
8  template <typename T> class Snode_Nc : public Slink_Nc
9  {
10  T data;
11 
12  public:
14  Snode_Nc() : Slink_Nc() { /* empty*/ }
15 
17  Snode_Nc(const T & _data) : Slink_Nc(), data(_data) { /* empty */ }
18 
19  ~Snode_Nc() { /* empty */ }
20 
22  T & get_data() { return data; }
23 
32  {
33  return (Snode_Nc *) Slink_Nc::remove_next();
34  }
35 
38  {
39  return (Snode_Nc *&) Slink_Nc::get_next();
40  }
41 
43  {
44  public:
45  Iterator() { /* empty */ }
46 
48  Iterator(Snode_Nc<T> * head_ptr)
49  : Slink_Nc::Iterator(head_ptr)
50  {
51  // empty
52  }
53 
55  Iterator(Snode_Nc<T> & head) : Slink_Nc::Iterator(&head) { /* empty */ }
56 
57  // Instancia iterador en lista cuyo nodo cabecera es head_ptr y
58  // coloca el elemento actual en el apuntado por curr_ptr
59  Iterator(Snode_Nc<T> * head_ptr, Snode_Nc<T> * curr_ptr)
60  : Slink_Nc::Iterator(head_ptr, curr_ptr)
61  {
62  // Empty
63  }
64 
66  {
67  return (Snode_Nc *) this->Slink_Nc::Iterator::get_current();
68  }
69 
71  {
73  }
74  };
75  };
76 }
77 
78 # endif
79 
Snode_Nc * get_curr()
retorna puntero al nodo actual
Definition: tpl_snode_nc.H:70
Snode_Nc * get_current()
retorna puntero al nodo actual
Definition: tpl_snode_nc.H:65
Iterator(Snode_Nc< T > *head_ptr)
Instancia iterador en lista cuyo nodo cabecera es head_ptr.
Definition: tpl_snode_nc.H:48
Definition: tpl_snode_nc.H:8
Iterator(Snode_Nc< T > &head)
Instancia iterador en lista cuyo nodo cabecera es head_ptr */.
Definition: tpl_snode_nc.H:55
T & get_data()
Retorna una referencia al dato contenido en el nodo.
Definition: tpl_snode_nc.H:22
Snode_Nc(const T &_data)
Constructor que copia dato.
Definition: tpl_snode_nc.H:17
Snode_Nc *& get_next()
Retorna el nodo siguiente a this.
Definition: tpl_snode_nc.H:37
Snode_Nc()
Constructor vacío.
Definition: tpl_snode_nc.H:14
Definition: tpl_snode_nc.H:42
Snode_Nc * remove_next()
Definition: tpl_snode_nc.H:31

Leandro Rabindranath León