xtd 0.2.0
Loading...
Searching...
No Matches
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");
console::write_line(wd1);
auto wd2 = enum_object<>::parse<week_day>("WEDNESDAY", true);
console::write_line(wd2);
auto wd3 = parse<week_day>("2");
console::write_line(wd3);
try {
auto wd4 = parse<week_day>("january");
console::write_line(wd4);
} catch (const system_exception& e) {
console::write_line("Exception : {}", e.message());
}
}
// This code produces the following output :
//
// wednesday
// wednesday
// wednesday
// Exception : invalid character found
Provides the base class for enumerations.
Definition enum_object.hpp:42
The exception that is thrown when a method call is invalid for the object's current state.
Definition system_exception.hpp:18
#define enum_class_(namespace_name, enum_class_t,...)
Provides the registration struct for enum class.
Definition enum_class.hpp:52
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.hpp:10