Re[2]: С++: метаданные своими руками
От: cpp_best  
Дата: 18.02.06 20:14
Оценка:
Здравствуйте, Odi$$ey, Вы писали:

OE>Здравствуйте, Андрей Мартынов, Вы писали:


АМ>>В статье рассмотрен декларативный подход к решению задачи чтения/записи XML-файлов из программ на классическом C++. Метод основан на построении специальной структуры статических данных – метаданных типов.


OE>а чего надо подкрутить, чтоб можно было с полями типа CString работать, типа так:


OE>
OE>struct Clr
OE>{
OE>  CString str;

OE>  struct LayoutDefault : public Layout<Clr>
OE>  {
OE>    LayoutDefault()
OE>    {  //        тег         поле        значение по умолчанию
OE>      Simple(_T("STRING"  ), &Clr::str, "default string");
OE>    }
OE>  };
OE>};
OE>


Внимательно читаем статью к библиотеке, или читаем ошибку при смене типа переменной на CString и получаем:
в файле SerizlizerPrim.h в пространстве имен Rsdn::Serializer::Primitives добавляем шаблон для нужного типа.
Но по-моему тех, что реализованы в библиотеке достаточно. Для строк можно использовать tstring (это typedef на std::wstring), который оперирует 2х байтовыми символами. В значении по умолчанию пишем что-то вроде этого:
std::wstring(L"Microsoft")

С уважением, cpp_best.
P.S. Сам мучился с этим, и как всегда сработала извечная истина: находишь решение в ... (блин, уже спать пора)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.