Показать сообщение отдельно

  #1  
Старый 01.05.2023, 18:41
Receiver
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами: 5332594

Репутация: 163


По умолчанию

Описание: Конфигурационная система упрощающая загрузку, сохранение и использование переменных в JSON.

Исходник: https://github.com/Receiver1/json_config_system

Пример использования:

C++:





[CODE]
#include "config.hpp"
#include
#include
#include
#include
// Все переменные нужно оборачивать в класс
config
::
ConfigVariable_t

string
{
"string"
,
std
::
string
{
}
}
;
config
::
ConfigVariable_t
>
vector_of_integers
{
"vector_of_integers"
,
{
1
,
2
,
3
}
}
;
// Сужающее преобразование типов
void
print_vector
(
std
::
vector

vector
)
{
for
(
auto
&
iterator
:
vector
)
{
std
::
cout

clear
(
)
;
vector_of_integers
->
clear
(
)
;
// Загружаем конфиг из файла
config
::
instance
.
load
(
"test.config"
)
;
// Выводим загруженные переменные
std
::
cout



Доступные методы класса 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:ath path)Устанавлиает путь до стандартнй папки с конфигурациями.

P.S.: Библиотека создаёт глобальную переменную
Код:
config::instance
, она нужна для автоматического добавления переменных на хранение.
 
Ответить с цитированием