cereal is a header-only C++11 serialization library. cereal takes arbitrary data types and reversibly turns them into different representations, such as compact binary encodings, XML, or JSON. cereal was designed to be fast, light-weight, and easy to extend - it has no external dependencies and can be easily bundled with other code or used standalone.
Install-Package cereal -Version 1.0.0
dotnet add package cereal --version 1.0.0
<PackageReference Include="cereal" Version="1.0.0" />
paket add cereal --version 1.0.0
#r "nuget: cereal, 1.0.0"
// Install cereal as a Cake Addin #addin nuget:?package=cereal&version=1.0.0 // Install cereal as a Cake Tool #tool nuget:?package=cereal&version=1.0.0
This is a major feature release for cereal. Notable changes include:
- Support for Visual Studio 2013 (#11)
- Support for out of order loading in text (XML/JSON) archives (#13, #14)
- Full API compatibility with Boost serialization (#8)
- Support for class versioning (#8)
- New API for types with no default constructor (#43, #44, #59)
- New minimal serialization functions (#23)
- Compliance with the compiler flags -Wextra, -Wshadow, and -pedantic (#17)
- Fixes related to libc++ compliance, especially on OSX (#49, #51, #72)
- Support for std::enable_shared_from_this (cereal hall of fame for most annoying standard library feature to support) (#47)
- Miscellaneous bug fixes, documentation updates, small improvements, and code refactoring
See the closed issues for more information.
cereal is not designed to be inherently backwards compatible across significant releases. There are a few changes in this release that may break some existing use cases:
- The constructors for XML and JSON archives accept options in a different manner (#64)
- Types with no default constructor have a new API and new names for required functions
- Some built in types may have had their serialization format changed, especially in regards to text archives using name-value-pairs.
- Enums use the new minimal serialization (#23)
- JSON archives now serialize large types in base 10 instead of base 64 (#72)
This package has no dependencies.
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.