Здравствуйте, 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. Сам мучился с этим, и как всегда сработала извечная истина: находишь решение в ... (блин, уже спать пора)