lst-0087-godb.cpp
//#(compile) c++; compiler:g141; options:-O3 -std=c++23; libs:-
// https://godbolt.org/z/TdEnhKxGK
#include <map>
struct Number {
int value_ = 0;
explicit Number(int v) : value_{v} {}
};
bool operator<(const Number& left, const Number& right) {
return left.value_ < right.value_;
}
int main() {
std::map<Number,int> numbers{}; // okay
numbers.insert( std::make_pair(Number{4},100) ); // needs operator<
numbers[Number{5}] = 200; // here as well
}