MCPcopy Create free account
hub / github.com/chronoxor/FastBinaryEncoding / get_begin

Method get_begin

proto/test_models.cpp:476–493  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

474}
475
476size_t FieldModel<::test::StructSimple>::get_begin() const noexcept
477{
478 if ((_buffer.offset() + fbe_offset() + fbe_size()) > _buffer.size())
479 return 0;
480
481 uint32_t fbe_struct_offset = *((const uint32_t*)(_buffer.data() + _buffer.offset() + fbe_offset()));
482 assert(((fbe_struct_offset > 0) && ((_buffer.offset() + fbe_struct_offset + 4 + 4) <= _buffer.size())) && "Model is broken!");
483 if ((fbe_struct_offset == 0) || ((_buffer.offset() + fbe_struct_offset + 4 + 4) > _buffer.size()))
484 return 0;
485
486 uint32_t fbe_struct_size = *((const uint32_t*)(_buffer.data() + _buffer.offset() + fbe_struct_offset));
487 assert((fbe_struct_size >= (4 + 4)) && "Model is broken!");
488 if (fbe_struct_size < (4 + 4))
489 return 0;
490
491 _buffer.shift(fbe_struct_offset);
492 return fbe_struct_offset;
493}
494
495void FieldModel<::test::StructSimple>::get_end(size_t fbe_begin) const noexcept
496{

Callers 4

onReceiveMethod · 0.45
onReceiveMethod · 0.45
test_create.cppFile · 0.45
mainFunction · 0.45

Calls 4

offsetMethod · 0.45
sizeMethod · 0.45
dataMethod · 0.45
shiftMethod · 0.45

Tested by

no test coverage detected