Подтвердить что ты не робот

Легкая конфигурация библиотеки С++

Я ищу кросс-платформенную конфигурационную библиотеку С++ с неограниченной лицензией. Мне нужно что-то более сложное, чем стандартный файл свойств с разделами, но я не хочу использовать XML (слишком много написания: -)).

Я хотел бы написать конфигурацию следующим образом:

render = 
{
    window = 
    {
        width = 800,
        height = 600
    }
}
4b9b3361

Ответ 1

Там увеличьте property_tree. license позволяет коммерческое использование.

Ваш пример:

ptree pt;
pt.put("render.window.width", 800);
pt.put("render.window.height", 600);

Это может быть, например, экспортироваться в JSON

write_json("my_config.json", pt);

который будет выглядеть как

{
  "render":
  {
    "window":
    {
      "width": 800;
      "height": 600;
    }
  }
}

Точно так же вы можете экспортировать в XML, INI и INFO.

Ответ 2

Вы также можете попробовать JsonCpp и записать свои файлы конфигурации в Json, который имеет очень похожий синтаксис к тому, который вы как:

// Configuration options
{
    // Default encoding for text
    "encoding" : "UTF-8",

    // Plug-ins loaded at start-up
    "plug-ins" : [
        "python",
        "c++",
        "ruby"
        ],

    // Tab indent size
    "indent" : { "length" : 3, "use_space": true }
}

Под MIT License, поэтому он очень разрешительный.