Skip to content

Commit a35a912

Browse files
committed
Extend dynamicWrite to allow multiple values
* this helps to avoid copying data to tuples
1 parent 4aeae14 commit a35a912

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

src/serialize19.lib/serialize19/dynamicWrite.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,15 @@
66
namespace serialize19 {
77

88
/// serializes T to a dynamically allocated UniqueBuffer
9-
template<EndianBehaviour endian = EndianBehaviour::Keep, class T> auto dynamicWrite(const T& value) -> UniqueBuffer {
9+
template<EndianBehaviour endian = EndianBehaviour::Keep, class T, class... Ts>
10+
auto dynamicWrite(const T& value, const Ts&... values) -> UniqueBuffer {
1011
auto sizeArchive = SizeArchive{};
1112
serialize(sizeArchive, value);
13+
(serialize(sizeArchive, values), ...);
1214
auto buffer = UniqueBuffer{sizeArchive.size()};
1315
auto writeArchive = WriteToArchive<endian>{buffer.amendSlice()};
1416
serialize(writeArchive, value);
17+
(serialize(writeArchive, values), ...);
1518
return buffer;
1619
}
1720

0 commit comments

Comments
 (0)