Есть некоторая структура данных, с векторами, map-ами, и опциональными переменными (boost::optional).
Требуется составить удобный для пользователя формат заполнения этой структуры.
Это должен быть легко прозрачный для пользователя текстовый формат.
Желательно, JSON-подобный, но подойдет и xml (если не слишком перегруженный).
Попробовал Boost.Serialize в xml архов:
boost::optional<std::string> comment;
в xml превращается в
Здравствуйте, andrey.desman, Вы писали:
AD>Здравствуйте, Chorkov, Вы писали:
C>>Есть ли готовые реализации архивов, подобного случая?
AD>Так а собственно, чем JSON или Lua не устраивают?
C>Или использование boost.serialize, в принципе плохая идея и нужен другой подход?
Да, лучше встроить интерпретатор подходящего скриптового языка. Хинт: попытки использования XML или другого подобного формата для записи сложных данных в текстовом формате часто приводят в итоге к "наколенной" неэффективной реализации некоторого уродливого языка программирования; лучше сразу скипнуть этот шаг. Подробнее см. у Эрика Рэймонда.
Если не лень адаптировать структуру под boost.fusion sequence, выписать форму Бэкуса-Наура (которая станет qi грамматикой), то подойдёт boost.spirit. Там всё можно настроить.
Здравствуйте, Chorkov, Вы писали:
C>Есть некоторая структура данных, с векторами, map-ами, и опциональными переменными (boost::optional). C>Требуется составить удобный для пользователя формат заполнения этой структуры. C>Это должен быть легко прозрачный для пользователя текстовый формат. C>Желательно, JSON-подобный, но подойдет и xml (если не слишком перегруженный).
Здравствуйте, Chorkov, Вы писали:
C>В boost.serialize есть готовый JSON архив?
забей на boost.serialize, у него другая ниша
возьми любой json парсер. Json гораздо комфортнее для чтения и записи людьми, в частности, из-за встроенной поддержки массивов
Здравствуйте, uzhas, Вы писали:
U>Здравствуйте, Chorkov, Вы писали:
C>>В boost.serialize есть готовый JSON архив?
U>забей на boost.serialize, у него другая ниша U>возьми любой json парсер. Json гораздо комфортнее для чтения и записи людьми, в частности, из-за встроенной поддержки массивов
Только желательно завестись редактором поддерживающим схему для JSON если писать вручную придётся.
Здравствуйте, Kswapd, Вы писали:
K>Да, лучше встроить интерпретатор подходящего скриптового языка. Хинт: попытки использования XML или другого подобного формата для записи сложных данных в текстовом формате часто приводят в итоге к "наколенной" неэффективной реализации некоторого уродливого языка программирования; лучше сразу скипнуть этот шаг. Подробнее см. у Эрика Рэймонда.
А какая именно книга/статья имеется ввиду? "Искусство программирования для Unix"?