Aleph-w  1.9
General library for algorithms and data structures
Aleph::Dyn_Slist_Nc< T > Class Template Reference

#include <tpl_dyn_slist_nc.H>

Inherits Aleph::Snode_Nc< T >.

Public Types

typedef Snode_Nc< T > Node
 

Public Member Functions

void empty ()
 Vacía totalmente a la lista.
 
T & insert (const T &data) throw (std::exception, std::bad_alloc)
 
T & append (const T &data) throw (std::exception, std::bad_alloc)
 
T & get_first ()
 Retorna una referencia al primer elemento de la lista.
 
T & get_last ()
 Retorna una referencia al último elemento de la lista.
 
remove_first ()
 
T & put (const T &item)
 Si this es una cola, entonces mete el elemento item.
 
get ()
 Si this es una cola, entonces extrae el elemento más antiguo.
 
T & rear ()
 Si this e suna cola, entonces retorna el elemento más joven.
 
T & front ()
 Si this e suna cola, entonces retorna el elemento más antiguo.
 
T & push (const T &item)
 Si this es una pila, entonces inserta item.
 
pop ()
 Si this es una pila, entonces elimina el tope.
 
T & top () const
 Si this es una pila, entonces retorna el tope.
 
const size_t & size () const
 
 Dyn_Slist_Nc ()
 Constructor vacío.
 
 Dyn_Slist_Nc (const Dyn_Slist_Nc &l)
 Constructor de copia.
 
Dyn_Slist_Ncoperator= (const Dyn_Slist_Nc &list)
 
T & operator[] (const size_t &n)
 
T & get_data ()
 Retorna una referencia al dato contenido en el nodo.
 
Snode_Nc * remove_next ()
 
Snode_Nc *& get_next ()
 Retorna el nodo siguiente a this.
 
void reset ()
 Reinicia enlace a que apunte a nullptr.
 
bool is_empty () const
 Retorna true si this está vacío (apunta a nullptr)
 
void insert (Slink_Nc *p)
 

Protected Attributes

Slink_Ncnext
 

Detailed Description

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

Lista dinámica de elementos de tipo T.

Dyn_Slist_Nc<T> define una lista dinámica, es una secuencia de elementos de algún tipo T.

Este tipo puede emplearse como pila o cola.

Parameters
Tel tipo de elementos de la lista.
See also
Slink, Snode_Nc, Dyn_Slist_Nc::Iterator
Author
Leandro R. León
Alejandro J. Mujica

Member Function Documentation

◆ append()

template<typename T>
T& Aleph::Dyn_Slist_Nc< T >::append ( const T &  data)
throw (std::exception,
std::bad_alloc
)
inline

Inserta un elemento al final de la lista.

Inserta en la lista this como último elemento una copia de data.

Después de la operación el último elemento de la lista es data.

Parameters
[in]datael dato a insertarse.
Returns
referencia al dato recién insertado.
Exceptions
bad_allocsi no hay memoria para el nuevo elemento.
+ Here is the caller graph for this function:

◆ insert() [1/2]

template<typename T>
T& Aleph::Dyn_Slist_Nc< T >::insert ( const T &  data)
throw (std::exception,
std::bad_alloc
)
inline

Inserta un elemento al principio de la lista.

Inserta en la lista this como primer elemento una copia de data.

Después de la operación el primer elemento de la lista es data.

Parameters
[in]datael dato a insertarse.
Returns
referencia al dato recién insertado.
Exceptions
bad_allocsi no hay memoria para el nuevo elemento.
+ Here is the caller graph for this function:

◆ insert() [2/2]

void Aleph::Slink_Nc::insert ( Slink_Nc p)
inlineinherited

Inserta en enlace p después de this.

insert(p) inserta un nodo simple cuyo enlace es p después del nodo cuyo enlace es this.

Parameters
[in]pel enlace simple a insertar.
+ Here is the call graph for this function:

◆ operator=()

template<typename T>
Dyn_Slist_Nc& Aleph::Dyn_Slist_Nc< T >::operator= ( const Dyn_Slist_Nc< T > &  list)
inline

Asignación de lista dinámica con semántica lvalue.

La asignación elimina todos los elementos de this y luego copia en this los elementos contenidos en la lista list.

Parameters
[in]listlista a ser asignada
Exceptions
bad_allocsi no hay memoria.
+ Here is the call graph for this function:

◆ remove_first()

template<typename T>
T Aleph::Dyn_Slist_Nc< T >::remove_first ( )
inline

Elimina el primer elemento de la lista: retorna una copia del elemento eliminado.

Returns
una copia del elemento eliminado.
Exceptions
underflow_errorsi la lista está vacía.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ remove_next()

template<typename T >
Snode_Nc* Aleph::Snode_Nc< T >::remove_next ( )
inlineinherited

Elimina el nodo siguiente a this.

remove_next() elimina el nodo enlazado después de this y retorna su dirección de memoria.

Returns
el nodo eliminado.

The documentation for this class was generated from the following file:

Leandro Rabindranath León