Коллеги, читая чужой код наткнулся на строки
template<> inline bool is<float, float>(const float& left, const float& right, const std::string& message) {
return is(left, right, message, nearly_equal<float>());
}
https://github.com/cbab/libtappp/blob/master/include/tap%2B%2B/tap%2B%2B.h#L180
Такого использования ключевого слова template я раньше не встречал.
Чисто интуитивно оно задает кастомное поведение шаблона is для случая если его позвали в комбинации float/float.
Просмотрел еще раз документацию, похожего ничего не нашел.
Что это? Как это понимать? Это же должно как-то называться и где-то быть описанным…
Update: Это называется Template Specialization, и по этим ключевым словам ищется любым посковиком…
ox55ff, спасибо!