Что-то я торможу. Я хочу так:
Timer<uint16_t> tim; // compiles
Timer<uint32_t> tim; // compiles
Timer<anything_else> tim; // does not compile
Я так понимаю, мне надо enable_if или вручную SFINAE? Но я совсем забыл синтаксис базового класса, который должен не компилироваться и его специализации. Напомните пожалуйста
template<typename T>
class Timer {
    какой-то бред
    void F();
};
template<> Timer<uint16_t> { как убрать бред }
template<> Timer<uint32_t> { как убрать бред }
Так?
template<
        typename ResolutionType,
        typename = typename std::enable_if<
        std::is_same<uint16_t, ResolutionType>::value ||
        std::is_same<uint32_t, ResolutionType>::value,
        ResolutionType
    >::type
>
template<typename ResolutionType>
class Timer {
   void F();
}




