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

Method set_begin

proto/enums_models.cpp:1101–1119  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1099}
1100
1101size_t FieldModel<::enums::Enums>::set_begin()
1102{
1103 assert(((_buffer.offset() + fbe_offset() + fbe_size()) <= _buffer.size()) && "Model is broken!");
1104 if ((_buffer.offset() + fbe_offset() + fbe_size()) > _buffer.size())
1105 return 0;
1106
1107 uint32_t fbe_struct_size = (uint32_t)fbe_body();
1108 uint32_t fbe_struct_offset = (uint32_t)(_buffer.allocate(fbe_struct_size) - _buffer.offset());
1109 assert(((fbe_struct_offset > 0) && ((_buffer.offset() + fbe_struct_offset + fbe_struct_size) <= _buffer.size())) && "Model is broken!");
1110 if ((fbe_struct_offset == 0) || ((_buffer.offset() + fbe_struct_offset + fbe_struct_size) > _buffer.size()))
1111 return 0;
1112
1113 *((uint32_t*)(_buffer.data() + _buffer.offset() + fbe_offset())) = fbe_struct_offset;
1114 *((uint32_t*)(_buffer.data() + _buffer.offset() + fbe_struct_offset)) = fbe_struct_size;
1115 *((uint32_t*)(_buffer.data() + _buffer.offset() + fbe_struct_offset + 4)) = (uint32_t)fbe_type();
1116
1117 _buffer.shift(fbe_struct_offset);
1118 return fbe_struct_offset;
1119}
1120
1121void FieldModel<::enums::Enums>::set_end(size_t fbe_begin)
1122{

Callers

nothing calls this directly

Calls 5

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

Tested by

no test coverage detected