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 (678B)


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