Skip to content

Version 1.0.0

Choose a tag to compare

@StormBytePP StormBytePP released this 04 Sep 23:04
· 35 commits to master since this release

[Summary]

StormByte Config is the configuration-document module of the StormByte C++ suite.

It depends on StormByte Base. This repository is not Base, Buffer, Crypto, Database, Logger, Multimedia, Network or System.

Public headers under StormByte/config/ cover text and versioned binary documents: values, groups, lists, comments, hooks and Save / Load.

If you landed here from a release link and have not read the tree:

  • What this module is, how to build it, and short examples: README.md
  • License: GNU Lesser General Public License version 3 or later, LICENSE

Initial public release of StormByte Config.

Added

  • Config document with operator<< / operator>> for text
  • Save / Load with Mode::Text and Mode::Binary
  • Versioned binary envelope: magic STBTCF + format version + payload
  • Values: string, integer, double, boolean, binary (std::vector<std::byte>)
  • Text binary values as Base64 b"..."; raw bytes on the binary wire
  • Comments: #, //, /* */
  • Containers: lists [] and groups {}
  • Pre/post read hooks (AddHookBeforeRead / AddHookAfterRead)
  • OnExistingAction (Keep, Overwrite, ThrowException; default is throw)
  • Project version read from the VERSION file
  • CMake 3.28 floor

Notes

  • Stream operators are text-only. Use Save / Load for binary.
  • Older supported binary versions load fully; newer versions are rejected.
  • Save always writes the current format version.
  • Needs a C++26 compiler and StormByte Base ≥ 1.0.0.