C++ и "универсальная сериализаци". Велосипед?
От: _A_L_X_  
Дата: 14.08.05 16:21
Оценка:
В ходе обсуждения вопросов реализации универсального сериализатора для C++ было придумано промежуточное решение, которое можно сформулировать так:

Схема работы:

1. Пишем проект на классическом C++, оформляя классы, нуждающиеся в сериализации и динамическом создании вообще, RTTI следующим образом:


// @class[dynamic,serializable]
class SomeClass
{
private:
// @field[serializable]
int x;
// @field[serializable]
std::string name;
// @field[serializable,array]
float *height_map;
// @field[serializable,polymorphic]
SomeOtherClass *parent;
// @field[serializable,polymorphic,array]
SomeOtherClass **childs;
...
public:
// @ctor
SomeClass();
// @meth
void someMethod( ... );
...
};



2. Перед компиляцией программы запускаем специальный парсер, который сделает нам для всех наших модулей новый модуль: rtti.cpp и rtti.h заполнив их всем что для жизни надо.

3. Компилируем весь проект, используя файл rtti и заранее сгенерированные ф-ии из него.

4. Запускаем.

Прошу не придираться к конкретным тегам — это лишь задумка, но ясен пень что это всё пахнет большущим велосипедом, поэтому вопрос ребром:

Встречали ли вы аналогичную схему сериализации для кода на C++ и если да, то где??
На boost::serialize просьба не отсылать — вопрос стоит так как он поставлен.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.