//#(compile) c++; compiler:g132; options:-O3 -std=c++23; libs:-
// https://godbolt.org/z/a3cnTn3zz
#include <iostream>
#include <set>
#include <string>
struct Dwarf {
std::string name;
int height;
auto operator<=>(const Dwarf& other) const {
return height <=> other.height;
}
};
int main() {
std::set<Dwarf> dwarves {
{"Thorin", 140}, {"Balin", 136}, {"Kili", 138},
{"Dwalin", 139}, {"Oin", 135}, {"Gloin", 137},
};
for(auto &d: dwarves) {
std::cout << d.name << ' ';
} // Ausgabe: Oin Balin Kili Gloin Dwalin Thorin
}