add msg.ToString()
All checks were successful
Linux arm64 / Build (push) Successful in 15s

This commit is contained in:
2025-03-04 20:26:42 +01:00
parent 81c9dbadd6
commit 7f8d9e3f96
14 changed files with 105 additions and 40 deletions

View File

@@ -1,8 +1,8 @@
#pragma once
#include <sstream>
#include <sp/protocol/MessageBase.h>
#include <sp/common/Templates.h>
#include <sp/common/Reflection.h>
namespace sp {
namespace details {
@@ -59,8 +59,8 @@ struct FieldPrinter {
};
template <unsigned int IAlignment, typename TContainer, typename... TFields>
struct FieldPrinter<sp::BitField<TContainer, TFields...>, IAlignment> {
static std::string PrintField(const sp::Field<sp::BitField<TContainer, TFields...>, IAlignment>& a_Field) {
struct FieldPrinter<BitField<TContainer, TFields...>, IAlignment> {
static std::string PrintField(const Field<BitField<TContainer, TFields...>, IAlignment>& a_Field) {
return "BitField<" + GetClassName<TContainer>() + ">[" + PrintFields(a_Field.GetValue().GetFields()) + "]";
}
};
@@ -78,5 +78,11 @@ std::string PrintFields(const std::tuple<TFields...>& a_Fields) {
return concat.substr(0, concat.size() - 2);
}
template <typename TBase, typename... TOptions>
std::string PrintMessage(const MessageBase<TBase, TOptions...>& a_Message) {
return sp::GetClassName(a_Message) + sp::details::IdPrinter<TOptions...>::PrintMessageId() + "[" +
sp::details::PrintFields(a_Message.GetFields()) + "]";
}
} // namespace details
} // namespace sp