Blaze
3.9
blaze
util
constraints
SameType.h
Go to the documentation of this file.
1
//=================================================================================================
33
//=================================================================================================
34
35
#ifndef _BLAZE_UTIL_CONSTRAINTS_SAMETYPE_H_
36
#define _BLAZE_UTIL_CONSTRAINTS_SAMETYPE_H_
37
38
39
//*************************************************************************************************
40
// Includes
41
//*************************************************************************************************
42
43
#include <
blaze/util/typetraits/IsSame.h
>
44
45
46
namespace
blaze {
47
48
//=================================================================================================
49
//
50
// MUST_BE_SAME_TYPE CONSTRAINT
51
//
52
//=================================================================================================
53
54
//*************************************************************************************************
71
#define BLAZE_CONSTRAINT_MUST_BE_SAME_TYPE(A,B) \
72
static_assert( ::blaze::IsSame_v<A,B>, "Non-matching types detected"
)
73
//*************************************************************************************************
74
75
76
77
78
//=================================================================================================
79
//
80
// MUST_NOT_BE_SAME_TYPE CONSTRAINT
81
//
82
//=================================================================================================
83
84
//*************************************************************************************************
102
#define BLAZE_CONSTRAINT_MUST_NOT_BE_SAME_TYPE(A,B) \
103
static_assert( !::blaze::IsSame_v<A,B>, "Matching types detected"
)
104
//*************************************************************************************************
105
106
107
108
109
//=================================================================================================
110
//
111
// MUST_BE_STRICTLY_SAME_TYPE CONSTRAINT
112
//
113
//=================================================================================================
114
115
//*************************************************************************************************
131
#define BLAZE_CONSTRAINT_MUST_BE_STRICTLY_SAME_TYPE(A,B) \
132
static_assert( ::blaze::IsStrictlySame_v<A,B>, "Non-matching types detected"
)
133
//*************************************************************************************************
134
135
136
137
138
//=================================================================================================
139
//
140
// MUST_NOT_BE_STRICTLY_SAME_TYPE CONSTRAINT
141
//
142
//=================================================================================================
143
144
//*************************************************************************************************
160
#define BLAZE_CONSTRAINT_MUST_NOT_BE_STRICTLY_SAME_TYPE(A,B) \
161
static_assert( !::blaze::IsStrictlySame_v<A,B>, "Matching types detected"
)
162
//*************************************************************************************************
163
164
}
// namespace blaze
165
166
#endif
IsSame.h
Header file for the IsSame and IsStrictlySame type traits.
Generated by
1.9.3