2026-06-17 23:40:35 +00:00
# iKvxx
2026-06-17 19:12:46 -05:00
Modern C++17 bindings for [iKv ](https://dock-it.dev/iDENTITY-Technology/iKv ), with RAII ownership and a JsonCpp-style `Value` API.
2026-06-17 18:57:54 -05:00
2026-06-17 19:12:46 -05:00
For installation, the complete API reference, format details, binary layout, testing, and more examples, see the * * [iKvxx Wiki ](https://dock-it.dev/iDENTITY-Technology/iKvxx/wiki )**.
2026-06-17 18:57:54 -05:00
2026-06-17 19:12:46 -05:00
## Simple syntax
2026-06-17 18:57:54 -05:00
```ikv
ikv2 "player_save"
{
"title" "iKvxx demo"
"version" 2
"player" {
2026-06-17 19:12:46 -05:00
"name" "Ada"
2026-06-17 18:57:54 -05:00
"alive" true
"speed" 12.5
}
"inventory" [
"wrench"
"battery"
"map"
]
}
```
## Library example
```cpp
#include <ikvxx/ikvxx.hpp>
int main()
{
ikv::Value root(ikv::objectValue, "player_save");
root["title"] = "iKvxx demo";
root["version"] = 2;
auto player = root.makeObject("player");
2026-06-17 19:12:46 -05:00
player["name"] = "Ada";
2026-06-17 18:57:54 -05:00
player["alive"] = true;
player["speed"] = 12.5;
auto inventory = root.makeArray("inventory", ikv::stringValue);
inventory.append("wrench");
inventory.append("battery");
inventory.append("map");
root.write("player_save.ikv");
2026-06-17 19:12:46 -05:00
auto loaded = ikv::Value::load("player_save.ikv");
return loaded["player"]["alive"].asBool() ? 0 : 1;
2026-06-17 18:57:54 -05:00
}
```
## License
2026-06-17 19:12:46 -05:00
This project is licensed under the [Creative Commons Attribution-ShareAlike 4.0 International license ](./LICENSE ).
2026-06-17 18:57:54 -05:00
2026-06-17 19:12:46 -05:00
The iKv submodule includes its own [license file ](./third_party/iKv/LICENSE ).