diff options
Diffstat (limited to 'ttwhy/scanners/concepts.cppm')
| -rw-r--r-- | ttwhy/scanners/concepts.cppm | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/ttwhy/scanners/concepts.cppm b/ttwhy/scanners/concepts.cppm index 003874c..8db3ae6 100644 --- a/ttwhy/scanners/concepts.cppm +++ b/ttwhy/scanners/concepts.cppm @@ -2,9 +2,12 @@ module; #include <concepts> #include <span> +#include <string> export module ttwhy.scanners:concepts; +import :events; + namespace ttwhy { @@ -15,4 +18,11 @@ namespace ttwhy { a.is_pending() } -> std::same_as<bool>; }; + export template<typename Sink> + concept ansi_sink = requires(Sink sink) { + { sink(std::declval<ttwhy::scanners::character_event>()) } -> std::same_as<void>; + { sink(std::declval<ttwhy::scanners::control_event>()) } -> std::same_as<void>; + { sink(std::declval<ttwhy::scanners::navigation_event>()) } -> std::same_as<void>; + }; + } // namespace ttwhy |
