#pragma once #include #include #include namespace coro::concepts { // clang-format off template concept const_buffer = requires(const type t) { { t.empty() } -> std::same_as; { t.data() } -> std::same_as; { t.size() } -> std::same_as; }; template concept mutable_buffer = requires(type t) { { t.empty() } -> std::same_as; { t.data() } -> std::same_as; { t.size() } -> std::same_as; }; // clang-format on } // namespace coro::concepts