unordered_multiset::unordered_multiset
Construye un objeto contenedor.
unordered_multiset(
const unordered_multiset& Right
);
explicit unordered_multiset(
size_type Bucket_count = N0,
const Hash& Hash = Hash(),
const Comp& Comp = Comp(),
const Allocator& Al = Alloc()
);
unordered_multiset(
unordered_multiset&& Right
);
unordered_set(
initializer_list<Type> IList
);
unordered_set(
initializer_list<Typ > IList,
size_type Bucket_count
);
unordered_set(
initializer_list<Type> IList,
size_type Bucket_count,
const Hash& Hash
);
unordered_set(
initializer_list<Type> IList,
size_type Bucket_count,
const Hash& Hash,
const Key& Key
);
unordered_set(
initializer_list<Type> IList,
size_type Bucket_count,
const Hash& Hash,
const Key& Key,
const Allocator& Al
);
template<class InputIterator>
unordered_multiset(
InputIterator First,
InputIterator Last,
size_type Bucket_count = N0,
const Hash& Hash = Hash(),
const Comp& Comp = Comp(),
const Allocator& Al = Alloc()
);
Parámetros
Parámetro |
Descripción |
InputIterator |
Tipo de iterador. |
Al |
Objeto de asignador que se va a almacenar. |
Comp |
Objeto de función de comparación que se va a almacenar. |
Hash |
Objeto de función hash que se va a almacenar. |
Bucket_count |
Número mínimo de depósitos. |
Right |
Contenedor que se va a copiar. |
IList |
initializer_list de la que se va a copiar. |
Comentarios
El primer constructor especifica una copia de la secuencia controlada por Right. El segundo constructor especifica una secuencia controlada vacía. El tercer constructor inserta la secuencia de valores de elemento [First, Last). El cuarto constructor especifica una copia de la secuencia moviendo Right.
Todos los constructores también inicializan varios valores almacenados. Para el constructor de copias, los valores se obtienen de Right. De lo contrario:
El número mínimo de depósitos es el argumento Bucket_count, si está presente; de lo contrario, es un valor predeterminado descrito aquí como el valor N0 definido por la implementación.
El objeto de función hash es el argumento Hash, si está presente; de lo contrario, es Hash().
El objeto de función de comparación es el argumento Comp, si está presente; de lo contrario, es Comp().
El objeto de asignador es el argumento Al, si está presente; de lo contrario, es Alloc().
Ejemplo
Código
/ std_tr1__unordered_set__unordered_multiset_construct.cpp
// compile with: /EHsc
#include <unordered_set>
#include <iostream>
using namespace std;
typedef unordered_multiset<char> Myset;
int main()
{
Myset c1;
c1.insert('a');
c1.insert('b');
c1.insert('c');
// display contents " [c] [b] [a]"
for (auto& c : c1) {
cout << " [" << c << "]";
}
cout << endl;
Myset c2(8,
hash<char>(),
equal_to<char>(),
allocator<pair<const char, int> >());
c2.insert('d');
c2.insert('e');
c2.insert('f');
// display contents " [f] [e] [d]"
for (auto& c : c2) {
cout << " [" << c << "]";
}
cout << endl;
Myset c3(c1.begin(),
c1.end(),
8,
hash<char>(),
equal_to<char>(),
allocator<pair<const char, int> >());
// display contents " [c] [b] [a]"
for (auto& c : c3) {
cout << " [" << c << "]";
}
cout << endl;
Myset c4(move(c3));
// display contents " [c] [b] [a]"
for (auto& c : c4) {
cout << " [" << c << "]";
}
cout << endl;
Myset c5{ { 'g', 'h' } };
for (auto& c : c5) {
cout << " [" << c << "]";
}
cout << endl;
}
// std_tr1__unordered_set__unordered_multiset_construct.cpp
// compile with: /EHsc
#include <unordered_set>
#include <iostream>
typedef std::unordered_multiset<char> Myset;
int main()
{
Myset c1;
c1.insert('a');
c1.insert('b');
c1.insert('c');
// display contents " [c] [b] [a]"
for (Myset::const_iterator it = c1.begin();
it != c1.end(); ++it)
std::cout << " [" << *it << "]";
std::cout << std::endl;
Myset c2(8,
std::hash<char>(),
std::equal_to<char>(),
std::allocator<std::pair<const char, int> >());
c2.insert('d');
c2.insert('e');
c2.insert('f');
// display contents " [f] [e] [d]"
for (Myset::const_iterator it = c2.begin();
it != c2.end(); ++it)
std::cout << " [" << *it << "]";
std::cout << std::endl;
Myset c3(c1.begin(),
c1.end(),
8,
std::hash<char>(),
std::equal_to<char>(),
std::allocator<std::pair<const char, int> >());
// display contents " [c] [b] [a]"
for (Myset::const_iterator it = c3.begin();
it != c3.end(); ++it)
std::cout << " [" << *it << "]";
std::cout << std::endl;
Myset c4(std::move(c3));
// display contents " [c] [b] [a]"
for (Myset::const_iterator it = c3.begin();
it != c3.end(); ++it)
std::cout << " [" << *it << "]";
std::cout << std::endl;
return (0);
}
Resultados
[a] [b] [c]
[d] [e] [f]
[a] [b] [c]
[a] [b] [c]
[g] [h]
Requisitos
Encabezado: <unordered_set>
Espacio de nombres: std