From 3369e345678aaa4199b76a099c750ed00754c548 Mon Sep 17 00:00:00 2001 From: Stefan Boberg Date: Tue, 21 Nov 2023 13:42:53 +0100 Subject: basic ZEN_ASSERT_FORMAT implementation (#556) includes porting some compact binary builder code to use it since it had vestiges of the UE-side asserts --- src/zencore/compactbinary.cpp | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) (limited to 'src/zencore/compactbinary.cpp') diff --git a/src/zencore/compactbinary.cpp b/src/zencore/compactbinary.cpp index 5e8ce22ed..9152a8bfc 100644 --- a/src/zencore/compactbinary.cpp +++ b/src/zencore/compactbinary.cpp @@ -2,6 +2,7 @@ #include "zencore/compactbinary.h" +#include #include #include #include @@ -855,10 +856,10 @@ void CbFieldView::CopyTo(MutableMemoryView Buffer) const { const MemoryView Source = GetViewNoType(); - ZEN_ASSERT(Buffer.GetSize() == sizeof(CbFieldType) + Source.GetSize()); - // TEXT("A buffer of %" UINT64_FMT " bytes was provided when %" UINT64_FMT " bytes are required"), - // Buffer.GetSize(), - // sizeof(CbFieldType) + Source.GetSize()); + ZEN_ASSERT_FORMAT(Buffer.GetSize() == sizeof(CbFieldType) + Source.GetSize(), + "A buffer of {} bytes was provided when {} bytes are required", + Buffer.GetSize(), + sizeof(CbFieldType) + Source.GetSize()); *static_cast(Buffer.GetData()) = CbFieldTypeOps::GetSerializedType(Type); Buffer.RightChopInline(sizeof(CbFieldType)); memcpy(Buffer.GetData(), Source.GetData(), Source.GetSize()); @@ -963,10 +964,10 @@ void CbArrayView::CopyTo(MutableMemoryView Buffer) const { const MemoryView Source = GetPayloadView(); - ZEN_ASSERT(Buffer.GetSize() == sizeof(CbFieldType) + Source.GetSize()); - // TEXT("Buffer is %" UINT64_FMT " bytes but %" UINT64_FMT " is required."), - // Buffer.GetSize(), - // sizeof(CbFieldType) + Source.GetSize()); + ZEN_ASSERT_FORMAT(Buffer.GetSize() == sizeof(CbFieldType) + Source.GetSize(), + "Buffer is {} bytes but {} is required.", + Buffer.GetSize(), + sizeof(CbFieldType) + Source.GetSize()); *static_cast(Buffer.GetData()) = CbFieldTypeOps::GetType(GetType()); Buffer.RightChopInline(sizeof(CbFieldType)); @@ -1077,10 +1078,10 @@ void CbObjectView::CopyTo(MutableMemoryView Buffer) const { const MemoryView Source = GetPayloadView(); - ZEN_ASSERT(Buffer.GetSize() == (sizeof(CbFieldType) + Source.GetSize())); - // TEXT("Buffer is %" UINT64_FMT " bytes but %" UINT64_FMT " is required."), - // Buffer.GetSize(), - // sizeof(CbFieldType) + Source.GetSize()); + ZEN_ASSERT_FORMAT(Buffer.GetSize() == (sizeof(CbFieldType) + Source.GetSize()), + "Buffer is {} bytes but {} is required.", + Buffer.GetSize(), + sizeof(CbFieldType) + Source.GetSize()); *static_cast(Buffer.GetData()) = CbFieldTypeOps::GetType(GetType()); Buffer.RightChopInline(sizeof(CbFieldType)); memcpy(Buffer.GetData(), Source.GetData(), Source.GetSize()); @@ -1151,10 +1152,10 @@ TCbFieldIterator::CopyRangeTo(MutableMemoryView InBuffer) const MemoryView Source; if (TryGetSerializedRangeView(Source)) { - ZEN_ASSERT(InBuffer.GetSize() == Source.GetSize()); - // TEXT("Buffer is %" UINT64_FMT " bytes but %" UINT64_FMT " is required."), - // InBuffer.GetSize(), - // Source.GetSize()); + ZEN_ASSERT_FORMAT(InBuffer.GetSize() == Source.GetSize(), + "Buffer is {} bytes but {} is required.", + InBuffer.GetSize(), + Source.GetSize()); memcpy(InBuffer.GetData(), Source.GetData(), Source.GetSize()); } else @@ -1654,7 +1655,7 @@ public: break; } default: - ZEN_ASSERT(false); + ZEN_ASSERT_FORMAT(false, "invalid field type: {}", uint8_t(Accessor.GetType())); break; } -- cgit v1.2.3