Обход специализации шаблона

Предположим, я являюсь пользователем определенной библиотеки шаблонов ( CTL ), которая определяет шаблон, скажем, с именем Hector

template <class T>
class Hector {...};

и в своей документации он дает много гарантий относительно поведения шаблона Hector . Но затем он также определяет специализацию для определенного типа Cool

template <>
class Hector<Cool> {....};

Целью специализации является более оптимизированная реализация Hector , но, к сожалению, из-за этой оптимизации многие гарантии Hector нарушены.

В настоящее время мне особо не нужна оптимизация, я бы предпочел сохранить все гарантии Hector . Могу ли я как-нибудь, не меняя код библиотеки ( CTL - очень уважаемая библиотека, знаете ли), обойти специализацию? В любом случае? Может, обертку написать какую нибудь? Что-нибудь? Я просто хочу, чтобы компилятор сгенерировал код для Hector обычным, неоптимизированным способом, со всеми гарантиями.

38
задан Armen Tsirunyan 27 June 2011 в 21:25
поделиться