C++ multimap :: operator< Function



The C++ std::multimap::operator<() function is used to compare two multimaps lexicographically based on their key-value pairs. The comparison uses the key-value pairs, where the keys are compared first, if the keys are equal, then the values are compared. It returns true if the first element in the first multimap is less than the corressponding element in the second multimap, 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 map object.
  • rhs − It indicates the second map object.

Return value

This function returns true if first map is less than second otherwise false.

Exceptions

This function doesn't throw exception.

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 the operator<() function.

#include <iostream>
#include <map>
using namespace std;
int main(void)
{
    multimap<char, int> m1;
    multimap<char, int> m2;
    m2.insert(pair<char, int>('a', 1));
    if (m1 < m2)
        cout << "m1 multimap is less than m2." << endl;
    m1 = m2;
    if (!(m1 < m2))
        cout << "m1 multimap is not less than m2." << endl;
    return 0;
}

Output

Following is the output of the above code −

m1 multimap is less than m2.
m1 multimap is not less than m2.
multimap.htm
Advertisements