Описание: Конфигурационная система упрощающая загрузку, сохранение и использование переменных в JSON.
Исходник: https://github.com/Receiver1/json_config_system
Пример использования:
Доступные методы класса Config:
P.S.: Библиотека создаёт глобальную переменную
Исходник: https://github.com/Receiver1/json_config_system
Пример использования:
C++:
#include "config.hpp"
#include <filesystem>
#include <iostream>
#include <string>
#include <vector>
// Все переменные нужно оборачивать в класс
config::ConfigVariable_t<std::string> string{"string", std::string{}};
config::ConfigVariable_t<std::vector<int>> vector_of_integers{
"vector_of_integers", {1, 2, 3}};
// Сужающее преобразование типов
void print_vector(std::vector<int> vector) {
for (auto &iterator : vector) {
std::cout << iterator << ", ";
}
std::cout << std::endl;
}
int main() {
config::instance.set_default_path(std::filesystem::current_path());
// Доступ ко вложенной переменной
*string = "test_string";
string.get() = "test_string";
// Сохраняем конфиг в файл
config::instance.save("test.config");
// Доступ ко вложенной переменной
string->clear();
vector_of_integers->clear();
// Загружаем конфиг из файла
config::instance.load("test.config");
// Выводим загруженные переменные
std::cout << "string: " << *string << std::endl;
std::cout << "string: " << string.get() << std::endl;
print_vector(vector_of_integers);
}
Доступные методы класса Config:
void load(std::string file_name) | Загружает конфигурацию из файла. |
void save(std::string file_name) | Сохраняет конфигурацию в файл. |
void set(std::string json) | Задаёт конфигурацию из строки в формате JSON. |
std::string get() | Отдаёт конфигурацию в формате JSON строки. |
void add_variable(ConfigVariableBase_t *const variable) | Добавляет переменную на хранение. При использовании обёртки это делается автоматически. |
void set_default_path(const std::filesystem::path path) | Устанавлиает путь до стандартнй папки с конфигурациями. |
P.S.: Библиотека создаёт глобальную переменную
config::instance
, она нужна для автоматического добавления переменных на хранение.
Последнее редактирование: