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.
- 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
- 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