C++:
Travailler avec TOML

Comment faire :

Pour travailler avec TOML en C++, vous aurez besoin d’une bibliothèque comme toml++. Voici un démarrage rapide :

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

int main() {
    // Analyser TOML à partir d'un fichier
    std::ifstream ifs("config.toml");
    auto config = toml::parse(ifs);

    // Accéder à une valeur
    std::string title = config["title"].value_or("Sans Titre");
    std::cout << "Titre : " << title << '\n';

    // Modifier et sauvegarder TOML
    config["title"] = "Nouveau Titre";
    std::ofstream ofs("config.toml");
    ofs << config;
}

Exemple de config.toml :

title = "Exemple"

Exemple de sortie :

Titre : Exemple

Plongée Profonde

TOML a été créé par Tom Preston-Werner en 2013 en tant qu’alternative à YAML et JSON. Il est conçu pour être simple et explicite, principalement pour les fichiers de configuration. Contrairement au JSON, TOML se concentre sur l’absence d’ambiguïté, ce qui signifie qu’il est déterministe dans la manière dont le document est analysé.

Parmi les alternatives à TOML figurent YAML, qui est plus permissif quant à ce qui est autorisé, bien que parfois au prix de la prévisibilité. JSON, une autre alternative, est assez strict dans sa structure mais pas aussi convivial pour les configurations en raison de l’absence de commentaires et de sa syntaxe lourde en accolades.

En implémentation, toml++ est une bibliothèque C++17 uniquement d’entêtes qui est conforme à la dernière spécification TOML. Elle fournit une interface de type DOM pour naviguer et manipuler les données TOML, ce qui la rend facile à intégrer dans des projets. La bibliothèque s’occupe de l’analyse, de la validation, et de la génération de sortie, vous permettant de lire et de définir des données TOML en utilisant des types C++.

Voir Aussi