какой тип плоского буфера при вызове UnPackTo

Я только начал понимать, как работают плоские буферы. Документ хороший. В разделе для использования в С++ я вижу следующий пример

// Autogenerated class from table Monster.
MonsterT monsterobj;

// Deserialize from buffer into object.
UnPackTo(&monsterobj, flatbuffer);

// Update object directly like a C++ class instance.
cout << monsterobj->name;  // This is now a std::string!
monsterobj->name = "Bob";  // Change the name.

// Serialize into new flatbuffer.
FlatBufferBuilder fbb;
Pack(fbb, &monsterobj);

Мой вопрос в том, что это за тип плоского буфера? нет, где в документе это упоминается. Это двоичный буфер, считанный из файла или полученный по сети?

Это ссылка, откуда я скопировал приведенный выше пример кода.

https://google.github.io/flatbuffers/flatbuffers_guide_use_cpp.html


person vk-code    schedule 07.02.2019    source источник


Ответы (1)


Эта документация выглядит устаревшей, вероятно, она должна быть GetMonster(flatbuffer)->UnPackTo(&monsterobj), где flatbuffer — указатель на байты, содержащие двоичное представление FlatBuffer.

Вышеупомянутое, однако, является частью «объектного API», который вы должны использовать только в том случае, если удобство важнее производительности. Подробнее о базовом API читайте здесь: https://google.github.io/flatbuffers/flatbuffers_guide_tutorial.html

person Aardappel    schedule 08.02.2019
comment
я копался в сгенерированном коде и понял это, но ваш пост подтвердил это! Благодаря тонну! - person vk-code; 08.02.2019