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

Method set_begin

proto/test_models.cpp:786–804  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

784}
785
786size_t FieldModel<::test::StructSimple>::set_begin()
787{
788 assert(((_buffer.offset() + fbe_offset() + fbe_size()) <= _buffer.size()) && "Model is broken!");
789 if ((_buffer.offset() + fbe_offset() + fbe_size()) > _buffer.size())
790 return 0;
791
792 uint32_t fbe_struct_size = (uint32_t)fbe_body();
793 uint32_t fbe_struct_offset = (uint32_t)(_buffer.allocate(fbe_struct_size) - _buffer.offset());
794 assert(((fbe_struct_offset > 0) && ((_buffer.offset() + fbe_struct_offset + fbe_struct_size) <= _buffer.size())) && "Model is broken!");
795 if ((fbe_struct_offset == 0) || ((_buffer.offset() + fbe_struct_offset + fbe_struct_size) > _buffer.size()))
796 return 0;
797
798 *((uint32_t*)(_buffer.data() + _buffer.offset() + fbe_offset())) = fbe_struct_offset;
799 *((uint32_t*)(_buffer.data() + _buffer.offset() + fbe_struct_offset)) = fbe_struct_size;
800 *((uint32_t*)(_buffer.data() + _buffer.offset() + fbe_struct_offset + 4)) = (uint32_t)fbe_type();
801
802 _buffer.shift(fbe_struct_offset);
803 return fbe_struct_offset;
804}
805
806void FieldModel<::test::StructSimple>::set_end(size_t fbe_begin)
807{

Callers 2

test_create.cppFile · 0.45
mainFunction · 0.45

Calls 5

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

Tested by

no test coverage detected