Skip to content

Commit cd43985

Browse files
committed
ENH: replace itkStaticAssert by STL's static_assert
This is a follow-up to d3e151f.
1 parent 342845e commit cd43985

File tree

1 file changed

+44
-49
lines changed

1 file changed

+44
-49
lines changed

Modules/Core/Common/test/itkMetaProgrammingLibraryTest.cxx

Lines changed: 44 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -19,77 +19,72 @@
1919
#include <type_traits>
2020

2121
#include "itkMetaProgrammingLibrary.h"
22-
#include "itkStaticAssert.h"
2322

2423

2524
int
2625
itkMetaProgrammingLibraryTest(int, char *[])
2726
{
2827
using namespace itk::mpl;
2928

30-
#if !defined(ITK_LEGACY_REMOVE)
31-
3229
// Or between constants
33-
itkStaticAssert((OrC<true, true, true>::Value == true), "Unit test failed");
34-
itkStaticAssert((OrC<true, false, true>::Value == true), "Unit test failed");
35-
itkStaticAssert((OrC<true, true, false>::Value == true), "Unit test failed");
36-
itkStaticAssert((OrC<false, false, true>::Value == true), "Unit test failed");
37-
itkStaticAssert((OrC<true, false, false>::Value == true), "Unit test failed");
38-
itkStaticAssert((OrC<false, true, false>::Value == true), "Unit test failed");
39-
itkStaticAssert((OrC<false, false, false>::Value == false), "Unit test failed");
40-
41-
itkStaticAssert((OrC<true, true>::Value == true), "Unit test failed");
42-
itkStaticAssert((OrC<true, false>::Value == true), "Unit test failed");
43-
itkStaticAssert((OrC<false, true>::Value == true), "Unit test failed");
44-
itkStaticAssert((OrC<false, false>::Value == false), "Unit test failed");
30+
static_assert((OrC<true, true, true>::Value == true), "Unit test failed");
31+
static_assert((OrC<true, false, true>::Value == true), "Unit test failed");
32+
static_assert((OrC<true, true, false>::Value == true), "Unit test failed");
33+
static_assert((OrC<false, false, true>::Value == true), "Unit test failed");
34+
static_assert((OrC<true, false, false>::Value == true), "Unit test failed");
35+
static_assert((OrC<false, true, false>::Value == true), "Unit test failed");
36+
static_assert((OrC<false, false, false>::Value == false), "Unit test failed");
37+
38+
static_assert((OrC<true, true>::Value == true), "Unit test failed");
39+
static_assert((OrC<true, false>::Value == true), "Unit test failed");
40+
static_assert((OrC<false, true>::Value == true), "Unit test failed");
41+
static_assert((OrC<false, false>::Value == false), "Unit test failed");
4542

4643
// Or between types
47-
itkStaticAssert((std::is_same<Or<TrueType, TrueType, TrueType>::Type, TrueType>::value), "Unit test failed");
48-
itkStaticAssert((std::is_same<Or<TrueType, FalseType, TrueType>::Type, TrueType>::value), "Unit test failed");
49-
itkStaticAssert((std::is_same<Or<TrueType, TrueType, FalseType>::Type, TrueType>::value), "Unit test failed");
50-
itkStaticAssert((std::is_same<Or<FalseType, FalseType, TrueType>::Type, TrueType>::value), "Unit test failed");
51-
itkStaticAssert((std::is_same<Or<TrueType, FalseType, FalseType>::Type, TrueType>::value), "Unit test failed");
52-
itkStaticAssert((std::is_same<Or<FalseType, TrueType, FalseType>::Type, TrueType>::value), "Unit test failed");
53-
itkStaticAssert((std::is_same<Or<FalseType, FalseType, FalseType>::Type, FalseType>::value), "Unit test failed");
54-
55-
itkStaticAssert((std::is_same<Or<TrueType, TrueType>::Type, TrueType>::value), "Unit test failed");
56-
itkStaticAssert((std::is_same<Or<TrueType, FalseType>::Type, TrueType>::value), "Unit test failed");
57-
itkStaticAssert((std::is_same<Or<FalseType, TrueType>::Type, TrueType>::value), "Unit test failed");
58-
itkStaticAssert((std::is_same<Or<FalseType, FalseType>::Type, FalseType>::value), "Unit test failed");
44+
static_assert((std::is_same<Or<TrueType, TrueType, TrueType>::Type, TrueType>::value), "Unit test failed");
45+
static_assert((std::is_same<Or<TrueType, FalseType, TrueType>::Type, TrueType>::value), "Unit test failed");
46+
static_assert((std::is_same<Or<TrueType, TrueType, FalseType>::Type, TrueType>::value), "Unit test failed");
47+
static_assert((std::is_same<Or<FalseType, FalseType, TrueType>::Type, TrueType>::value), "Unit test failed");
48+
static_assert((std::is_same<Or<TrueType, FalseType, FalseType>::Type, TrueType>::value), "Unit test failed");
49+
static_assert((std::is_same<Or<FalseType, TrueType, FalseType>::Type, TrueType>::value), "Unit test failed");
50+
static_assert((std::is_same<Or<FalseType, FalseType, FalseType>::Type, FalseType>::value), "Unit test failed");
51+
52+
static_assert((std::is_same<Or<TrueType, TrueType>::Type, TrueType>::value), "Unit test failed");
53+
static_assert((std::is_same<Or<TrueType, FalseType>::Type, TrueType>::value), "Unit test failed");
54+
static_assert((std::is_same<Or<FalseType, TrueType>::Type, TrueType>::value), "Unit test failed");
55+
static_assert((std::is_same<Or<FalseType, FalseType>::Type, FalseType>::value), "Unit test failed");
5956

6057
// And between constants
61-
itkStaticAssert((AndC<true, true>::Value == true), "Unit test failed");
62-
itkStaticAssert((AndC<true, false>::Value == false), "Unit test failed");
63-
itkStaticAssert((AndC<false, true>::Value == false), "Unit test failed");
64-
itkStaticAssert((AndC<false, false>::Value == false), "Unit test failed");
58+
static_assert((AndC<true, true>::Value == true), "Unit test failed");
59+
static_assert((AndC<true, false>::Value == false), "Unit test failed");
60+
static_assert((AndC<false, true>::Value == false), "Unit test failed");
61+
static_assert((AndC<false, false>::Value == false), "Unit test failed");
6562

6663
// And between types
67-
itkStaticAssert((std::is_same<And<TrueType, TrueType>::Type, TrueType>::value), "Unit test failed");
68-
itkStaticAssert((std::is_same<And<TrueType, FalseType>::Type, FalseType>::value), "Unit test failed");
69-
itkStaticAssert((std::is_same<And<FalseType, TrueType>::Type, FalseType>::value), "Unit test failed");
70-
itkStaticAssert((std::is_same<And<FalseType, FalseType>::Type, FalseType>::value), "Unit test failed");
64+
static_assert((std::is_same<And<TrueType, TrueType>::Type, TrueType>::value), "Unit test failed");
65+
static_assert((std::is_same<And<TrueType, FalseType>::Type, FalseType>::value), "Unit test failed");
66+
static_assert((std::is_same<And<FalseType, TrueType>::Type, FalseType>::value), "Unit test failed");
67+
static_assert((std::is_same<And<FalseType, FalseType>::Type, FalseType>::value), "Unit test failed");
7168

7269
// Xor between constants
73-
itkStaticAssert((XorC<true, true>::Value == false), "Unit test failed");
74-
itkStaticAssert((XorC<true, false>::Value == true), "Unit test failed");
75-
itkStaticAssert((XorC<false, true>::Value == true), "Unit test failed");
76-
itkStaticAssert((XorC<false, false>::Value == false), "Unit test failed");
70+
static_assert((XorC<true, true>::Value == false), "Unit test failed");
71+
static_assert((XorC<true, false>::Value == true), "Unit test failed");
72+
static_assert((XorC<false, true>::Value == true), "Unit test failed");
73+
static_assert((XorC<false, false>::Value == false), "Unit test failed");
7774

7875
// Xor between types
79-
itkStaticAssert((std::is_same<Xor<TrueType, TrueType>::Type, FalseType>::value), "Unit test failed");
80-
itkStaticAssert((std::is_same<Xor<TrueType, FalseType>::Type, TrueType>::value), "Unit test failed");
81-
itkStaticAssert((std::is_same<Xor<FalseType, TrueType>::Type, TrueType>::value), "Unit test failed");
82-
itkStaticAssert((std::is_same<Xor<FalseType, FalseType>::Type, FalseType>::value), "Unit test failed");
76+
static_assert((std::is_same<Xor<TrueType, TrueType>::Type, FalseType>::value), "Unit test failed");
77+
static_assert((std::is_same<Xor<TrueType, FalseType>::Type, TrueType>::value), "Unit test failed");
78+
static_assert((std::is_same<Xor<FalseType, TrueType>::Type, TrueType>::value), "Unit test failed");
79+
static_assert((std::is_same<Xor<FalseType, FalseType>::Type, FalseType>::value), "Unit test failed");
8380

8481
// Not between constants
85-
itkStaticAssert((NotC<true>::Value == false), "Unit test failed");
86-
itkStaticAssert((NotC<false>::Value == true), "Unit test failed");
82+
static_assert((NotC<true>::Value == false), "Unit test failed");
83+
static_assert((NotC<false>::Value == true), "Unit test failed");
8784

8885
// Not between types
89-
itkStaticAssert((std::is_same<Not<TrueType>::Type, FalseType>::value), "Unit test failed");
90-
itkStaticAssert((std::is_same<Not<FalseType>::Type, TrueType>::value), "Unit test failed");
91-
92-
#endif
86+
static_assert((std::is_same<Not<TrueType>::Type, FalseType>::value), "Unit test failed");
87+
static_assert((std::is_same<Not<FalseType>::Type, TrueType>::value), "Unit test failed");
9388

9489
return EXIT_SUCCESS;
9590
}

0 commit comments

Comments
 (0)