|
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.
|
Compile-time driver capability traits system. More...


Go to the source code of this file.
Namespaces | |
| namespace | epaper |
Concepts | |
| concept | epaper::DriverTraits |
| Concept to check if a type is a valid driver with capabilities. | |
Functions | |
| template<typename Driver > requires DriverTraits<Driver> | |
| constexpr auto | epaper::supports_display_mode (DisplayMode mode) noexcept -> bool |
Compile-time driver capability traits system.
Provides template specialization-based mechanism for querying driver capabilities at compile time. Used for static validation, optimization, and feature detection.
Design Pattern:
Capabilities Provided:
max_mode: Highest DisplayMode supported (e.g., DisplayMode::BWR)supports_grayscale: Can render 4-level grayscalesupports_partial_refresh: Can update regions without full refreshsupports_power_control: Can enter/exit sleep modessupports_wake_from_sleep: Can wake without full re-initmax_width, max_height: Physical display dimensionsSpecialization Template:
Usage Patterns:
Mode Support Logic:
supports_grayscale == truemax_mode