Tipos públicos | |
typedef const map::value_type & | const_reference |
Tipo generico referencia constante. | |
typedef Key | key_type |
El tipo de clave de indización. | |
typedef Elem | mapped_type |
El tipo de rango del mapeo. | |
typedef Aleph::pair< Key, Elem > | Pair |
Tipo par almacenado en mapeo. | |
typedef map::value_type & | reference |
Tipo generico referencia al tipo de elemento que almacena el mapeo. | |
typedef Pair | value_type |
Tipo a exportar como tipo del contenedor. | |
Métodos públicos | |
iterator | begin () |
Retorna un iterador posicionado al primer elemento del mapeo. | |
void | clear () |
Borra todos los elementos del mapeo. | |
size_type | count (const Key &key) |
Retorna la cantidad de instancias de key que hay dentro del mapeo; o sea, por definición de set<T>, 1 si el elemento está dentro del mapeo; 0 de lo contrario. | |
bool | empty () const |
Retorna true si el contenedor esta vacío. | |
iterator | end () |
Retorna un iterador posicionado al último elemento del mapeo. | |
iterator | erase (const iterator &beg, const iterator &end) |
Borra del mapeo el rango comprendido [beg. | |
void | erase (iterator pos) |
Borra del mapeo el valor actual del iterador pos. | |
size_type | erase (const Key &key) |
Borra key del mapeo. | |
iterator | find (const Key &key) |
Retorna un iterador posicionado sobre el elemento del mapeo key. | |
template<typename Itor> | |
void | insert (Itor beg, const Itor &end) |
Inserta en el mapeo los elementos de un contenedor comprendidos en el rango [beg. | |
iterator | insert (iterator, const Pair &key) |
Inserta key en el mapeo. | |
Aleph::pair< iterator, bool > | insert (const Pair &key) |
Inserta key en el mapeo. | |
iterator | lower_bound (const Key &key) |
Retorna un iterador posicionado sobre el predecesor de key en el mapeo; independientemente de que key se encuentre o no en el mapeo. | |
template<typename Itor> | |
map (Itor beg, const Itor &end) | |
Instancia un mapeo con los elementos comprendidos en el rango [beg. | |
map (const map &c) | |
Instancia una copia del mapeo c. | |
map () | |
Constructor vacío. | |
bool | operator!= (const map &c) const |
Retorna true si el mapeo this no contiene exactamente los mismos elementos del mapeo c. | |
bool | operator< (const map &c) const |
Retorna true si los elementos ordenados del mapeo this son menores que los del mapeo c. | |
bool | operator<= (const map &c) |
Retorna true si los elementos ordenados del mapeo this son menores o iguales que los del mapeo c. | |
map & | operator= (const map &c) |
Asigna todo el contenido de c a this. | |
bool | operator== (const map &c) const |
Retorna true si el mapeo this tiene exactamente los mismos elementos del mapeo c. | |
bool | operator> (const map &c) |
Retorna true si los elementos ordenados del mapeo this son mayores que los del mapeo c. | |
bool | operator>= (const map &c) |
Retorna true si los elementos ordenados del mapeo this son mayores o iguales que los del mapeo c. | |
size_t | size () const |
Retorna la cantidad de elementos que contiene el mapeo. | |
void | swap (map &c) |
Intercambia en tiempo constante todos los elementos de this con los de c. | |
iterator | upper_bound (const Key &key) |
Retorna un iterador posicionado sobre el sucesor de key en el mapeo; independientemente de que key se encuentre o no en el mapeo. | |
~map () | |
Destructor; todos los elementos son eliminados y la memoria es liberada. | |
Clases | |
class | iterator |
Iterador sobre un mapeo. Más... |
map<Key,Elem> implanta un mapeo desde claves de tipo Key, que no se pueden repetir, a un mapeo de elementos de tipo Elem, los cuales eventualmente pueden repetirse si se asocian a claves distintas.
Los elementos del mapeo son pares ordenados. Un mapeo es sinónimo de función desde Key-->Elem. Esta versión el mapeo usa el tipo Pair de Aleph, cuya implantación está basada en la de gnu.
Un mapeo m es acesible mediante el operador m[key], donde key es la clave de indización. El resultado de m[key] es el elemento asociado a la clave key.
Key | el tipo de dato que almacenará el mapeo. | |
Elem | el tipo de elemento a indizar según una clave. | |
Compare | el criterio de comparación entre las claves de tipo Key. Por omisión se implanta Key::operator<(const Key &). | |
Tree | la clase de árbol binario de búsqueda con rangos que instrumentará el mapeo. Por omisión si usa Treap_Rk |
Definición en la línea 108 del archivo Map.H.
map | ( | Itor | beg, | |
const Itor & | end | |||
) | [inline] |
.end).
Este constructor instancia un mapeo con elementos iniciales copiados del contenedor asociado los iteradores beg y end.
[in] | beg | iterador posicionado en el primer elemento del contenedor a copiar. |
[in] | end | iterador posicionado en el último más un elemento del contenedor a copiar. |
domain_error | si los iteradores beg y end no están asociados al mismo contenedor. | |
bad_alloc | si no hay suficiente memoria. |
size_type count | ( | const Key & | key | ) | [inline] |
.end).
erase(beg,end) borra eficientemente todos los elementos del mapeo delimitados por los iteradores beg y end.
[in] | beg | iterador posicionado sobre el elemento inicio del rango. |
[in] | end | iterador posicionado sobre el último más un elemento del rango. |
domain_error | si los iteradores beg y end no están asociados a this. |
Definición en la línea 700 del archivo Map.H.
Hace referencia a Aleph::destroyRec(), y map::iterator::itor.
void erase | ( | iterator | pos | ) | [inline] |
erase(pos) borra del mapeo el elemento correspondiente al valor actual del iterador pos.
[in] | pos | iterador cuyo valor actual será borrado. |
domain_error | si el iterador no está asociado al mapeo this. | |
underflow_error | si el iterador está desbordado por la izquierda. | |
overflow_error | si el iterador está desbordado por la derecha. |
Definición en la línea 682 del archivo Map.H.
Hace referencia a map::erase(), map::iterator::itor, y KEY.
size_type erase | ( | const Key & | key | ) | [inline] |
erase(key) borra el elemento key del mapeo.
[in] | key | valor del elemento a borrar. |
Definición en la línea 657 del archivo Map.H.
Referenciado por map::erase().
iterator find | ( | const Key & | key | ) | [inline] |
find(key) busca el elemento key en el mapeo. Si éste es encontrado, entonces se retorna un iterador posicionado sobre el elemento del mapeo cuyo valor es key; de lo contrario, se retorna un iterador desbordado.
[in] | key | valor a buscar dentro del mapeo. |
Definición en la línea 503 del archivo Map.H.
Hace referencia a map::end().
void insert | ( | Itor | beg, | |
const Itor & | end | |||
) | [inline] |
.end).
insert(beg,end) toma un rango de elementos de un contenedor (set, map, multiset, multimap, list o vector) asociados a los iteradores beg y end, e inserta todos los elementos del rango en el mapeo this.
[in] | beg | iterador posicionado sobre el elemento inicio del rango. |
[in] | end | iterador posicionado sobre el último más un elemento final del rango. |
domain_error | si los iteradores beg y end no están asociados al mismo contenedor. | |
bad_alloc | si no hay suficiente memoria. |
Definición en la línea 640 del archivo Map.H.
Hace referencia a map::insert().
insert(pos, key) inserta en el mapeo this una copia del elemento key y retorna un par con un iterador posicionado según la inserción y un valor lógico que indica si la inserción fue o no exitosa.
En realidad, el iterador es irrelevante en el caso de set<T>, pues no se admiten duplicidades. Este esquema de inserción tiene sentido en multiset y multimap. Se provee por razones de compatibilidad y economía de código.
[in] | pos | iterador a partir del cual se desea realizar la inserción; no aplica para set<T> porque no se permiten claves repetidas. |
[in] | key | valor a insertar en el mapeo. |
bad_alloc | si no hay suficiente memoria. |
insert(key) inserta en el mapeo this una copia del elemento key y retorna un par con un iterador posicionado según la inserción y un valor lógico que indica si la inserción fue o no exitosa.
[in] | key | valor a insertar en el mapeo. |
bad_alloc | si no hay suficiente memoria. |
Definición en la línea 574 del archivo Map.H.
Referenciado por map::insert().