xtd 0.2.0
Loading...
Searching...
No Matches
enum.hpp
Go to the documentation of this file.
1
4#pragma once
5#include "enum_attribute.hpp"
6#include "enum_collection.hpp"
7#include "enum_object.hpp"
8#include "enum_register.hpp"
10#include "flags_attribute.hpp"
11
30#define enum_ut_(namespace_name, enum_t, underlying_t, ...) \
31 namespace namespace_name {enum enum_t : underlying_t {__VA_ARGS__};} \
32 __enum_introspection__(namespace_name, enum_t, underlying_t, __VA_ARGS__) \
33 template<> struct xtd::enum_register<namespace_name::enum_t> {explicit operator auto() const {return __enum_definition_to_enum_collection__<namespace_name::enum_t>(#__VA_ARGS__);}}
34
52#define enum_(namespace_name, enum_t, ...) \
53 enum_ut_(namespace_name, enum_t, xtd::int32, __VA_ARGS__)
54
Contains xtd::enum_attribute enum class.
Contains xtd::enum_collection.
Contains xtd::enum_object.
Contains xtd::enum_register.
Contains xtd::enum_set_attribute strcut.
Contains flags_attribute_ keyword.