xtd 0.2.0
parse_enum_class.cpp

Shows how to use format xtd::parse<num class> method with enum class values.

#include <xtd/console>
#include <xtd/enum_class>
#include <xtd/parse>
using namespace xtd;
enum_class_(, week_day,
monday,
tuesday,
wednesday,
thursday,
friday,
saturday,
sunday
);
auto main()->int {
auto wd1 = parse<week_day>("wednesday");
auto wd2 = enum_object<>::parse<week_day>("WEDNESDAY", true);
auto wd3 = parse<week_day>("2");
try {
auto wd4 = parse<week_day>("january");
} catch (const system_exception& e) {
console::write_line("Exception : {}", e.message());
}
}
// This code produces the following output :
//
// wednesday
// wednesday
// wednesday
// Exception : invalid character found