Обходной путь для частичной специализации шаблона функции?

Рассмотрим следующую метафункцию для целочисленного значения pow (это всего лишь пример):

class Meta
{
    template<int N, typename T> static constexpr T ipow(T x)
    {
        return (N > 0) ? (x*ipow<N-1>(x)) 
                       : ((N < 0) ? (static_cast<T>(1)/ipow<N>(x)) 
                                  : (1))
    }
};

Как написать условие остановки для такой функции?

Ответы на вопрос(3)

Ваш ответ на вопрос