| 1240 | } |
| 1241 | |
| 1242 | size_t EnumsModel::deserialize(::enums::Enums& value) const noexcept |
| 1243 | { |
| 1244 | if ((this->buffer().offset() + model.fbe_offset() - 4) > this->buffer().size()) |
| 1245 | return 0; |
| 1246 | |
| 1247 | uint32_t fbe_full_size = *((const uint32_t*)(this->buffer().data() + this->buffer().offset() + model.fbe_offset() - 4)); |
| 1248 | assert((fbe_full_size >= model.fbe_size()) && "Model is broken!"); |
| 1249 | if (fbe_full_size < model.fbe_size()) |
| 1250 | return 0; |
| 1251 | |
| 1252 | model.get(value); |
| 1253 | return fbe_full_size; |
| 1254 | } |
| 1255 | |
| 1256 | } // namespace enums |
| 1257 |