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