cista

Cista is a simple, high-performance, zero-copy C++ serialization & reflection library.

MIT License

Stars
1.8K

Bot releases are hidden (Show)

cista - v0.15 Latest Release

Published by felixguendling 6 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/felixguendling/cista/compare/v0.14...v0.15

cista - v0.14: bugfixes and nvec

Published by felixguendling over 1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/felixguendling/cista/compare/v0.13...v0.14

cista - v0.13: fix GCC compiler warnings

Published by felixguendling over 1 year ago

cista - v0.12: Compile-Time Type Hash/Versioning

Published by felixguendling over 1 year ago

What's Changed

Thank you @AdelKS for the first working version of static type hashing!

Full Changelog: https://github.com/felixguendling/cista/compare/v0.11...v0.12

cista - v0.11: new types, bugfixes

Published by felixguendling almost 2 years ago

What's Changed

New types: strong, optional, bitvec, vecvec, optional, wrapped

New Contributors

Full Changelog: https://github.com/felixguendling/cista/compare/v0.10...v0.11

cista - v0.10: cista::bitset, improved cista::tuple

Published by felixguendling over 2 years ago

What's Changed

Full Changelog: https://github.com/felixguendling/cista/compare/v0.9...v0.10

cista - v0.9: GDB Pretty Printers and cista_members

Published by felixguendling almost 3 years ago

What's Changed

  • cista members by @felixguendling in https://github.com/felixguendling/cista/pull/112 enabling to support reflection/serialization (also CISTA_COMPARABLE, CISTA_PRINTABLE, etc.) by adding a auto cista_members() constexpr { return std::tie(m1_, m_2, ...); } function returning all members as a std::tie().
  • Pretty Printers for Cista by @julianharbarth in https://github.com/felixguendling/cista/pull/107 to support pretty printing data of cista types in GDB-based debuggers including the Clion debugger UI

Full Changelog: https://github.com/felixguendling/cista/compare/0.8...v0.8

cista - v0.8: Tuple data structure, member_index, and many more

Published by felixguendling about 3 years ago

What's Changed

  • ARM support (32bit / 64bit)
  • Tuple data structure
  • member_index utility
  • noexcept where possible
  • mingw support
  • fix hashing for empty strings
  • fix mmap move for Windows
  • fix serialization of empty vectors

New Contributors

Full Changelog: https://github.com/felixguendling/cista/compare/v0.7...0.8

cista - v0.7: `variant<T...>`and Generic Hash Function Support

Published by felixguendling over 4 years ago

  • New serializable sum type cista::variant<T...> (similar to std::variant) with type hash and hashing support.
  • CMake option CISTA_HASH with supported values FNV1A (default), XXH3, WYHASH and WYHASH_FASTEST
  • Win32 support including Contiunous Integration
  • CMake install target
  • Endian conversion bugfix (floating point types)
cista - v0.6: Bugfix Release

Published by felixguendling almost 5 years ago

Fixes performance regression by changing hash_storage::size type to hash_t.

cista - v0.5: Feature Release

Published by felixguendling almost 5 years ago

New features:

  • Serializable high-performance hash map and hash set implementation based on Google's Swiss Table technique. By default, hash and equality are generated automatically.
  • Optional feature: Automatic data structure versioning based on generated type-hashes
  • Optional feature: checksum to prevent deserialization of corrupt data (data integrity check)
  • Memory mapped file target for serialization (~6x speed-up for practical serialization test)
  • Big endian support
  • More ways to index values (indexed_vector<T>, indexed<T>) to be able to point to them
  • Updated documentation

Development: fuzzing (also integrated into CI)

cista - v0.4: Bugfixes

Published by felixguendling almost 6 years ago

cista - v0.3: Namespaces for Offset-Based and Raw Serialization

Published by felixguendling almost 6 years ago

cista::offset and cista::raw contain functions and data structures for offset based and raw serialization

cista - v0.2: Offset Pointer Support

Published by felixguendling almost 6 years ago

offset_ptr: stores the offset as difference between this and the object it points to.
Serializing this allows to skip the deserialization step and just use a reinterpret_cast<T>(buf.begin()).
This is useful for example in situations with shared memory.

cista - v0.1: Initial Release

Published by felixguendling almost 6 years ago

Initial basic serialization functionality. For more details look into README.md.