libepaper 2.0.0
A C++23 library for controlling Waveshare e-paper displays on Raspberry Pi, featuring transparent sleep/wake management and a fluent builder API.
Loading...
Searching...
No Matches
epaper::Driver Concept Reference

#include <driver_concepts.hpp>

Concept definition

template<typename T>
concept epaper::Driver = std::movable<T> && requires(T &d, DisplayMode mode, std::span<const std::byte> buffer) {
{ d.init(mode) } -> std::same_as<std::expected<void, Error>>;
{ d.sleep() } -> std::same_as<std::expected<void, Error>>;
{ d.wake() } -> std::same_as<std::expected<void, Error>>;
{ d.clear() } -> std::same_as<std::expected<void, Error>>;
{ d.display(buffer) } -> std::same_as<std::expected<void, Error>>;
{ d.width() } -> std::convertible_to<std::size_t>;
{ d.height() } -> std::convertible_to<std::size_t>;
}
Definition driver_concepts.hpp:139
DisplayMode
Definition driver.hpp:46