diff --git a/include/cppmp/core/checker.h b/include/cppmp/core/checker.h index 8325f87..fc8876a 100644 --- a/include/cppmp/core/checker.h +++ b/include/cppmp/core/checker.h @@ -78,12 +78,10 @@ namespace cppmp cppmp_define_checker(is_standard_layout); cppmp_define_checker(is_pod); cppmp_define_checker(is_literal_type); - cppmp_define_checker(has_unique_object_representations); cppmp_define_checker(is_empty); cppmp_define_checker(is_polymorphic); cppmp_define_checker(is_abstract); cppmp_define_checker(is_final); - cppmp_define_checker(is_aggregate); cppmp_define_checker(is_signed); cppmp_define_checker(is_unsigned); cppmp_define_checker(is_constructible); @@ -121,10 +119,15 @@ namespace cppmp cppmp_define_checker(is_same); cppmp_define_checker(is_base_of); cppmp_define_checker(is_convertible); + + #if __cplusplus >= 201703L + cppmp_define_checker(has_unique_object_representations); + cppmp_define_checker(is_aggregate); cppmp_define_checker(is_invocable); cppmp_define_checker(is_invocable_r); cppmp_define_checker(is_nothrow_invocable); cppmp_define_checker(is_nothrow_invocable_r); + #endif } diff --git a/include/cppmp/core/conditionals.h b/include/cppmp/core/conditionals.h index 09aaae5..82ef7a0 100644 --- a/include/cppmp/core/conditionals.h +++ b/include/cppmp/core/conditionals.h @@ -79,6 +79,8 @@ namespace cppmp /* conjunction/and */ +#if __cplusplus >= 201703L + /** * @brief Evaluates to true_t if all passed arguments are also true_t. */ @@ -107,8 +109,12 @@ namespace cppmp template constexpr decltype(auto) and_v = conjunction::value; +#endif + /* disjunction/or */ +#if __cplusplus >= 201703L + /** * @brief Evaluates to true_t if at least one passed arguments is true_t. */ @@ -137,6 +143,8 @@ namespace cppmp template constexpr decltype(auto) or_v = disjunction::value; +#endif + } #include "conditionals.inl" diff --git a/include/cppmp/core/modifier.h b/include/cppmp/core/modifier.h index 639513c..4c1b2e5 100644 --- a/include/cppmp/core/modifier.h +++ b/include/cppmp/core/modifier.h @@ -36,7 +36,10 @@ namespace cppmp cppmp_define_modifier(common_type); cppmp_define_modifier(underlying_type); cppmp_define_modifier(result_of); + + #if __cplusplus >= 201703L cppmp_define_modifier(invoke_result); + #endif }