41 void TypelistTest::testHasTypeTrue ()
43 static_assert (HasType<struct Foo> (Typelist<struct Bar, struct Baz, struct Foo> {}),
"test failed");
46 void TypelistTest::testHasTypeFalse ()
48 static_assert (!HasType<struct Foo> (Typelist<struct Bar, struct Baz, struct Qux> {}),
"test failed");
52 using IsVoid_t = std::is_same<T, void>;
54 void TypelistTest::testFilter ()
56 using List_t = Typelist<struct Foo, struct Bar, void, void, int, double, void>;
57 using Expected_t = Typelist<struct Foo, struct Bar, int, double>;
58 using Removed_t = Typelist<void, void, void>;
60 static_assert (std::is_same<Removed_t, Filter_t<IsVoid_t, List_t>>::value,
"test failed");
61 static_assert (std::is_same<Expected_t, Filter_t<Not<IsVoid_t>::Result_t, List_t>>::value,
"test failed");