Show how to use format xtd::format class with enum classes.
#include <xtd/enum_class>
#include <xtd/ustring>
using namespace std;
enum class week_day {
};
explicit operator auto()
const noexcept {
return xtd::enum_collection<week_day> {{week_day::monday,
"monday"}, {week_day::tuesday,
"tuesday"}, {week_day::wednesday,
"wednesday"}, {week_day::thursday,
"thursday"}, {week_day::friday,
"friday"}, {week_day::saturday,
"saturday"}, {week_day::sunday,
"sunday"}};}
};
auto main()->int {
cout << ustring::format("{}", week_day::saturday) << endl;
cout << ustring::format("0b{:b}", week_day::saturday) << endl;
cout << ustring::format("0b{:B}", week_day::saturday) << endl;
cout << ustring::format("{:d}", week_day::saturday) << endl;
cout << ustring::format("{:D}", week_day::saturday) << endl;
cout << ustring::format("{:g}", week_day::saturday) << endl;
cout << ustring::format("{:G}", week_day::saturday) << endl;
cout << ustring::format("0{:o}", week_day::saturday) << endl;
cout << ustring::format("0{:O}", week_day::saturday) << endl;
cout << ustring::format("0x{:x}", week_day::saturday) << endl;
cout << ustring::format("0x{:X}", week_day::saturday) << endl;
}