Краткое содержание предыдущих частей
Из-за ограничений на возможность использовать компиляторы C++ 11 и от безальтернативности boost'у возникло желание написать свою реализацию стандартной библиотеки C++ 11 поверх поставляемой с компилятором библиотеки C++ 98 / C++ 03.
Были реализованы static_assert, noexcept, countof, а так же, после рассмотрения всех нестандартных дефайнов и особенностей компиляторов, появилась информация о функциональности, которая поддерживается текущим компилятором. Включена своя реализация nullptr, которая подбирается на этапе компиляции.
Настало время type_traits и всей этой «особой шаблонной магии». В первой части мы рассмотрели мою реализацию самых простых шаблонов стандартной библиотеки, теперь же заберемся «поглубже» в шаблоны.
Ссылка на GitHub с результатом на сегодня для нетерпеливых и нечитателей:
Продолжение погружения в мир «шаблонной магии» C++.
Читать полностью »