Предположим, что я являюсь пользователем определенной библиотеки шаблонов (CTL), которая определяет шаблон, названный, скажем, Hector
template <class T>
class Hector {...};
И в его документации он дает много гарантий относительно поведения шаблона Hector.
Но тогда он также определяет специализацию для определенного типа Cool
template <>
class Hector<Cool> {....};
Целью специализации является более оптимизированная реализация Hector, но, к сожалению, из-за этой оптимизации нарушены многие гарантии Hector.
В настоящее время мне действительно не нужна оптимизация, я бы предпочел сохранить все гарантии Hector. Есть ли способ, который я мог бы, не меняя код библиотеки (CTL - это очень респектабельная библиотека, вы знаете), обойти специализацию? В любом случае? Может быть, написать какую-то упаковку? Что-нибудь? Я просто хочу, чтобы компилятор генерировал код для Hector<Cool> обычным, неоптимизированным способом со всеми гарантиями.