File tree Expand file tree Collapse file tree 1 file changed +6
-3
lines changed Expand file tree Collapse file tree 1 file changed +6
-3
lines changed Original file line number Diff line number Diff line change 11#pragma once
22#include < concepts>
33#include < type_traits>
4+ #include < iterator>
45#include < string>
56
67// Time type concept - basic arithmetic types that can represent time
@@ -13,8 +14,10 @@ concept system_state = requires(T state) {
1314 typename T::value_type;
1415 requires std::is_arithmetic_v<typename T::value_type>;
1516 requires !std::same_as<T, std::string>; // Exclude string types
16- { state.size () } -> std::convertible_to<std::size_t >;
17- { state.begin () };
18- { state.end () };
17+ requires requires {
18+ { state.size () } -> std::convertible_to<std::size_t >;
19+ { state.begin () } -> std::random_access_iterator;
20+ { state.end () } -> std::random_access_iterator;
21+ };
1922 { state[0 ] } -> std::convertible_to<typename T::value_type>;
2023};
You can’t perform that action at this time.
0 commit comments