From 60edadfe06e690556449c5e06da0a503a34566cf Mon Sep 17 00:00:00 2001 From: fallenoak Date: Fri, 3 Feb 2023 15:07:55 -0600 Subject: [PATCH] feat(big): add BigBuffer::SetOffset --- storm/big/BigBuffer.cpp | 8 ++++++++ storm/big/BigBuffer.hpp | 1 + 2 files changed, 9 insertions(+) diff --git a/storm/big/BigBuffer.cpp b/storm/big/BigBuffer.cpp index 71200fb..31969ec 100644 --- a/storm/big/BigBuffer.cpp +++ b/storm/big/BigBuffer.cpp @@ -33,6 +33,14 @@ void BigBuffer::SetCount(uint32_t count) { this->m_data.SetCount(this->m_offset + count); } +void BigBuffer::SetOffset(uint32_t offset) { + this->m_offset = offset; + + if (offset) { + this->GrowToFit(0xFFFFFFFF); + } +} + void BigBuffer::Trim() const { while (this->Count()) { auto& data = const_cast&>(this->m_data); diff --git a/storm/big/BigBuffer.hpp b/storm/big/BigBuffer.hpp index fac408d..7170b36 100644 --- a/storm/big/BigBuffer.hpp +++ b/storm/big/BigBuffer.hpp @@ -18,6 +18,7 @@ class BigBuffer { void GrowToFit(uint32_t index); int32_t IsUsed(uint32_t index) const; void SetCount(uint32_t count); + void SetOffset(uint32_t offset); void Trim() const; };