Tipos públicos | |
typedef multiset::iterator | const_iterator |
Tipo iterador constante. | |
typedef const multiset::value_type & | const_reference |
Tipo genérico de referencia constante a elemento del conjunto. | |
typedef multiset::iterator | const_reverse_iterator |
Tipo iterador invertido constante. | |
typedef T | key_type |
El tipo dato de los elementos del conjunto. | |
typedef multiset::value_type & | reference |
Tipo genérico de referencia a elemento del conjunto. | |
typedef multiset::iterator | reverse_iterator |
Tipo iterador invertido. | |
typedef size_t | size_type |
Tipo numérico para los tamaños (natural). | |
typedef T | value_type |
El tipo dato de los elementos del conjunto. | |
Métodos públicos | |
iterator | begin () const |
Retorna un iterador posicionado al primer elemento del multi-conjunto. | |
void | clear () |
Borra todos los elementos del multi-conjunto. | |
size_type | count (const T &value) const |
Retorna la cantidad de instancias de value que hay dentro del multi-conjunto. | |
bool | empty () const |
Retorna true si el contenedor esta vacío. | |
iterator | end () const |
Retorna un iterador posicionado al último elemento del multi-conjunto. | |
iterator | erase (iterator beg, const iterator &end) |
Borra del multi-conjunto el rango comprendido por [beg. | |
void | erase (iterator pos) |
Borra del multi-conjunto el valor actual del iterador pos. | |
size_type | erase (const T &value) |
Borra del multi-conjunto todas las instancias de value. | |
iterator | find (const T &value) const |
Retorna un iterador posicionado sobre la primera instancia del elemento value en el multi-conjunto. | |
template<typename Itor> | |
void | insert (Itor beg, const Itor &end) |
Inserta en el multi-conjunto los elementos de un contenedor comprendidos en el rango [beg. | |
iterator | insert (iterator pos, const T &value) |
Inserta value en el multi-conjunto a partir del iterador pos. | |
iterator | insert (const T &value) |
Inserta value en el multi-conjunto. | |
iterator | lower_bound (const T &value) const |
Retorna un iterador posicionado sobre la primera instancia de value dentro de multi-conjunto. | |
template<typename Itor> | |
multiset (Itor beg, Itor end) | |
Instancia un multi-conjunto con los elementos comprendidos en el rango [beg. | |
multiset (const multiset &c) | |
Instancia una copia del multi-conjunto c. | |
multiset () | |
Constructor vacío de un multi-conjunto. | |
bool | operator!= (const multiset &c) const |
Retorna true si el multi-conjunto this no contiene exactamente los mismos elementos del multi-conjunto c. | |
bool | operator< (const multiset &c) const |
Retorna true si los elementos ordenados del multi-conjunto this son menores que los del multi-conjunto c. | |
bool | operator<= (const multiset &c) const |
Retorna true si los elementos ordenados del multi-conjunto this son menores o iguales que los del multi-conjunto c. | |
multiset & | operator= (const multiset &c) |
Asigna todo el contenido de c a this. | |
bool | operator== (const multiset &c) const |
Retorna true si el multi-conjunto this tiene exactamente los mismos elementos del multi-conjunto c. | |
bool | operator> (const multiset &c) const |
Retorna true si los elementos ordenados del multi-conjunto this son mayores que los del multi-conjunto c. | |
bool | operator>= (const multiset &c) const |
Retorna true si los elementos ordenados del multi-conjunto this son mayores o iguales que los del multi-conjunto c. | |
size_type | size () const |
Retorna la cantidad de elementos que contiene el multi-conjunto. | |
void | swap (multiset &c) |
Intercambia en tiempo constante todos los elementos de this con los de c. | |
iterator | upper_bound (const T &value) const |
Retorna un iterador posicionado sobre la última instancia de value dentro de multi-conjunto. | |
~multiset () | |
Destructor; todos los elementos son eliminados y la memoria es liberada. | |
Clases | |
class | iterator |
Iterador sobre un multi-conjunto (multiset). Más... |
multiset<T> implanta un conjunto de claves de tipo T en el cual se permiten repitencias.
T | el tipo de dato que almacenará el conjunto. | |
Compare | el criterio de comparación entre los elementos de tipo T. Por omisión se implanta T::operator<(const T&). | |
Tree | la clase de árbol binario de búsqueda con rangos que instrumentará el conjunto. Por omisión si usa Treap_Rk |
Definición en la línea 83 del archivo Multiset.H.
multiset | ( | Itor | beg, | |
Itor | end | |||
) | [inline] |
.end).
Este constructor instancia un multi-conjunto 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. |
Definición en la línea 539 del archivo Multiset.H.
Hace referencia a multiset::insert().
size_type count | ( | const T & | value | ) | const [inline] |
[in] | value | valor de clave a buscar. |
Definición en la línea 661 del archivo Multiset.H.
.end).
erase(beg,end) borra eficientemente todos los elementos del multi-conjunto 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 1018 del archivo Multiset.H.
void erase | ( | iterator | pos | ) | [inline] |
erase(pos) borra del conjunto 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 conjunto 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 969 del archivo Multiset.H.
Hace referencia a Dlink::del(), Dnode::get_data(), KEY, multiset::iterator::list_itor, y multiset::iterator::tree_itor.
size_type erase | ( | const T & | value | ) | [inline] |
erase(value) borra del multi-conjunto todas las instancias el elemento value.
[in] | value | valor del elemento a borrar. |
Definición en la línea 940 del archivo Multiset.H.
iterator find | ( | const T & | value | ) | const [inline] |
find(value) busca el elemento value en el multi-conjunto. Si éste es encontrado, entonces se retorna un iterador posicionado sobre el primer elemento del multi-conjunto con el valor en cuestión; de lo contrario, se retorna un iterador al elemento que antecedería a value si éste fuese insertado. Nótese que en este caso el elemento antecesor es el último entre los repetidos.
[in] | value | valor a buscar dentro del multi-conjunto. |
Definición en la línea 688 del archivo Multiset.H.
Hace referencia a multiset::end(), multiset::iterator::list_itor, y multiset::iterator::tree_itor.
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 conjunto 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 924 del archivo Multiset.H.
Hace referencia a multiset::insert().
insert(pos, value) inserta en el multi-conjunto this, a partir del elemento posicionado por el iterador pos.
Según el estándar, pos debe ser considerado una ayuda a la inserción que ahorre eventuales búsquedas. Esto es correcto en el caso de Aleph si el valor del elemento actual de pos es igual a value; en este caso, la inserción toma y value queda exactamente después del elemento actual de pos .
Si el valor del elemento actual de pos no es igual a value, entonces es inevitable una búsqueda -que toma - de value en el multi-conjunto. Si value ya se encuentra, entonces value se inserta al final de los elementos repetidos. mismo que value, entonces la inserción se realiza en
[in] | pos | iterador a partir del cual se desea realizar la inserción. |
[in] | value | valor a insertar en el multi-conjunto. |
bad_alloc | si no hay suficiente memoria. |
Definición en la línea 864 del archivo Multiset.H.
Hace referencia a multiset::insert(), KEY, multiset::iterator::list_itor, y multiset::iterator::tree_itor.
iterator insert | ( | const T & | value | ) | [inline] |
insert(value) inserta en el multi-conjunto this una copia del elemento value y iterador posicionado en el elemento recién insertado.
A menos que no halla suficiente memoria, esta operación no falla.
[in] | value | valor a insertar en el multi-conjunto. |
bad_alloc | si no hay suficiente memoria. |
Definición en la línea 799 del archivo Multiset.H.
Referenciado por multiset::insert(), y multiset::multiset().
iterator lower_bound | ( | const T & | value | ) | const [inline] |
lower_bound(value) busca el elemento value en el multi-conjunto. Si éste es encontrado, entonces se retorna un iterador posicionado sobre el primer elemento del multi-conjunto con el valor en cuestión; de lo contrario, se retorna un iterador desbordado al final del conjunto.
[in] | value | valor a buscar dentro del multi-conjunto. |
Definición en la línea 718 del archivo Multiset.H.
Hace referencia a multiset::end(), y multiset::size().
iterator upper_bound | ( | const T & | value | ) | const [inline] |
upper_bound(value) busca el elemento value en el multi-conjunto. Si éste es encontrado, entonces se retorna un iterador posicionado sobre el último elemento del multi-conjunto con el valor en cuestión; de lo contrario, se retorna un iterador desbordado al final del conjunto.
[in] | value | valor a buscar dentro del multi-conjunto. |
Definición en la línea 746 del archivo Multiset.H.
Hace referencia a multiset::end(), multiset::iterator::list_itor, y multiset::size().