This library is basically a compilation of solutions from a variety of sources.

Because these solutions are spread across the intertubes and mutate or offer variants in time, it is fairly hard to track originators to credit them; instead, this page credits what sources was each solution adapted from.Here follows a partial list of credits.

To be completed.

  • Compiler identification code - adapted from solutions offered by the Pre-Defined Compiler Macros Wiki.
  • Default compiler #include paths - extracted from experimentation, assumed to be usable.
  • Null pointer literal - official backport recommendation by the C++ Standard Committee. Used implementation exposed here: Backporting nullptr (StackOverflow).
  • static_assert - adapted from sources also used by Boost.Static Assert.
  • Iterator helper functions - written by hand supported on signatures from cppreference.com .
  • addressof - implemented following cppreference.com .
  • Fundamental type traits - combined various sources, mostly cppreference.com and the cplusplus chart.
  • Portable stdint.h original header by Paul Hsieh recommended in this tutorial, wrapped with some assistance from Predef Wiki (see above).
  • Metaprograming helpers - various sources across the internet but literal implementation adapted from Wikipedia .
  • unique_ptr - adapted from code by Howard Hinnant's 2009 implementation, with Boost dependencies removed.
  • Value-Initialized helper taken and adapted from Boost.
  • "explicit_cast" helper taken from Imperfect C++: Solutions for the Real World and adapted to work in both C++03 and C++11.
  • Container initialization helper (i12n) - written by hand, from the basic "initialization by iterator range" idiom.
  • "auto" Semantics Emulation - written by hand supported on code from the Pre-Defined Compiler Macros Wiki.
  • Local functor emulation - written by hand following client code samples from Boost.LocalFunction.
  • std::dynarray - written by hand following reference synopsis in Cppreference.
  • Transparent Functors (less, etc) - written by hand following reference synopsis in Cppreference.

Back to the beginning.