20 void TypelistTest::testHasTypeTrue ()
22 static_assert (HasType<struct Foo> (Typelist<struct Bar, struct Baz, struct Foo> {}),
"test failed");
25 void TypelistTest::testHasTypeFalse ()
27 static_assert (!HasType<struct Foo> (Typelist<struct Bar, struct Baz, struct Qux> {}),
"test failed");
31 using IsVoid_t = std::is_same<T, void>;
33 void TypelistTest::testFilter ()
35 using List_t = Typelist<struct Foo, struct Bar, void, void, int, double, void>;
36 using Expected_t = Typelist<struct Foo, struct Bar, int, double>;
37 using Removed_t = Typelist<void, void, void>;
39 static_assert (std::is_same<Removed_t, Filter_t<IsVoid_t, List_t>>::value,
"test failed");
40 static_assert (std::is_same<Expected_t, Filter_t<Not<IsVoid_t>::Result_t, List_t>>::value,
"test failed");