xtd 0.2.0
Loading...
Searching...
No Matches
enum.h
Go to the documentation of this file.
1
4#pragma once
5#include "enum_attribute.h"
6#include "enum_collection.h"
7#include "enum_object.h"
8#include "enum_register.h"
10#include "flags_attribute.h"
11
28#define enum_ut_(namespace_name, enum_t, underlying_t, ...) \
29 namespace namespace_name {enum enum_t : underlying_t {__VA_ARGS__};} \
30 __enum_introspection__(namespace_name, enum_t, underlying_t, __VA_ARGS__) \
31 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__);}}
32
48#define enum_(namespace_name, enum_t, ...) \
49 enum_ut_(namespace_name, enum_t, xtd::int32, __VA_ARGS__)
50
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.