https://github.com/albin-johansson/init
A simple .ini parsing and serialization library
https://github.com/albin-johansson/init
cpp cpp20 header-only ini ini-parser modern-cpp
Last synced: 10 months ago
JSON representation
A simple .ini parsing and serialization library
- Host: GitHub
- URL: https://github.com/albin-johansson/init
- Owner: albin-johansson
- License: mit
- Archived: true
- Created: 2021-08-26T09:48:53.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2021-08-26T20:00:23.000Z (almost 5 years ago)
- Last Synced: 2025-04-04T07:12:22.436Z (about 1 year ago)
- Topics: cpp, cpp20, header-only, ini, ini-parser, modern-cpp
- Language: C++
- Homepage:
- Size: 36.1 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# init
[](https://opensource.org/licenses/MIT)
[](https://github.com/albin-johansson/init/releases)
[](https://github.com/albin-johansson/init/actions/workflows/windows.yml)
[](https://github.com/albin-johansson/init/actions/workflows/ubuntu.yml)
A simple .ini parsing and serialization library, written in C++20.
## Features
* Written in modern C++20
* No dependencies other than the STL
* Header only
* Supports both parsing and writing ini files
* Support for custom syntax
## Installation
The library is header-only, include the headers in the `src` directory in your project, and you're
ready to go!
## Basic Usage
```C++
#include
void read()
{
const auto ini = init::read_ini("foo.ini");
const auto& section = ini.at("section");
int abc{};
section.at("abc").get_to(abc);
if (section.contains("def"))
{
auto def = section.at("def").as();
}
}
void write()
{
init::ini ini;
ini["section"]["abc"] = 42;
ini["section"]["def"] = 12.3;
init::write_ini(ini, "foo.ini");
}
```