Отказываемся от шаблонных шаблонных параметров
Использовать шаблонные шаблонные параметры С++ довольно сложно. Хочу продемонстрировать силу boost: mpl и показать трюк, позволяющий описывать шаблоны, полностью отказавшись от шаблонных шаблонных параметров. Продемонстрирую проблему. Есть класс, принимающий тип объекта и тип контейнера для этого объекта.template struct A { typedef Container type; }; Так писать нельзя, вы должны использовать шаблонные шаблонные параметры, чтобы указать, что Container сам по себе является шаблоном.Читать дальше →