Partager via


operator== (unordered_multiset)

Tests whether the unordered_multiset object on the left side of the operator is equal to the unordered_multiset object on the right side.

bool operator==( 
   const unordered_multiset <Key, Hash, Pred, Allocator>& _Left, 
   const unordered_multiset <Key, Hash, Pred, Allocator>& _Right 
);

Parameters

  • _Left
    An object of type unordered_multiset.

  • _Right
    An object of type unordered_multiset.

Return Value

true if the unordered_multisets are equal; false if they are not equal.

Remarks

The comparison between unordered_multiset objects is not affected by the arbitrary order in which they store their elements. Two unordered_multisets are equal if they have the same number of elements and the elements in one container are a permutation of the elements in the other container. Otherwise, they are unequal.

Example

// unordered_multiset_eq.cpp 
// compile by using: cl.exe /EHsc /nologo /W4 /MTd 
#include <unordered_set> 
#include <iostream> 
#include <ios>

int main() 
{ 
    using namespace std;

    unordered_multiset<char> c1, c2, c3;

    c1.insert('a'); 
    c1.insert('b'); 
    c1.insert('c'); 
    c1.insert('c'); 

    c2.insert('c'); 
    c2.insert('c'); 
    c2.insert('a'); 
    c2.insert('d'); 

    c3.insert('c'); 
    c3.insert('c'); 
    c3.insert('a'); 
    c3.insert('b'); 

   cout << boolalpha;
   cout << "c1 == c2: " << (c1 == c2) << endl; 
   cout << "c1 == c3: " << (c1 == c3) << endl; 
   cout << "c2 == c3: " << (c2 == c3) << endl; 

    return (0); 
} 

Output:

c1 == c2: false

c1 == c3: true

c2 == c3: false

Requirements

Header: <unordered_set>

Namespace: std

See Also

Reference

Standard Template Library