19 {
20
22
23 constexpr bool v0 = Spices::is_pointer_v<int>;
24 constexpr bool v1 = Spices::is_pointer_v<const int>;
25 constexpr bool v2 = Spices::is_pointer_v<const int*>;
26 constexpr bool v3 = Spices::is_pointer_v<const int&>;
27 constexpr bool v4 = Spices::is_pointer_v<int const*>;
28 constexpr bool v5 = Spices::is_pointer_v<int*&>;
29 constexpr bool v6 = Spices::is_pointer_v<const int*&>;
30 constexpr bool v7 = Spices::is_pointer_v<int const* const&>;
31 constexpr bool v8 = Spices::is_pointer_v<const int const* const&>;
32 constexpr bool v9 = Spices::is_pointer_v<const int**>;
33 constexpr bool v10 = Spices::is_pointer_v<const int***>;
34 constexpr bool v11 = Spices::is_pointer_v<const int****>;
35
36 constexpr bool v12 = Spices::is_pointer_v<int IsPointerTest::*>;
37 constexpr bool v13 = Spices::is_pointer_v<const int IsPointerTest::*>;
38 constexpr bool v14 = Spices::is_pointer_v<const int* IsPointerTest::*>;
39 constexpr bool v15 = Spices::is_pointer_v<int const* IsPointerTest::*>;
40 constexpr bool v16 = Spices::is_pointer_v<const int** IsPointerTest::*>;
41 constexpr bool v17 = Spices::is_pointer_v<const int*** IsPointerTest::*>;
42 constexpr bool v18 = Spices::is_pointer_v<const int**** IsPointerTest::*>;
43
44 EXPECT_EQ(v0, false);
45 EXPECT_EQ(v1, false);
46 EXPECT_EQ(v2, true);
47 EXPECT_EQ(v3, false);
48 EXPECT_EQ(v4, true);
49 EXPECT_EQ(v5, false);
50 EXPECT_EQ(v6, false);
51 EXPECT_EQ(v7, false);
52 EXPECT_EQ(v8, false);
53 EXPECT_EQ(v9, true);
54 EXPECT_EQ(v10, true);
55 EXPECT_EQ(v11, true);
56
57 EXPECT_EQ(v12, false);
58 EXPECT_EQ(v13, false);
59 EXPECT_EQ(v14, true);
60 EXPECT_EQ(v15, true);
61 EXPECT_EQ(v16, true);
62 EXPECT_EQ(v17, true);
63 EXPECT_EQ(v18, true);
64 }
#define SPICESTEST_PROFILE_FUNCTION()