3#include "di/container/string/prelude.h"
4#include "di/reflect/prelude.h"
13 di::Variant<di::Void, u32, di::TransparentStringView>
value = {};
19 auto operator==(
Capability const&) const ->
bool = default;
23 return di::make_fields<
"Capability">(
31 di::Span<di::TransparentStringView const>
names;
36 auto operator==(
Terminfo const&) const ->
bool = default;
37 auto operator<=>(
Terminfo const&) const = default;
40 return di::make_fields<
"Terminfo">(di::field<
"names", &
Terminfo::names>,
Definition capability.h:8
auto get_ttx_terminfo() -> Terminfo const &
Definition capability.cpp:43
auto lookup_terminfo_string(di::StringView hex_name) -> TerminfoString
Definition capability.cpp:47
Represents a Termcap capability.
Definition capability.h:10
di::StringView long_name
Human understandable name for diagnostic print-out.
Definition capability.h:11
auto serialize() const -> di::String
Definition capability.cpp:11
di::Variant< di::Void, u32, di::TransparentStringView > value
Void means a boolean capabillity.
Definition capability.h:13
constexpr friend auto tag_invoke(di::Tag< di::reflect >, di::InPlaceType< Capability >)
Definition capability.h:22
bool enabled
Allows for marking entries as not yet enabled, but will be once supported.
Definition capability.h:15
di::StringView description
Description for diagnostic print-out.
Definition capability.h:14
di::TransparentStringView short_name
Short name stored in terminfo file.
Definition capability.h:12
Represents a terminfo entry.
Definition capability.h:30
auto serialize() const -> di::String
Definition capability.cpp:28
di::Span< di::TransparentStringView const > names
Definition capability.h:31
constexpr friend auto tag_invoke(di::Tag< di::reflect >, di::InPlaceType< Terminfo >)
Definition capability.h:39
di::Span< Capability const > capabilities
Definition capability.h:32