#include <SortedVector.hpp>
template<typename T, typename SortBy, typename TKey = int>
class anna::SortedVector< T, SortBy, TKey >
Patron para ordenar instancias de objetos en base de una clave.
- Parameters
-
T | Clase del patron. |
SortBy | Clase que ofrece el valor por el que ordenar. Debe implementar un metodo constante con la signatura: TKey value (const T*) |
TKey | Tipo de clave usado para calcular la ordenacion. Debe implementar los operadores '=', '<' y '==' y el contructor copia. |
- Warning
- no actua como clase segura en MT, ver anna::SafeSortedVector.
◆ const_iterator
template<typename T, typename SortBy, typename TKey = int>
◆ container
template<typename T, typename SortBy, typename TKey = int>
◆ iterator
template<typename T, typename SortBy, typename TKey = int>
◆ value_type
template<typename T, typename SortBy, typename TKey = int>
◆ SortedVector() [1/2]
template<typename T, typename SortBy, typename TKey = int>
◆ SortedVector() [2/2]
template<typename T, typename SortBy, typename TKey = int>
Constructor copia.
- Parameters
-
other | Instancia de la que copiar. |
std::map< TKey, T * > container
Definition: SortedVector.hpp:32
◆ ~SortedVector()
template<typename T, typename SortBy, typename TKey = int>
Destructor.
52 { container::clear(); }
◆ add()
template<typename T, typename SortBy, typename TKey = int>
Incorpora la instancia recibida como parametro en la lista ordenada de objetos.
- Parameters
-
t | Instancia a guardar en el map. Si es NULL la operacion no tendra ningun efecto. |
- Returns
- true si ha registrado la nueva instancia o false en otro caso.
80 TKey key(SortBy::value(t));
82 std::pair <iterator, bool> result = container::insert(v);
container::value_type value_type
Definition: SortedVector.hpp:35
◆ contains()
template<typename T, typename SortBy, typename TKey = int>
Devolvera true si la instancia recibida como parametro esta contenido en el map o en otro caso. Si la instancia recibida es NULL siempre devolvera false.
- Parameters
-
- Returns
- true si la instancia recibida como parametro esta contenido en el map o en otro caso.
66 TKey key(SortBy::value(t));
67 return find(key) != NULL;
T * find(const TKey key)
Definition: SortedVector.hpp:113
◆ data() [1/2]
template<typename T, typename SortBy, typename TKey = int>
Devuelve el objeto referenciado por el iterador.
- Returns
- El objeto referenciado por el iterador.
132 {
return ii->second; }
◆ data() [2/2]
template<typename T, typename SortBy, typename TKey = int>
Devuelve el objeto referenciado por el iterador.
- Returns
- El objeto referenciado por el iterador.
138 {
return ii->second; }
◆ erase()
template<typename T, typename SortBy, typename TKey = int>
Elimina la instancia recibida como parametro de la lista ordenada de objetos.
- Parameters
-
t | Instancia a guardar en el map. Si es NULL la operacion no tendra ningun efecto. |
- Returns
- true si ha eliminado la instancia o false en otro caso.
97 TKey key(SortBy::value(t));
100 if(ii != container::end()) {
101 container::erase(ii);
container::iterator iterator
Definition: SortedVector.hpp:33
◆ find() [1/2]
template<typename T, typename SortBy, typename TKey = int>
Devuelve la instancia asociada a la clave recibida como parametro o NULL si no existe.
- Parameters
-
key | Clave a buscar en el map. |
- Returns
- la instancia asociada a la clave recibida como parametro o NULL si no existe.
116 return (ii == container::end()) ? NULL : ii->second;
container::iterator iterator
Definition: SortedVector.hpp:33
◆ find() [2/2]
template<typename T, typename SortBy, typename TKey = int>
Devuelve la instancia asociada a la clave recibida como parametro o NULL si no existe.
- Parameters
-
key | Clave a buscar en el map. |
- Returns
- la instancia asociada a la clave recibida como parametro o NULL si no existe.
125 return const_cast <SortedVector <T, SortBy, TKey>*>(
this)->
find(key);
T * find(const TKey key)
Definition: SortedVector.hpp:113
The documentation for this class was generated from the following file: