aboutsummaryrefslogtreecommitdiff
path: root/ttwhy/scanners/concepts.cppm
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@gmail.com>2026-09-22 22:47:33 +0200
committerFelix Morgner <felix.morgner@gmail.com>2026-09-22 22:47:33 +0200
commitd05b9343f69a0841043963088e0003368e205bd9 (patch)
tree8cde07ff86d27cbc808a0a149b89d0024b4a586c /ttwhy/scanners/concepts.cppm
parent22f6534081acfabdab4956d337604a21e7da5b64 (diff)
downloadttwhy-d05b9343f69a0841043963088e0003368e205bd9.tar.xz
ttwhy-d05b9343f69a0841043963088e0003368e205bd9.zip
lib: restructure into vertical slicesHEADmaster
Diffstat (limited to 'ttwhy/scanners/concepts.cppm')
-rw-r--r--ttwhy/scanners/concepts.cppm30
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