Compile with `c++ -std=c++=20 main.cpp`. Tests the spaceship operator. {{{c++ #include #include #include int str_to_int(const char* s) { int ret; std::basic_istringstream is(s); is >> ret; return ret; } int main(int argc, char* argv[]) { if (argc < 3) { std::cerr << "Give at least 2 arguments" << std::endl; return 1; } int a, b; a = str_to_int(argv[1]); b = str_to_int(argv[2]); std::cout << a << " <=> " << b << std::endl; std::strong_ordering result = a <=> b; if (std::is_lt(result)) { std::cout << "LT"; } else if (std::is_gt(result)) { std::cout << "GT"; } else if (std::is_eq(result)) { std::cout << "EQ"; } else { std::cout << "error"; } std::cout << std::endl; return 0; } }}}