based

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

is_const_test.cpp (1381B)


0 #define CATCH_CONFIG_RUNTIME_STATIC_REQUIRE
2 #include <catch2/catch_test_macros.hpp>
4 #include "based/trait/is/const.hpp"
6 TEST_CASE("is_const", "[trait/is_const]")
7 {
8 // clang-format off
9 struct test {};
11 // NOLINTBEGIN(*array*)
12 STATIC_REQUIRE(!based::is_const_v<int>);
13 STATIC_REQUIRE(!based::is_const_v<int&>);
14 STATIC_REQUIRE(!based::is_const_v<int&&>);
15 STATIC_REQUIRE(!based::is_const_v<int[2]>);
16 STATIC_REQUIRE(!based::is_const_v<int(&)[2]>);
17 STATIC_REQUIRE(!based::is_const_v<int(&&)[2]>);
18 STATIC_REQUIRE(based::is_const_v<const int>);
19 STATIC_REQUIRE(!based::is_const_v<const int&>);
20 STATIC_REQUIRE(based::is_const_v<const int[2]>);
21 STATIC_REQUIRE(!based::is_const_v<const int(&)[2]>);
22 STATIC_REQUIRE(!based::is_const_v<int(int)>);
23 STATIC_REQUIRE(!based::is_const_v<volatile int>);
24 STATIC_REQUIRE(!based::is_const_v<volatile int&>);
25 STATIC_REQUIRE(!based::is_const_v<volatile int&&>);
26 STATIC_REQUIRE(!based::is_const_v<volatile int[2]>);
27 STATIC_REQUIRE(!based::is_const_v<volatile int(&)[2]>);
28 STATIC_REQUIRE(!based::is_const_v<volatile int(&&)[2]>);
29 STATIC_REQUIRE(based::is_const_v<const volatile int>);
30 STATIC_REQUIRE(!based::is_const_v<const volatile int&>);
31 STATIC_REQUIRE(based::is_const_v<const volatile int[2]>);
32 STATIC_REQUIRE(!based::is_const_v<const volatile int(&)[2]>);
33 // clang-format on
34 // NOLINTEND(*array*)
35 }