9 enum_bool_case1
= false,
10 enum_bool_case2
= true,
13 enum class ScopedEnum
{
14 scoped_enum_case1
= 1,
15 scoped_enum_case2
= 2,
18 enum class ScopedCharEnum
: char {
23 enum class ScopedLongLongEnum
: long long {
24 case0
= std::numeric_limits
<long long>::min(),
26 case2
= std::numeric_limits
<long long>::max(),
30 const static int int_val
= 1;
31 const static int int_val_with_address
= 2;
32 const static bool bool_val
= true;
34 const static auto char_max
= std::numeric_limits
<char>::max();
35 const static auto schar_max
= std::numeric_limits
<signed char>::max();
36 const static auto uchar_max
= std::numeric_limits
<unsigned char>::max();
37 const static auto int_max
= std::numeric_limits
<int>::max();
38 const static auto uint_max
= std::numeric_limits
<unsigned>::max();
39 const static auto long_max
= std::numeric_limits
<long>::max();
40 const static auto ulong_max
= std::numeric_limits
<unsigned long>::max();
41 const static auto longlong_max
= std::numeric_limits
<long long>::max();
42 const static auto ulonglong_max
=
43 std::numeric_limits
<unsigned long long>::max();
44 const static auto wchar_max
= std::numeric_limits
<wchar_t>::max();
46 const static auto char_min
= std::numeric_limits
<char>::min();
47 const static auto schar_min
= std::numeric_limits
<signed char>::min();
48 const static auto uchar_min
= std::numeric_limits
<unsigned char>::min();
49 const static auto int_min
= std::numeric_limits
<int>::min();
50 const static auto uint_min
= std::numeric_limits
<unsigned>::min();
51 const static auto long_min
= std::numeric_limits
<long>::min();
52 const static auto ulong_min
= std::numeric_limits
<unsigned long>::min();
53 const static auto longlong_min
= std::numeric_limits
<long long>::min();
54 const static auto ulonglong_min
=
55 std::numeric_limits
<unsigned long long>::min();
56 const static auto wchar_min
= std::numeric_limits
<wchar_t>::min();
58 const static Enum enum_val
= enum_case2
;
59 const static EnumBool enum_bool_val
= enum_bool_case1
;
60 const static ScopedEnum scoped_enum_val
= ScopedEnum::scoped_enum_case2
;
61 const static ScopedEnum not_enumerator_scoped_enum_val
= static_cast<ScopedEnum
>(5);
62 const static ScopedEnum not_enumerator_scoped_enum_val_2
=
63 static_cast<ScopedEnum
>(7);
64 const static ScopedCharEnum scoped_char_enum_val
= ScopedCharEnum::case2
;
65 const static ScopedLongLongEnum scoped_ll_enum_val_neg
=
66 ScopedLongLongEnum::case0
;
67 const static ScopedLongLongEnum scoped_ll_enum_val
=
68 ScopedLongLongEnum::case2
;
71 const int A::int_val_with_address
;
73 struct ClassWithOnlyConstStatic
{
74 const static int member
= 3;
77 struct ClassWithConstexprs
{
78 constexpr static int member
= 2;
79 constexpr static Enum enum_val
= enum_case2
;
80 constexpr static ScopedEnum scoped_enum_val
= ScopedEnum::scoped_enum_case2
;
83 struct ClassWithEnumAlias
{
84 using EnumAlias
= ScopedEnum
;
85 static constexpr EnumAlias enum_alias
= ScopedEnum::scoped_enum_case2
;
87 using EnumAliasAlias
= EnumAlias
;
88 static constexpr EnumAliasAlias enum_alias_alias
=
89 ScopedEnum::scoped_enum_case1
;
95 auto char_max
= A::char_max
;
96 auto schar_max
= A::schar_max
;
97 auto uchar_max
= A::uchar_max
;
98 auto int_max
= A::int_max
;
99 auto uint_max
= A::uint_max
;
100 auto long_max
= A::long_max
;
101 auto ulong_max
= A::ulong_max
;
102 auto longlong_max
= A::longlong_max
;
103 auto ulonglong_max
= A::ulonglong_max
;
104 auto wchar_max
= A::wchar_max
;
106 auto char_min
= A::char_min
;
107 auto schar_min
= A::schar_min
;
108 auto uchar_min
= A::uchar_min
;
109 auto int_min
= A::int_min
;
110 auto uint_min
= A::uint_min
;
111 auto long_min
= A::long_min
;
112 auto ulong_min
= A::ulong_min
;
113 auto longlong_min
= A::longlong_min
;
114 auto ulonglong_min
= A::ulonglong_min
;
115 auto wchar_min
= A::wchar_min
;
117 int member_copy
= ClassWithOnlyConstStatic::member
;
119 Enum e
= A::enum_val
;
120 ScopedEnum se
= A::scoped_enum_val
;
121 se
= A::not_enumerator_scoped_enum_val
;
122 ScopedCharEnum sce
= A::scoped_char_enum_val
;
123 ScopedLongLongEnum sle
= A::scoped_ll_enum_val
;
125 auto enum_alias_val
= ClassWithEnumAlias::enum_alias
;
126 auto enum_alias_alias_val
= ClassWithEnumAlias::enum_alias_alias
;
128 return 0; // break here