fields builder
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <sp/common/DataBuffer.h>
|
||||
#include <sp/protocol/Templates.h>
|
||||
|
||||
namespace sp {
|
||||
|
||||
@@ -62,4 +63,18 @@ class FieldWriter {
|
||||
DataBuffer& m_Buffer;
|
||||
};
|
||||
|
||||
template <typename... TFields>
|
||||
struct FieldsBuilder {};
|
||||
|
||||
template <>
|
||||
struct FieldsBuilder<> {
|
||||
using Type = std::tuple<>;
|
||||
};
|
||||
|
||||
template <typename TField, typename... TFields>
|
||||
struct FieldsBuilder<TField, TFields...> {
|
||||
using Type = sp::tuple_cat_t<std::tuple<Field<TField>>, typename FieldsBuilder<TFields...>::Type>;
|
||||
};
|
||||
|
||||
|
||||
} // namespace sp
|
||||
|
||||
Reference in New Issue
Block a user