структуры с метаданными
От: x-code  
Дата: 18.07.06 18:08
Оценка:
Привет всем! пришла в голову мысль, что неплохо было бы создать такие макросы или шаблоны, чтобы описывать структуру с какими-либо метаданными (числовыми или строковыми константами)

STRUCT(MyPoint, "Точка")
DECLARE(int, x, "Первая координата")
DECLARE(int, y, "Вторая координата")
END_STRUCT()

это должно развертываться в обычное описание структуры и некоторые статические данные,
привязанные к каждому полю структуры. Структура путь наследуется от класса со статическими функциями, в которых реализуется некоторая функциональность — например:

получить текстовое имя переменной по смещению
char *p = MyPoint::GetName( &MyPoint::x );

загрузить из ini-файла или из xml
MyPoint pt;
MyPoint::LoadFromIni(&pt, "data.ini");

и т.д.

Но как это сделать??? Вариант с const static внутри структуры (который можно инициализировать прямо в процессе декларации структуры) проходит только на VS2006, а хочется чтобы работало и на VS6 и на VS7.1.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.