based

Opinionated utility library
git clone git://git.dimitrijedobrota.com/based.git
Log | Files | Refs | README | LICENSE | HACKING | CONTRIBUTING | CODE_OF_CONDUCT | BUILDING

is_class_test.cpp (721B)


0 #define CATCH_CONFIG_RUNTIME_STATIC_REQUIRE
2 #include "based/concept/is_class.hpp"
4 #include <catch2/catch_test_macros.hpp>
6 TEST_CASE("IsClass", "[concept/IsClass]")
7 {
8 // clang-format off
9 struct A {};
10 class B {};
11 enum class e {};
12 union u { class Uc {}; };
14 STATIC_REQUIRE(based::trait::IsClass<A>);
15 STATIC_REQUIRE(based::trait::IsClass<B>);
16 STATIC_REQUIRE(based::trait::IsClass<const B>);
17 STATIC_REQUIRE(based::trait::IsClass<u::Uc>);
18 STATIC_REQUIRE(not based::trait::IsClass<B&>);
19 STATIC_REQUIRE(not based::trait::IsClass<B*>);
20 STATIC_REQUIRE(not based::trait::IsClass<e>);
21 STATIC_REQUIRE(not based::trait::IsClass<int>);
22 STATIC_REQUIRE(not based::trait::IsClass<u>);
23 // clang-format on
24 }