| 1099 | } |
| 1100 | |
| 1101 | size_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 | |
| 1121 | void FieldModel<::enums::Enums>::set_end(size_t fbe_begin) |
| 1122 | { |