Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

metadata_and_c++

20K
21 августа 2006 года
programmer_c++
3 / / 21.08.2006
Подскажите пожалуйста, есть ли какие-либо библиотеки, которые осуществляют serialize/deserialize объектов, извлекают метаданные из классов. Программирую под Unix. Почитал об RTTI, но везде пишут только про приведение типов.
240
21 августа 2006 года
aks
2.5K / / 14.07.2006
Стандартных средств как в некоторых языках нету. Есть разные наработки. В принципе можно вручную огранизовывать сериализацию, наследовав от определенного класса, а рописывать данные для сериализации в каждом классе всеравно придется.
Есть хорошая реализация в boost.
Все равно в классах придеться определять методы сериализации, но весь механизм работы довольно удобный и универсальный.
Можно посмотреть в boost/serialization
Там же есть документация или в онлайне http://www.boost.org/libs/serialization/doc/index.html
В документации приводятся ссылки еще на некоторые библиотеки для сериализации, которые были изученны в процессе работы а так же рассмотренны их достоинства и недостатки.
Например:
http://www.gnu.org/software/commoncpp/
и
http://www.s11n.net/
Так же наткнулся сейчас на библиотеку http://sourceforge.net/projects/eternity-it/, раньше не видел и что там и как не знаю.

Это те у которых нет привязки к конкретной платформе и используется (не знаю насчет всех но в boost точно) только стандарт языка.
Использовать наверное легче всего опять же boost, потому что он уже почти стандарт.
20K
21 августа 2006 года
programmer_c++
3 / / 21.08.2006
to aks.
Thanks, сейчас погляжу линки. У меня сейчас определены интерфейсы, и я для каждого объекта сам произвожу сериализацию. Просто хотелось бы средство, в котором имелось бы два средства - serialize и deserialize. Ну или на последний случай - самому извлекать все названия полей объекта (во время выполнения) и производить сериализацию. Пошел смотреть линки. :-)
20K
21 августа 2006 года
programmer_c++
3 / / 21.08.2006
to aks.
Кстати, (вопрос вот по тем линкам, которые ты дал), имеются ли там средства для сериализации объектов не на постоянные запоминающие устройства, а для сериализации в память(ОЗУ). Просто мне нужно, чтобы объект сериализовался и отправлялся немедленно.
240
21 августа 2006 года
aks
2.5K / / 14.07.2006
В принципе сериализуемые данные в boost можно писать в определенный stream. Вполне можно реализовать свою версию, отнаследоваться от стандартных потоков и переопрделить операции записи на свои.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог