Blaze 3.9
TypeRestriction.h
Go to the documentation of this file.
1//=================================================================================================
33//=================================================================================================
34
35#ifndef _BLAZE_UTIL_CONSTRAINTS_TYPERESTRICTION_H_
36#define _BLAZE_UTIL_CONSTRAINTS_TYPERESTRICTION_H_
37
38
39//*************************************************************************************************
40// Includes
41//*************************************************************************************************
42
43#include <blaze/util/TypeList.h>
44
45
46namespace blaze {
47
48//=================================================================================================
49//
50// SOFT_TYPE_RESTRICTION CONSTRAINT
51//
52//=================================================================================================
53
54//*************************************************************************************************
61#define BLAZE_CONSTRAINT_SOFT_TYPE_RESTRICTION(T,TYPELIST) \
62 static_assert( ::blaze::ContainsRelated<TYPELIST,T>::value, "Unapproved type detected" )
63//*************************************************************************************************
64
65
66
67
68//=================================================================================================
69//
70// TYPE_RESTRICTION CONSTRAINT
71//
72//=================================================================================================
73
74//*************************************************************************************************
81#define BLAZE_CONSTRAINT_TYPE_RESTRICTION(T,TYPELIST) \
82 static_assert( ::blaze::Contains<TYPELIST,T>::value, "Unapproved type detected" )
83//*************************************************************************************************
84
85} // namespace blaze
86
87#endif
Header file for the type list functionality.