14template <
int States,
int Inputs,
int Outputs>
20 static constexpr std::string_view
GetTypeName() {
return kTypeName; }
32 static constexpr std::string_view
GetSchema() {
return kSchema; }
35 std::span<const uint8_t> data) {
36 constexpr size_t kAOff = 0;
37 constexpr size_t kBOff =
39 constexpr size_t kCOff =
41 constexpr size_t kDOff =
50 static void Pack(std::span<uint8_t> data,
52 constexpr size_t kAOff = 0;
53 constexpr size_t kBOff =
55 constexpr size_t kCOff =
57 constexpr size_t kDOff =
66 std::invocable<std::string_view, std::string_view>
auto fn) {
A plant defined using state-space notation.
Definition LinearSystem.h:35
Specifies that a struct type has nested struct declarations.
Definition Struct.h:120
Specifies that a type is capable of raw struct serialization and deserialization.
Definition Struct.h:69
Eigen::Matrix< double, Rows, Cols, Options, MaxRows, MaxCols > Matrixd
Definition EigenCore.h:21
constexpr auto NumToCtString()
Converts any integral to a ct_string at compile-time.
Definition ct_string.h:202
constexpr auto Concat(ct_string< Char, Traits, N1 > const &s1, ct_string< Char, Traits, N > const &... s)
Concatenates multiple fixed_strings into a larger fixed_string at compile time.
Definition ct_string.h:168
T UnpackStruct(std::span< const uint8_t > data, const I &... info)
Unpack a serialized struct.
Definition Struct.h:138
constexpr size_t GetStructSize(const I &... info)
Get the size for a raw struct serializable type.
Definition Struct.h:337
void ForEachStructSchema(std::invocable< std::string_view, std::string_view > auto fn, const I &... info)
Definition Struct.h:424
void PackStruct(std::span< uint8_t > data, T &&value, const I &... info)
Pack a serialized struct.
Definition Struct.h:200
Struct serialization template.
Definition Struct.h:39
Fixed length string (array of character) for compile time use.
Definition ct_string.h:29