File tree Expand file tree Collapse file tree 1 file changed +4
-17
lines changed Expand file tree Collapse file tree 1 file changed +4
-17
lines changed Original file line number Diff line number Diff line change @@ -24,26 +24,13 @@ template<typename T>
2424concept IsEquation = std::is_same_v<T, Equation>;
2525
2626template <typename T>
27- concept EquationArrayContainer = requires (T a)
27+ concept EquationArray = requires (T a)
2828{
29- requires IsEquation<std::iter_value_t <decltype (std::begin (a ))>>;
30- requires std::forward_iterator<decltype (std::begin (a ))>;
31- requires std::forward_iterator<decltype (std::end (a ))>;
29+ requires IsEquation<std::iter_value_t <decltype (std::begin (std::declval<T&>() ))>>;
30+ requires std::forward_iterator<decltype (std::begin (std::declval<T&>() ))>;
31+ requires std::forward_iterator<decltype (std::end (std::declval<T&>() ))>;
3232};
3333
34- template <typename T>
35- concept EquationPointerArray = std::is_pointer_v<T> && IsEquation<std::remove_pointer_t <T>>;
36-
37- template <typename T>
38- concept EquationBoundedArray = std::is_bounded_array_v<T> && requires (T a)
39- {
40- requires IsEquation<std::remove_cvref_t <decltype (a[0 ])>>;
41- };
42-
43- template <typename T>
44- concept EquationArray = EquationArrayContainer<T> || EquationPointerArray<T> || EquationBoundedArray<T>;
45-
46-
4734// TODO: replace the function with std::from_chairs, that becomes constexpr in C++23.
4835[[nodiscard]] constexpr std::pair<int64_t , size_t > parseNumber (std::string_view str) noexcept {
4936 constexpr auto char_to_int = [](char c) {
You can’t perform that action at this time.
0 commit comments