![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
zss |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 708 Регистрация: 17.6.2004 Репутация: 1 Всего: 2 |
есть структура, которая содержит в себе вложенные структуры. Их количество может быть любым (в этом и сложность)
например, если на STL то примерно так
как быстро осуществить сериализацию ? 2. Размер выше приведенных структур фиксирован, но не фиксированно их число Но еще у меня есть структура, которая имеет заголовок struct Header{ unsigned size; } который определяет число элементов, следующих сразу за ней их тип unsigned short. Тоесть число элементов может быть любым Как тогда в этом случае? З.Ы. И десериализация тоже интерисует |
|||
|
||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
zss, стоит наверное взглянуть на реализацю Boost.Serialization. По крайней мере, со стандартными контейнерам она работать умеет и простор для пользовательской реализации предоставляет. Насчет скорости ничего существенного сказать не могу.
Думаю, если в сериализуемоем графе объектов нет циклов, реализацию можно сильно упростить. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
zss |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 708 Регистрация: 17.6.2004 Репутация: 1 Всего: 2 |
Void, чесно говоря не совсем понял как его юзать
![]() Можно пояснить, если не сложно З.Ы. есть еще одна сложность - иногда мне нужно серелиазовать не всю структуру целиком, а только ее срез например
то нужно только
Это реально ? (или руками придется) |
||||
|
|||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
Пример частичной сериализации структры на Boost.Serialization:
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |