From daf4b1cc5c12319bb3a621df54a703c8a2e16c2b Mon Sep 17 00:00:00 2001 From: Mateusz Pusz Date: Sat, 16 Nov 2024 11:53:05 +0100 Subject: [PATCH] refactor: `SymbolicConstant` concept refactored --- src/core/include/mp-units/framework/expression_template.h | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/core/include/mp-units/framework/expression_template.h b/src/core/include/mp-units/framework/expression_template.h index b27e6c02..38dd14d3 100644 --- a/src/core/include/mp-units/framework/expression_template.h +++ b/src/core/include/mp-units/framework/expression_template.h @@ -48,11 +48,8 @@ template concept SymbolicArg = (!std::is_const_v) && (!std::is_reference_v); template -concept SymbolicConstant = SymbolicArg && std::is_empty_v && std::is_trivial_v && -#if !MP_UNITS_COMP_GCC || MP_UNITS_COMP_GCC > 12 - std::semiregular && -#endif - std::is_final_v; +concept SymbolicConstant = SymbolicArg && std::is_empty_v && std::is_final_v && std::is_trivial_v && + std::is_trivially_copy_constructible_v && std::is_trivially_move_constructible_v; /** * @brief Type list type used by the expression template framework