C++ multimap::operator==() Function



The C++ std::multimap::operator==() function is used to compare two multimaps equality. Two multimaps are considered equal if they have the same number of elements, and each corresponding element pair is equal. It iterates through both multimaps, checking key-value pair in order. If all pairs match, the function returns true, otherwise it returns false. The time complexity of this function is linear i.e. O(n).

Syntax

Following is the syntax for std::multimap::operator==() function.

bool operator==( const std::multimap<Key, T, Compare, Alloc>& lhs,
                 const std::multimap<Key, T, Compare, Alloc>& rhs );

Parameters

  • lhs − It indicates the first multimap object.
  • rhs − It indicates the second multimap object.

Return value

This function returns true if both mutlimap are equal otherwise false.

Example

Let's look at the following example, where we are going to demonstrate the usage of operator==() function.

#include <iostream>
#include <map>
int main()
{
    std::multimap<int, char> a = {{1, 'A'}, {2, 'B'}};
    std::multimap<int, char> b = {{1, 'A'}, {2, 'B'}};
    if (a == b) {
        std::cout << "Multimaps are equal." << std::endl;
    } else {
        std::cout << "Multimaps are not equal." << std::endl;
    }
    return 0;
}

Output

Output of the above code is as follows −

Multimaps are equal.

Example

Consider the following example, where we are going to consider the multimaps of different size and applying the operator==() function.

#include <iostream>
#include <map>
int main() {
    std::multimap<int, char> a = {{1, 'A'}, {2, 'B'}};
    std::multimap<int, char> b = {{1, 'A'}, {2, 'B'}, {2, 'C'}};
    if (a == b) {
        std::cout << "Multimaps are equal." << std::endl;
    } else {
        std::cout << "Multimaps are not equal." << std::endl;
    }
    return 0;
}

Output

Following is the output of the above code −

Multimaps are not equal.

Example

In the following example, we are going to provide the different values for same key and applying the operator==() function.

#include <iostream>
#include <map>
int main()
{
    std::multimap<int, char> a = {{1, 'A'}, {2, 'C'}};
    std::multimap<int, char> b = {{1, 'A'}, {2, 'E'}};
    if (a == b) {
        std::cout << "Multimaps are equal." << std::endl;
    } else {
        std::cout << "Multimaps are not equal." << std::endl;
    }
    return 0;
}

Output

If we run the above code it will generate the following output −

Multimaps are not equal.
multimap.htm
Advertisements