C++ multimap::operator<= Function



The C++ std::multimap::operator<=() function is used to compare each element in both multimaps sequentially using their key-value pairs. If the first element in the first multimap is less than or equal to the corresponding element in the second multimap, it reutrns true, otherwise it returns false.

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 first multimap is less than or equal to second otherwise false.

Exceptions

It does not make any changes on container if exception is thrown.

Time complexity

The time complexity of this function is Linear i.e. O(n)

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, std::string> a = {{1, "AB"}, {2, "BC"}};
    std::multimap<int, std::string> b = {{1, "AB"}, {2, "CD"}};
    if (a <= b) {
        std::cout << "a is less than or equal to b." << std::endl;
    } else {
        std::cout << "a is greater than b." << std::endl;
    }
    return 0;
}

Output

Output of the above code is as follows −

a is less than or equal to b.

Example

Consider the another scenario, where we are going to compare the multimaps of different size and observing the output.

#include <iostream>
#include <map>
int main()
{
    std::multimap<int, std::string> a = {{1, "Hi"}, {2, "Hello"}};
    std::multimap<int, std::string> b = {{1, "AB"}};
    if (a <= b) {
        std::cout << "a is less than or equal to b." << std::endl;
    } else {
        std::cout << "a is greater than b." << std::endl;
    }
    return 0;
}

Output

Following is the output of the above code −

a is greater than b.

Example

In the following example, we are going to compare multimap with different key-value pairs.

#include <iostream>
#include <map>
int main()
{
    std::multimap<int, std::string> a = {{1, "AB"}, {2, "BC"}};
    std::multimap<int, std::string> b = {{1, "CD"}, {3, "DE"}};
    if (a <= b) {
        std::cout << "a is less than or equal to b." << std::endl;
    } else {
        std::cout << "a is greater than b." << std::endl;
    }
    return 0;
}

Output

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

a is less than or equal to b.
multimap.htm
Advertisements