Besides the normal features that are activated automatically upon inclusion of the library, as well as the Supplements, there are a number of side-projects that don't count as part of cxxomfort's distribution proper. They are being developed separately and rather than integrate with cxxomfort tightly they just depend on the library as a whole.

The idea is to pick a number of features, proposals or general C++ concepts and implement them separately. There are a number of reasons to tackle these features separately:

  • the syntax to implement them is too different to C++'s normal syntax (heavy macros, etc) or is too heavy.
  • the feature is more advanced or convoluted and benefits from being decoupled from most cxxomfort internals.
  • the feature is heavily compiler-dependent.
  • the feature is not standardized yet and/or present only as a proposal.

In order to use these features, they can be cloned or downloaded from their specific repositories.

Last update of this listing: November 2018

List of Extras

  • cxxo-literal_affixes - An emulation of C++11's suffix user-defined literals, that also work as normal function objects.
  • cxxo-vocabulary17 - Implementation of the three "vocabulary types" added in C++17: std::optional, std::variant and std::any.
  • cxxo-minrange - A minimalistic std::range proposal built around n3350 "A minimal std::range".
  • cxxo-static_storage - A storage for types that makes them act as "literal" types like ints: objects are never destructed during the program's lifetime, and references/handles to them are passed around as "fly-weights" instead.
  • cxxo-udl - An implementation of suffix user-defined literals, simpler than the one above.
  • cxxo-tuple_io - Stream output operators for std::tuple .