The C++ standard library has gained a lot of useful functions, data structures and other constructs since C++11; and interestingly enough - many if not most of these can actually be implemented in C++11, perfectly or sans their C++14/17/20-specific functionality.

For this reason, myself and many C++ developers who can't use the latest-and-greatest standard version, often either roll out our own "poor man's optional" or "integer sequence"; or get one from a StackOverflow answer; or pick up a library which offers a variant in C++11 and so on.

What I would be looking for is a single library, header-only (or with objects for the code which you would need objects for in the standard library), which places as many as possible back-ported newer-C++ constructs together, in the same namespace, for you to use - instead of having to gather and collect a dozen different individual libraries and snippets.

Required features:

  • C++11-compatible
  • Actively maintained
  • Has seen some meaningful use (i.e. not just a handful of people)
  • Decent (though not necessarily full) coverage of what can be backported
  • Non platform-specific
  • Compatible with GCC and clang
  • Libre
  • Gratis

Desired features:

  • CMake building and export
  • Can be used with any standard version, indicating which standard version's constructs one wishes to have available.
  • Makes some sort of guarantee regarding quality of implementation w.r.t. performance.
  • No compilation warnings.
  • Compatible with GCC, clang, ICC, MSVC and maybe others
  • Covered by unit-tests
  • Some kind of official endorsement

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.