CERN ROOT: запись / чтение представления двоичного объекта в заданную память - PullRequest
1 голос
/ 22 октября 2019

Как можно записать / прочитать представление двоичного объекта в заданную память в CERN ROOT?

Это то, что я хочу:

  1. Выделить память: buffer = malloc(buffer_size)
  2. Используйте CERN ROOT, чтобы записать двоичное представление объекта в buffer (объект некоторого пользовательского типа MyType)
  3. Определить, куда и сколько байтов было записано в buffer
  4. Прочтите объект из buffer в другой части программы

Вот некоторые из моих мыслей:

const size_t buffer_size = 100'000'000;
void * buffer = malloc(buffer_size)
MyType x;
TBufferFile b(TBuffer::kWrite, buffer_size, buffer); // Is it correct buffer type to use?
b.StreamObject(&x, "MyType");

Как узнать, в каком месте b.Buffer()или buffer а сколько байт было написано? Как можно прочитать объект из памяти?

Большое спасибо за помощь!

...