C++:
Trabalhando com TOML

Como Fazer:

Para trabalhar com TOML em C++, você precisará de uma biblioteca como toml++. Aqui está um guia rápido:

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

int main() {
    // Analisar TOML de um arquivo
    std::ifstream ifs("config.toml");
    auto config = toml::parse(ifs);

    // Acessar um valor
    std::string title = config["title"].value_or("Sem Título");
    std::cout << "Título: " << title << '\n';

    // Modificar e salvar TOML
    config["title"] = "Novo Título";
    std::ofstream ofs("config.toml");
    ofs << config;
}

Exemplo de config.toml:

title = "Exemplo"

Saída de exemplo:

Título: Exemplo

Aprofundamento

TOML foi criado por Tom Preston-Werner em 2013 como uma alternativa ao YAML e JSON. Ele é projetado para ser simples e explícito, principalmente para arquivos de configuração. Diferente do JSON, o TOML foca em ser inequívoco, o que significa que é determinístico em como o documento é analisado.

Alternativas ao TOML incluem o YAML, que é mais permissivo no que é permitido, embora às vezes ao custo da previsibilidade. O JSON, outra alternativa, é bastante estrito em estrutura, mas não tão amigável para configurações humanas devido à falta de comentários e sua sintaxe pesada de chaves.

Na implementação, toml++ é uma biblioteca apenas de cabeçalhos C++17 que está em conformidade com a última especificação TOML. Ela fornece uma interface semelhante a DOM para navegar e manipular dados TOML, tornando-a direta para integrar em projetos. A biblioteca cuida da análise, validação e geração de saída, permitindo-lhe obter e definir dados TOML usando tipos C++.

Veja Também