better endianess handling

This commit is contained in:
2025-02-07 22:01:04 +01:00
parent 6725a63c07
commit 534757f884
4 changed files with 21 additions and 43 deletions

View File

@@ -121,9 +121,10 @@ template <typename TBase>
class MessageImplFieldsReadBase : public TBase {
protected:
void ReadImpl(DataBuffer& buffer) override {
// TODO: add endianess
auto& allFields = TBase::GetFields();
std::apply(FieldReader{buffer}, allFields);
auto& allFields = this->GetFields();
std::apply([&buffer, this]<typename T>(T& field) {
this->ReadData(field.GetValue(), buffer);
}, allFields);
}
};
@@ -131,9 +132,10 @@ template <typename TBase>
class MessageImplFieldsWriteBase : public TBase {
protected:
void WriteImpl(DataBuffer& buffer) override {
// TODO: add endianess + write ID
auto& allFields = TBase::GetFields();
std::apply(FieldWriter{buffer}, allFields);
auto& allFields = this->GetFields();
std::apply([&buffer, this]<typename T>(T& field) {
this->WriteData(field.GetValue(), buffer);
}, allFields);
}
};