template<typename enum_t>
struct xtd::enum_register< enum_t >
Provides the registration struct for enumerations.
template<typename enum_t>
Provides the registration struct for enumerations.
Definition enum_register.hpp:38
- Header
#include <xtd/enum_register>
- Namespace
- xtd
- Library
- xtd.core
- Examples
- The following code show how to use xtd::enum_register operator for an enum.
#include <xtd/as>
#include <xtd/console>
#include <xtd/enum_class>
enum class enum_test {
value_one,
value_two,
value_three,
value_four
};
explicit operator auto()
const noexcept {
return xtd::enum_collection<enum_test> {{enum_test::value_one,
"value_one"}, {enum_test::value_two,
"value_two"}, {enum_test::value_three,
"value_three"}, {enum_test::value_four,
"value_four"}};}
};
auto main() -> int {
}
static void write_line()
Writes the current line terminator to the standard output stream using the specified format informati...
Provides the base class for enumerations.
Definition enum_object.hpp:42
std::vector< xtd::collections::generic::key_value_pair< enum_t, xtd::string > > enum_collection
Represents a pair of an enum_t value and a string of an enum of type enum_t.
Definition enum_collection.hpp:22
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.hpp:10
The following code show how to use xtd::enum_register operator for an enum flags. #include <xtd/as>
#include <xtd/console>
#include <xtd/enum_class>
enum class text_attribute {
bold = 0b1,
italic = 0b10,
underline = 0b100,
strikeout = 0b1000
};
text_attribute operator|(text_attribute lhs, text_attribute rhs) {return static_cast<text_attribute>(static_cast<std::underlying_type<text_attribute>::type>(lhs) | static_cast<std::underlying_type<text_attribute>::type>(rhs));}
};
explicit operator auto()
const noexcept {
return xtd::enum_collection<text_attribute> {{text_attribute::normal,
"normal"}, {text_attribute::bold,
"bold"}, {text_attribute::italic,
"italic"}, {text_attribute::underline,
"underline"}, {text_attribute::strikeout,
"strikeout"}};}
};
auto main() -> int {
}
@ flags
Enum flags attribute.
@ normal
Represent the exit mode when the terminates normally (via xtd::environment::exit or returning from th...
Provides the set attribute struct for enumerations.
Definition enum_set_attribute.hpp:31
- Examples
- enum_class_flags_without_helpers.cpp, enum_class_without_helper.cpp, format_enum.cpp, format_enum_class.cpp, format_enum_class_flags.cpp, format_enum_class_flags_without_helper.cpp, sprintf_enum.cpp, and sprintf_enum_class.cpp.