37 throw std::invalid_argument(
"link is not empty");
102 Iterator() : head(NULL), curr(NULL) { }
115 : head(head_ptr), curr(curr_ptr)
122 I(curr != NULL and head != NULL);
128 I(curr != NULL and head != NULL);
138 bool has_current()
const
145 bool has_curr()
const {
return has_current(); }
150 I(curr != NULL and head != NULL);
152 if (not has_current())
153 throw std::overflow_error(
"Not element in list");
165 void next() throw(std::exception, std::overflow_error)
167 if (not has_current())
168 throw std::overflow_error(
"Not next element in list");
179 bool verify(
Slink_Nc * l)
const {
return head == l; }
181 bool verify(
const Iterator & it)
const {
return head == it.head; }
bool operator!=(const Iterator &it) const
retorna true si iteradores tienen estados diferentes.
Definition: slink_nc.H:177
Slink_Nc * get_current()
Retorna dirección de nodo actual.
Definition: slink_nc.H:148
bool operator==(const Iterator &it) const
Retorna true si iteradores están sobre el mismo elemento.
Definition: slink_nc.H:174
void reset_first()
Reinicia iterador a primer nodo de la lista.
Definition: slink_nc.H:120
Slink_Nc & operator=(const Slink_Nc &link)
Asignación; coloca enlace a que apunte a NULL.
Definition: slink_nc.H:31
Definition: slink_nc.H:96
void next()
Avanza iterador en una posición.
Definition: slink_nc.H:165
Slink_Nc * remove_next()
Definition: slink_nc.H:87
bool is_in_first() const
Retorna true si iterador está sobre primer elemento.
Definition: slink_nc.H:162
bool is_empty() const
Retorna true si this está vacÃo (apunta a NULL)
Definition: slink_nc.H:50
Definition: slink_nc.H:16
Slink_Nc *& get_next()
Retorna el siguiente enlace.
Definition: slink_nc.H:57
void reset()
Reinicia enlace a que apunte a NULL.
Definition: slink_nc.H:43
void insert(Slink_Nc *p)
Definition: slink_nc.H:70
Slink_Nc()
Constructor vacÃo.
Definition: slink_nc.H:23
Slink_Nc(const Slink_Nc &)
Constructor copia; coloca enlace a que apunte a NULL.
Definition: slink_nc.H:26