Поддерживаемость шаблонов является проблемой. Это простой факт, когда вы работаете вне сообщества, посвященного общим библиотекам. Я не хочу, чтобы мои друзья и коллеги использовали Clang для запуска моего кода, просто потому что ... ну ... тогда это не очень универсально и переносимо, не так ли? Но я отчаянно хочу иметь возможность писать некоторый шаблонный код время от времени.
Какие приемы вы используете для того, чтобы сделать шаблонный код более удобным, более обслуживаемым и просто более читабельным? Такие вещи, как дескриптивные аргументы шаблона, enable-if и тому подобные маленькие причуды стиля кода, вплоть до рекомендаций, касающихся таких вещей, как то, какие компиляторы поддерживают шаблоны с переменным числом аргументов или какие шаблоны (анти-) следует избегать.
Короче говоря, каких идиом следует избегать? На что мне опираться?
Я хочу, чтобы мой код был элегантным, но не слишком элегантным.
Некоторые ресурсы, которые я нашел:
C ++ FAQ
Ошибка расшифровки
Что такое вариационные шаблоны?