Partager via


unordered_multiset::unordered_multiset

Construit un objet container.

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()
    );

Paramètres

Paramètre

Description

InputIterator

Type d'itérateur.

Al

L'objet d'allocation à enregistrer.

Comp

L'objet de fonction de comparaison à enregistrer.

Hash

L'objet de fonction de hachage à enregistrer.

Bucket_count

Le nombre minimal de compartiments.

Right

Le conteneur à copier.

IList

Le initializer_list depuis lequel copier.

Notes

Le premier constructeur spécifie une copie de la séquence contrôlée par Right. Le deuxième constructeur spécifie une séquence contrôlée vide. Le troisième constructeur insère la séquence de valeurs d'élément [First, Last). Le quatrième constructeur spécifie une copie de la séquence en déplaçant Right.

Tous les constructeurs initialisent également plusieurs valeurs stockées. Pour le constructeur de copie, les valeurs sont obtenues à partir de Right. Sinon :

Le nombre minimal de compartiments est l'argument Bucket_count, le cas échéant ; sinon c'est une valeur par défaut décrite ici comme valeur implémentation définie N0.

L'objet de fonction de hachage est l'argument Hash, s'il existe ; sinon c'est Hash().

L'objet de fonction de comparaison est l'argument Comp, s'il existe ; sinon c'est Comp().

L'objet d'allocation est l'argument Al, le cas échéant ; sinon, il est Alloc().

Exemple 

Code

/ 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); 
    } 
 

Sortie

[a] [b] [c]
 [d] [e] [f]
 [a] [b] [c]
 [a] [b] [c]
 [g] [h]

Configuration requise

Header: <unordered_set>

Espace de noms : std

Voir aussi

Référence

<unordered_set>

unordered_multiset, classe

Autres ressources

<unordered_set> membres