35#ifndef _BLAZE_UTIL_CONSTRAINTS_CONSTRUCTIBLE_H_
36#define _BLAZE_UTIL_CONSTRAINTS_CONSTRUCTIBLE_H_
61#define BLAZE_CONSTRAINT_MUST_BE_DEFAULT_CONSTRUCTIBLE_TYPE(T) \
62 static_assert( ::blaze::IsDefaultConstructible_v<T>, "Non-default constructible type detected" )
81#define BLAZE_CONSTRAINT_MUST_NOT_BE_DEFAULT_CONSTRUCTIBLE_TYPE(T) \
82 static_assert( !::blaze::IsDefaultConstructible_v<T>, "Default constructible type detected" )
101#define BLAZE_CONSTRAINT_MUST_BE_NOTHROW_DEFAULT_CONSTRUCTIBLE_TYPE(T) \
102 static_assert( ::blaze::IsNothrowDefaultConstructible_v<T>, "Non-noexcept default constructible type detected" )
121#define BLAZE_CONSTRAINT_MUST_NOT_BE_NOTHROW_DEFAULT_CONSTRUCTIBLE_TYPE(T) \
122 static_assert( !::blaze::IsNothrowDefaultConstructible_v<T>, "Noexcept default constructible type detected" )
141#define BLAZE_CONSTRAINT_MUST_BE_COPY_CONSTRUCTIBLE_TYPE(T) \
142 static_assert( ::blaze::IsCopyConstructible_v<T>, "Non-copy constructible type detected" )
161#define BLAZE_CONSTRAINT_MUST_NOT_BE_COPY_CONSTRUCTIBLE_TYPE(T) \
162 static_assert( !::blaze::IsCopyConstructible_v<T>, "Copy constructible type detected" )
181#define BLAZE_CONSTRAINT_MUST_BE_NOTHROW_COPY_CONSTRUCTIBLE_TYPE(T) \
182 static_assert( ::blaze::IsNothrowCopyConstructible_v<T>, "Non-noexcept copy constructible type detected" )
201#define BLAZE_CONSTRAINT_MUST_NOT_BE_NOTHROW_COPY_CONSTRUCTIBLE_TYPE(T) \
202 static_assert( !::blaze::IsNothrowCopyConstructible_v<T>, "Noexcept copy constructible type detected" )
221#define BLAZE_CONSTRAINT_MUST_BE_MOVE_CONSTRUCTIBLE_TYPE(T) \
222 static_assert( ::blaze::IsMoveConstructible_v<T>, "Non-move constructible type detected" )
241#define BLAZE_CONSTRAINT_MUST_NOT_BE_MOVE_CONSTRUCTIBLE_TYPE(T) \
242 static_assert( !::blaze::IsMoveConstructible_v<T>, "Move constructible type detected" )
261#define BLAZE_CONSTRAINT_MUST_BE_NOTHROW_MOVE_CONSTRUCTIBLE_TYPE(T) \
262 static_assert( ::blaze::IsNothrowMoveConstructible_v<T>, "Non-noexcept move constructible type detected" )
281#define BLAZE_CONSTRAINT_MUST_NOT_BE_NOTHROW_MOVE_CONSTRUCTIBLE_TYPE(T) \
282 static_assert( !::blaze::IsNothrowMoveConstructible_v<T>, "Noexcept move constructible type detected" )
Header file for the IsConstructible type trait.