-
- Смещением в пределах некоей однородной структуры, верно? А у меня
там по факту кучка разнородных структур разного размера. Проще
показать, чем на словах объяснять. Вот общее объявление рабочих
структур данных: Argon(809 знак., 01.03.2022 20:09)
- Извините, что не сразу ответил. Украинская тема отвлекает. Итак, не
совсем понятно - одинаковый размер структур или разный. Потому что
в коде я вижу фиксированный размер. Если структурки небольшие, то я
бы сделал _все_ одинакового размера (по максимальной). Если нужен
разный размер, то надо иметь возможность вычислять размер структур
и данных, их положение в потоке относительно исходной точки -
начала файла, пакета, заголовка (header). Возможно, потом у вас
идут структуры, Costic(355 знак., 02.03.2022 21:55)
- По факту у меня вложенные структуры, самые крайние из них имеют разный размер, который вычисляется на этапе компиляции и вставляется сюда: const uint16_t size; - Argon(03.03.2022 11:25)
- Перечитал исходный пост. Делайте классы с наследованием. Базовый
класс с сериализацией (чисто виртуальная функция, например, virtual
bool write(my_stream &)=0;) и всеми методами необходимыми. Для
каждого модуля делаете свой класс и метод записи для него. Надо
подумать над оператором копирования и конструкторами. Всё это дело
в контейнер с оператором []. Какой контейнер - сложно сразу
сказать. У стандартных аллокаторы с динамической памятью и "хвост"
зависимостей. Costic(53 знак., 02.03.2022 22:05)
- Спасибо, буду пробовать, может голова начнет работать. - Argon(03.03.2022 11:25)
- Извините, что не сразу ответил. Украинская тема отвлекает. Итак, не
совсем понятно - одинаковый размер структур или разный. Потому что
в коде я вижу фиксированный размер. Если структурки небольшие, то я
бы сделал _все_ одинакового размера (по максимальной). Если нужен
разный размер, то надо иметь возможность вычислять размер структур
и данных, их положение в потоке относительно исходной точки -
начала файла, пакета, заголовка (header). Возможно, потом у вас
идут структуры, Costic(355 знак., 02.03.2022 21:55)
- Смещением в пределах некоей однородной структуры, верно? А у меня
там по факту кучка разнородных структур разного размера. Проще
показать, чем на словах объяснять. Вот общее объявление рабочих
структур данных: Argon(809 знак., 01.03.2022 20:09)