aboutsummaryrefslogtreecommitdiff
path: root/source/20-codegen-compiler/test/examples/TestEnum.hpp.txt
blob: 132bac04dd21df0b790fcc867007c04bebd76f5c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
enum MyEnum {
	BRUSSEL_ENUM(ToString, FromString)
	EnumElement1,
	EnumElement2,
	EnumElement3,
};

// Let's also test enum class
enum class CountedEnumAll {
	BRUSSEL_ENUM(ToString, FromString)
	CEA_Foo,
	CEA_Bar,
	CEA_COUNT,
};

enum CountedEnum : unsigned short int {
	BRUSSEL_ENUM(ToString, FromString, RemovePrefix CE_, AddPrefix CustomPrefix, ExcludeHeuristics)
	CE_Foo,
	CE_Bar,
	CE_FooBar,
	CE_COUNT,
};

namespace MyNamespace {
	enum class MyNamespacedEnum {
		BRUSSEL_ENUM(ToString, FromString, ExcludeHeuristics)
		MNE_Foo,
		MNE_Bar,
	};

	namespace details {
		enum MyNamespacedEnum {
			BRUSSEL_ENUM(ToString, FromString, ExcludeHeuristics)
			MNE_Foo,
			MNE_Bar,
		};
	}
}

namespace foo::details {
	enum Enum {
		BRUSSEL_ENUM(ToString, FromString, ExcludeHeuristics)
	};
}