# std::map<Key,T,Compare,Allocator>::value_compare

From cppreference.com
< cpp‎ | container‎ | map

class value_compare; |  |

`std::map::value_compare` is a function object that compares objects of type `std::map::value_type` (key-value pairs) by comparing of the first components of the pairs.

### Member types
Type | Definition
`result_type`(deprecated in C++17) | `bool`
`first_argument_type`(deprecated in C++17) | `value_type`
`second_argument_type`(deprecated in C++17) | `value_type`
| (until C++20)

### Protected member objects

Compare comp | the stored comparator (protected member object)

### Member functions

(constructor) | constructs a new `value_compare` object (protected member function)
operator() | compares two values of type `value_type` (public member function)

## std::map<Key,T,Compare,Alloc>::value_compare::value_compare

protected: value_compare( Compare c ); |  |

Initializes the internal instance of the comparator to `c`.

### Parameters

c | - | comparator to assign

## std::map<Key,T,Compare,Alloc>::value_compare::operator()

bool operator()( const value_type& lhs, const value_type& rhs ) const; |  |

Compares `lhs.first` and `rhs.first` by calling the stored comparator.

### Parameters

lhs, rhs | - | values to compare

### Return value

comp(lhs.first, rhs.first).

### Exceptions

(none)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/container/map/value_compare&oldid=50573"