C++ implementation of the Generic Binary Keyed Format (*.gbkf) https://gbkf.rsm92.fr
  • C++ 97.3%
  • CMake 2.7%
Find a file
2025-11-10 10:56:56 +01:00
include/GBKF header const rename 2025-10-07 08:20:22 +02:00
lib spec alignment 2025-09-28 16:30:34 +02:00
tests Test KeyedValues getKey() and getValuesNb() 2025-09-28 16:55:08 +02:00
.gitignore emscripten-build/ 2025-05-25 14:37:59 +02:00
BUILD.md install instruction 2025-07-19 12:36:56 +02:00
CMakeLists.txt Organized the code into GBKFCore / GBKFCoreReader / GBKFCoreWriter 2025-07-19 12:21:21 +02:00
LICENSE Update license to PFSSL v1.0 2025-05-18 14:42:10 +02:00
README.md correct website link 2025-11-10 10:56:56 +01:00

C++ implementation of the Generic Binary Keyed Format (*.gbkf).

Remarks

  • This implementation only supports CPUs that use little-endian byte order. If the CPU uses a different byte order, the Reader and Writer constructors will throw an exception. You can create a ticket if needed.

  • Currently, the Reader and Writer classes store all content in RAM. In the future, they will be improved to support disk-based I/O operations for large files.

  • In some cases method overloading was avoided because:

    • It makes explicit for the developer the type of the data is being handled, which I think it's a very important detail in a binary format.
    • It will harmonize the implementation across different languages.

    An example of this is addKeyedValuesUInt8, addKeyedValuesUInt16, ...

  • KeyedValues was moved into a class to enforce the safety of casting the shared pointer of the values.