libxr  1.0
Want to be the best embedded framework
Loading...
Searching...
No Matches
LibXR::Print::CompiledFormat Concept Reference

Writer 可执行的编译后格式对象 / Compiled format object executable by Writer. More...

#include <print_contract.hpp>

Concept definition

template<typename Format>
requires {
typename std::remove_cvref_t<decltype(Format::Codes())>::value_type;
typename std::remove_cvref_t<decltype(Format::ArgumentList())>::value_type;
{ Format::Codes().data() } -> std::convertible_to<const uint8_t*>;
{ Format::Codes().size() } -> std::convertible_to<size_t>;
{ Format::ArgumentList().size() } -> std::convertible_to<size_t>;
{ Format::ArgumentOrder().size() } -> std::convertible_to<size_t>;
{ Format::Profile() } -> std::convertible_to<FormatProfile>;
} &&
std::same_as<typename std::remove_cvref_t<decltype(Format::Codes())>::value_type,
uint8_t> &&
std::same_as<
typename std::remove_cvref_t<decltype(Format::ArgumentList())>::value_type,
FormatArgumentInfo>
Writer 可执行的编译后格式对象 / Compiled format object executable by Writer.

Detailed Description

Writer 可执行的编译后格式对象 / Compiled format object executable by Writer.

Template Parameters
Format候选编译格式类型 / Candidate compiled-format type
Note
必须提供 Codes()ArgumentList()ArgumentOrder()Profile() 这四组运行期协议信息 / Must provide Codes(), ArgumentList(), ArgumentOrder(), and Profile() as its runtime protocol surface

Definition at line 66 of file print_contract.hpp.