Skip to content

Release v1.0.0

Latest
Compare
Choose a tag to compare
@dragonmux dragonmux released this 01 Sep 00:13
· 50 commits to main since this release
v1.0.0
c94ee1d

This is the initial release for substrate.

Included in this release are:

  • Utility headers for backporting C++14, 17 and some 20 features to older C++ versions;
  • RAII wrappers for file descriptors, sockets, memory maps, PTYs (Linux only), and pipes;
  • Type-safe formatted console IO interface with integrated log level system;
  • Threading primitives such as a thread-safe queue, and thread pool implementation;
  • OS-agnostic thread affinity helpers;
  • Types for performing zip() on containers, iterating over a numerical range (indexSequence_t), and iterating over a container in the style of enumerate() (indexedIterator_t);
  • Command line options representation and parser;
  • Concurrency types for rwlocks, latches, barriers, and helpers for getting the current thread ID and number of CPUs available platform-agnostic;
  • Bit manipulation helpers;
  • Packed integer encoders/decoders such as for LEB128;
  • Helpers for handling integer promotion problems;
  • Implementations of hashing/checking algorithms such as murmur128 and CRC32;
  • Types for representing packed boolean flags and bitwise flags fields;
  • Types for implementing smart bitfields;
  • Implementations of the cryptographic functions SHA256/512, and Twofish;
  • Various PRNG implementations;