Share via


operator== (unordered_multimap)

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

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

Parameters

  • _Left
    An object of type unordered_multimap.

  • _Right
    An object of type unordered_multimap.

Return Value

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

Remarks

The comparison between unordered_multimap objects is not affected by the arbitrary order in which they store their elements. Two unordered_multimaps 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_multimap_op_eq.cpp
// compile by using: cl.exe /EHsc /nologo /W4 /MTd
#include <unordered_map>
#include <iostream>
#include <ios>

int main( )
{
   using namespace std;
   unordered_multimap<int, int> um1, um2, um3;
   
   for ( int i = 0 ; i < 3 ; ++i ) {
      um1.insert( make_pair( i, i ) );
      um1.insert( make_pair( i, i ) );

      um2.insert( make_pair( i, i ) );
      um2.insert( make_pair( i, i ) );
      um2.insert( make_pair( i, i ) );
      
      um3.insert( make_pair( i, i ) );
      um3.insert( make_pair( i, i ) );
   }

   cout << boolalpha;
   cout << "um1 == um2: " << (um1 == um2) << endl; 
   cout << "um1 == um3: " << (um1 == um3) << endl; 
   cout << "um2 == um3: " << (um2 == um3) << endl; 
}

Output:

um1 == um2: false

um1 == um3: true

um2 == um3: false

Requirements

Header: <unordered_map>

Namespace: std

See Also

Reference

Standard Template Library