У меня есть что-то вроде этого:Как я могу специализировать typedef и его неявный тип по-разному?
typedef int AnotherType;
template <typename T> Func(T Value);
// And I want to specialize these two cases separately:
template <> bool Func<int>(int Value) {...}
template <> bool Func<AnotherType>(AnotherType Value) {...}
Я действительно не нужно специализироваться на междунар, что мне действительно нужно, чтобы выполнять различные функции для AnotherType. И я не могу изменить определение AnotherType или базовой функции.
Перегрузка не помогает ни из-за SFINAE.
На данный момент я не могу включить внешнюю библиотеку. Но я думаю, что идея сильного typedef - это именно то, о чем я думал: класс, который действует точно так же, как и мой базовый тип. Хотя сильный синтаксис Boost кажется ограниченным, он, вероятно, не сработает, даже если бы я мог его включить. – Frigg
Это как можно ближе к решению I Похоже, для моего конкретного случая он оказался наименее плохим вариантом. – Frigg