Выходные данные неизвестны, 2012. — 170 с.
(Перевод с английского - Striver)
Шаблоны являются центральной особенностью языка программирования D, дающей вам мощные возможности генерации кода времени компиляции, которые сделают ваш код более чистым, более гибким, и даже более эффективным.
Первая часть имеет дело с самыми основами: как объявлять и создавать экземпляр шаблона, стандартные «строительные блоки», которые вы будете использовать почти во всех ваших шаблонах, вместе с шаблонами функций, структур и классов. Во всем тексте примеры будут представлять применения этих понятий.
Вторая часть о более продвинутых темах, которые пользователи шаблонов D, вероятно, будут использовать, но не ежедневно, такие как ограничения шаблона, mixin-шаблоны или перегрузка операторов.
Третья часть представляет другие инструменты метапрограммирования: строки mixin, вычисление функций времени компиляции (compile-time function evaluation), и __traits. Они рассмотрены с точки зрения шаблонов: как они могут взаимодействовать с шаблонами и что вы можете построить из них в сочетании с шаблонами.
Наконец, приложение о вездесущем выражении is, и о других ресурсах для дальнейшего чтения, дополняющих этот документ.