//-------------------------------------------------------------------------- void VeBinaryOStream::WritePackedInt(VeSizeT stValue) noexcept { VE_ASSERT(stValue <= VE_MAX_LENGTH); if (stValue >= 255) { (*this) << (VeUInt8)0xFF; VeChar8 acValue[3]; VE_PACK3(acValue, (VeUInt32)stValue); VE_ASSERT_EQ(Write(acValue, sizeof(acValue)), sizeof(acValue)); } else { (*this) << (VeUInt8)stValue; } }
//-------------------------------------------------------------------------- void VeBinaryOStream::WritePackedInt(VeInt32 i32Value) { VE_ASSERT(((VeUInt32)i32Value) <= VE_MAX_LENGTH); if(i32Value >= 255) { (*this) << (VeUInt8)0xFF; VeChar8 acValue[3]; VE_PACK3(acValue, i32Value); VE_ASSERT_EQ(Write(acValue, sizeof(acValue)), sizeof(acValue)); } else { (*this) << (VeUInt8)i32Value; } }