aboutsummaryrefslogtreecommitdiff
path: root/zencore/compactbinary.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'zencore/compactbinary.cpp')
-rw-r--r--zencore/compactbinary.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/zencore/compactbinary.cpp b/zencore/compactbinary.cpp
index 5f16ae9d6..cce927d5d 100644
--- a/zencore/compactbinary.cpp
+++ b/zencore/compactbinary.cpp
@@ -2,6 +2,7 @@
#include "zencore/compactbinary.h"
+#include <zencore/compress.h>
#include <zencore/endian.h>
#include <zencore/stream.h>
#include "zencore/compactbinaryvalidation.h"
@@ -1100,6 +1101,30 @@ LoadCompactBinary(BinaryReader& Ar, BufferAllocator Allocator)
return CbField(SharedBuffer(std::move(Buffer)));
}
+CbObject
+LoadCompactBinaryObject(IoBuffer&& Payload)
+{
+ return CbObject{SharedBuffer(std::move(Payload))};
+}
+
+CbObject
+LoadCompactBinaryObject(IoBuffer& Payload)
+{
+ return CbObject{SharedBuffer(Payload)};
+}
+
+CbObject
+LoadCompactBinaryObject(CompressedBuffer&& Payload)
+{
+ return CbObject{SharedBuffer(std::move(Payload.DecompressToComposite().Flatten()))};
+}
+
+CbObject
+LoadCompactBinaryObject(CompressedBuffer& Payload)
+{
+ return CbObject{SharedBuffer(std::move(Payload.DecompressToComposite().Flatten()))};
+}
+
//////////////////////////////////////////////////////////////////////////
void