35 #ifndef _BLAZE_UTIL_CONSTRAINTS_DERIVEDFROM_H_
36 #define _BLAZE_UTIL_CONSTRAINTS_DERIVEDFROM_H_
60 #define BLAZE_CONSTRAINT_MUST_BE_DERIVED_FROM(D,B) \
61 static_assert( ( ::blaze::IsBaseOf<B,D>::value ), "Broken inheritance relationship detected" )
80 #define BLAZE_CONSTRAINT_MUST_NOT_BE_DERIVED_FROM(D,B) \
81 static_assert( ( !::blaze::IsBaseOf<B,D>::value ), "Unexpected inheritance relationship detected" )
101 #define BLAZE_CONSTRAINT_MUST_BE_STRICTLY_DERIVED_FROM(D,B) \
102 static_assert( ( ::blaze::IsBaseOf<B,D>::value && !::blaze::IsBaseOf<D,B>::value ), "Broken inheritance relationship detected" )
122 #define BLAZE_CONSTRAINT_MUST_NOT_BE_STRICTLY_DERIVED_FROM(D,B) \
123 static_assert( ( !::blaze::IsBaseOf<B,D>::value || ::blaze::IsBaseOf<D,B>::value ), "Unexpected inheritance relationship detected" )
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
Header file for the IsBaseOf type trait.