operator==

template<class Key, class T, class Pred, class A>
    bool operator==(
        const map <Key, T, Pred, A>& lhs,
        const map <Key, T, Pred, A>& rhs);
template<class Key, class T, class Pred, class A>
    bool operator==(
        const multimap <Key, T, Pred, A>& lhs,
        const multimap <Key, T, Pred, A>& rhs);

The first template function overloads operator== to compare two objects of template class map. The second template function overloads operator== to compare two objects of template class multimap. Both functions return lhs.size() == rhs.size() && equal(lhs. begin(), lhs. end(), rhs.begin()).