41 {
42
44
45 {
47 auto field = traits(&FieldTraitsTest::a, "a");
48
49 EXPECT_EQ(field.
pointer, &FieldTraitsTest::a);
50 EXPECT_EQ(field.
offset, 0);
51 EXPECT_EQ(field.
name,
"a");
52
53 EXPECT_EQ(field.is_member(), true);
54 EXPECT_EQ(field.is_const(), false);
55 EXPECT_EQ(field.is_function(), true);
56 EXPECT_EQ(field.is_variable(), false);
57 EXPECT_EQ(field.param_count(), 2);
58 }
59
60 {
62 auto field = traits(&FieldTraitsTest::b, "b");
63
64 EXPECT_EQ(field.
pointer, &FieldTraitsTest::b);
65 EXPECT_EQ(field.
offset, 0);
66 EXPECT_EQ(field.
name,
"b");
67
68 EXPECT_EQ(field.is_member(), true);
69 EXPECT_EQ(field.is_const(), true);
70 EXPECT_EQ(field.is_function(), true);
71 EXPECT_EQ(field.is_variable(), false);
72 EXPECT_EQ(field.param_count(), 2);
73 }
74
75 {
77 auto field = traits(&FieldTraitsTest::c, "c");
78
79 EXPECT_EQ(field.
pointer, &FieldTraitsTest::c);
80 EXPECT_EQ(field.
offset, 0);
81 EXPECT_EQ(field.
name,
"c");
82
83 EXPECT_EQ(field.is_member(), false);
84 EXPECT_EQ(field.is_const(), false);
85 EXPECT_EQ(field.is_function(), true);
86 EXPECT_EQ(field.is_variable(), false);
87 EXPECT_EQ(field.param_count(), 2);
88 }
89
90 {
92 auto field = traits(&FieldTraitsTest::m_Name_a, "m_Name_a", offsetof(FieldTraitsTest, m_Name_a));
93
94 EXPECT_EQ(field.
pointer, &FieldTraitsTest::m_Name_a);
95 EXPECT_EQ(field.
offset, offsetof(FieldTraitsTest, m_Name_a));
96 EXPECT_EQ(field.
name,
"m_Name_a");
97
98 EXPECT_EQ(field.is_member(), true);
99 EXPECT_EQ(field.is_const(), false);
100 EXPECT_EQ(field.is_function(), false);
101 EXPECT_EQ(field.is_variable(), true);
102 }
103
104 {
106 auto field = traits(&FieldTraitsTest::m_Name_b, "m_Name_b", offsetof(FieldTraitsTest, m_Name_b));
107
108 EXPECT_EQ(field.
pointer, &FieldTraitsTest::m_Name_b);
109 EXPECT_EQ(field.
offset, offsetof(FieldTraitsTest, m_Name_b));
110 EXPECT_EQ(field.
name,
"m_Name_b");
111
112 EXPECT_EQ(field.is_member(), true);
113 EXPECT_EQ(field.is_const(), true);
114 EXPECT_EQ(field.is_function(), false);
115 EXPECT_EQ(field.is_variable(), true);
116 }
117
118 {
120 auto field = traits(&FieldTraitsTest::m_Name_c, "m_Name_c");
121
122 EXPECT_EQ(field.
pointer, &FieldTraitsTest::m_Name_c);
123 EXPECT_EQ(field.
offset, 0);
124 EXPECT_EQ(field.
name,
"m_Name_c");
125
126 EXPECT_EQ(field.is_member(), false);
127 EXPECT_EQ(field.is_const(), false);
128 EXPECT_EQ(field.is_function(), false);
129 EXPECT_EQ(field.is_variable(), true);
130 }
131 }
#define SPICESTEST_PROFILE_FUNCTION()
std::string_view name
Field Name.
size_t offset
Field offset.