Дерево свойств использует специализацию шаблона частичного класса. Не было никаких попыток обойти отсутствие поддержки для этого. Поэтому библиотека, скорее всего, не будет работать с Visual C++ 7.0 или более ранним, или gcc 2.x.
Дерево свойств было протестировано (регрессии успешно составлены и запущены) следующими компиляторами:
Почему существует 3 версии<get>? Разве не может быть только один?Три версии отражают опыт, накопленный за несколько лет использования дерева свойств в нескольких различных приложениях. В течение этого времени я изо всех сил пытался придумать одну, правильную форму функции получения, и потерпел неудачу. Я знаю об этих трех основных моделях использования:
Просто получайте данные, и мне все равно, если это не может быть сделано.Это используется, когда программист уверен, что данные существуют. Или домашние задания. Или когда завтра будет последний срок для вашего проекта.
Получите данные и вернитесь к значению по умолчанию, если это невозможно.Используется, когда вы хотите пропустить ключ, о котором идет речь. Внедряется некоторыми аналогичными инструментами (окна INI функции доступа к файлам).
Получите данные, но меня больше волнует, удалось ли вам это, чем я сам.Используется, когда вы хотите изменить поток управления в зависимости от успеха / неудачи. Или проверить наличие ключа.
Математические отношения: разность деревьев, союз, пересечение. Полезно для поиска изменений в конфигурационных файлах и т.д.
Статья Appendices раздела The Boost C++ Libraries BoostBook Documentation Subset Chapter 28. Boost.PropertyTree может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.