From fbe42b10928bff0c8d3fda21c81451edee336ca8 Mon Sep 17 00:00:00 2001 From: bt Date: Mon, 3 Mar 2025 21:59:40 +0800 Subject: [PATCH] Refactoring EquationArray concepts --- src/day7.cpp | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/src/day7.cpp b/src/day7.cpp index 6871a7b..f5f09cf 100644 --- a/src/day7.cpp +++ b/src/day7.cpp @@ -24,26 +24,13 @@ template concept IsEquation = std::is_same_v; template -concept EquationArrayContainer = requires(T a) +concept EquationArray = requires(T a) { - requires IsEquation>; - requires std::forward_iterator; - requires std::forward_iterator; + requires IsEquation()))>>; + requires std::forward_iterator()))>; + requires std::forward_iterator()))>; }; -template -concept EquationPointerArray = std::is_pointer_v && IsEquation>; - -template -concept EquationBoundedArray = std::is_bounded_array_v && requires(T a) -{ - requires IsEquation>; -}; - -template -concept EquationArray = EquationArrayContainer || EquationPointerArray || EquationBoundedArray; - - // TODO: replace the function with std::from_chairs, that becomes constexpr in C++23. [[nodiscard]] constexpr std::pair parseNumber(std::string_view str) noexcept { constexpr auto char_to_int = [](char c) {