C++:
Робота з TOML

Як:

Щоб працювати з TOML у C++, вам знадобиться бібліотека, така як toml++. Ось швидкий старт:

#include <toml++/toml.h>
#include <iostream>
#include <fstream>

int main() {
    // Розбір TOML з файлу
    std::ifstream ifs("config.toml");
    auto config = toml::parse(ifs);

    // Доступ до значення
    std::string title = config["title"].value_or("Untitled");
    std::cout << "Назва: " << title << '\n';

    // Змінити і зберегти TOML
    config["title"] = "Нова назва";
    std::ofstream ofs("config.toml");
    ofs << config;
}

Зразок config.toml:

title = "Приклад"

Зразок виводу:

Назва: Приклад

Поглиблене вивчення

TOML було створено Томом Престон-Вернером у 2013 році як альтернативу YAML і JSON. Воно розроблено бути простим і однозначним, головним чином для файлів конфігурації. На відміну від JSON, TOML зосереджується на тому, щоб бути недвозначним, що означає детермінований спосіб аналізу документа.

Альтернативи TOML включають YAML, який є більш дозволяльним у тому, що допускається, хоча іноді це може коштувати передбачуваності. JSON, інша альтернатива, досить строгий у структурі, але не так зручний для людини для конфігурацій через відсутність коментарів та його складний синтаксис із використанням дужок.

У впровадженні, toml++ - це бібліотека C++17, яка складається тільки з заголовочних файлів і відповідає останній специфікації TOML. Вона надає інтерфейс, схожий на DOM, для перегляду та маніпулювання даними TOML, що робить її легкою для інтеграції в проєкти. Бібліотека бере на себе аналіз, валідацію та генерацію виводу, дозволяючи вам отримувати та встановлювати дані TOML, використовуючи типи C++.

Див. також