diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2026-09-22 22:47:33 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2026-09-22 22:47:33 +0200 |
| commit | d05b9343f69a0841043963088e0003368e205bd9 (patch) | |
| tree | 8cde07ff86d27cbc808a0a149b89d0024b4a586c /ttwhy/scanners/concepts.cppm | |
| parent | 22f6534081acfabdab4956d337604a21e7da5b64 (diff) | |
| download | ttwhy-d05b9343f69a0841043963088e0003368e205bd9.tar.xz ttwhy-d05b9343f69a0841043963088e0003368e205bd9.zip | |
Diffstat (limited to 'ttwhy/scanners/concepts.cppm')
| -rw-r--r-- | ttwhy/scanners/concepts.cppm | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/ttwhy/scanners/concepts.cppm b/ttwhy/scanners/concepts.cppm deleted file mode 100644 index 5c29b5f..0000000 --- a/ttwhy/scanners/concepts.cppm +++ /dev/null @@ -1,30 +0,0 @@ -module; - -#include <concepts> -#include <span> - -export module ttwhy.scanners:concepts; - -import :terminal_events; - -namespace ttwhy -{ - - export template<typename Candidate> - concept scanner = requires(Candidate a, std::span<char const> buffer) { - { a.process(buffer) } -> std::same_as<void>; - { a.timeout() } -> std::same_as<void>; - { a.is_pending() } -> std::same_as<bool>; - }; - - export template<typename Sink, typename Event> - concept event_sink = requires(Sink sink, Event event) { - { sink(event) } -> std::same_as<void>; - }; - - export template<typename Sink> - concept terminal_event_sink = - event_sink<Sink, scanners::character_event> && event_sink<Sink, scanners::control_event> && - event_sink<Sink, scanners::navigation_event>; - -} // namespace ttwhy |
