C++:
Jobbe med TOML

Hvordan:

For å arbeide med TOML i C++, trenger du et bibliotek som toml++. Her er en rask start:

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

int main() {
    // Parse TOML fra en fil
    std::ifstream ifs("config.toml");
    auto config = toml::parse(ifs);

    // Tilgang til en verdi
    std::string title = config["title"].value_or("Uten tittel");
    std::cout << "Tittel: " << title << '\n';

    // Endre og lagre TOML
    config["title"] = "Ny Tittel";
    std::ofstream ofs("config.toml");
    ofs << config;
}

Eksempel på config.toml:

title = "Eksempel"

Eksempel på output:

Tittel: Eksempel

Dypdykk

TOML ble skapt av Tom Preston-Werner i 2013 som et alternativ til YAML og JSON. Det er designet for å være enkelt og eksplisitt, hovedsakelig for konfigurasjonsfiler. I motsetning til JSON fokuserer TOML på å være utvetydig, noe som betyr at det er deterministisk i hvordan dokumentet blir tolket.

Alternativer til TOML inkluderer YAML, som er mer tillatende i hva som er tillatt, skjønt noen ganger på bekostning av forutsigbarhet. JSON, et annet alternativ, er ganske streng i struktur, men ikke så menneskevennlig for konfigurasjoner på grunn av mangel på kommentarer og dets klammesvære syntaks.

I implementering, er toml++ et header-only C++17 bibliotek som er i samsvar med den nyeste TOML-spesifikasjonen. Det tilbyr et DOM-lignende grensesnitt for å navigere og manipulere TOML-data, noe som gjør det greit å integrere i prosjekter. Biblioteket tar seg av parsing, validering og generering av output, slik at du kan få og sette TOML-data ved hjelp av C++-typer.

Se også