Blaze  3.6
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 
46 namespace 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
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Header file for the Unique class template.