1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
#pragma once #include <optional> #include <string> namespace std { inline std::string to_string(const std::optional<bool> b) { if (!b) return "unset"; else if (*b) return "true"; else return "false"; } } std::ostream& operator<<(std::ostream& os, const std::optional<bool>& o);