Re[21]: Cоздание базового шаблона минуя специализацию
От: rg45 СССР  
Дата: 28.10.22 14:26
Оценка: +1
Здравствуйте, Videoman, Вы писали:

V>Хотя в случае с функциями была простая перегрузка, типа:
V>template<htlib::v2::uint_t dimensions, typename other_t>
V>void formatter(const htlib::v2::pointxd_t<dimensions, other_t>&);
V>


+1

Или вот еще интересный сценарий: подход с функциями позволяет, например, легко определить один общий форматтер (или фиксированный набор форматтеров) для всех пользовательских типов, объединенных общим пространством имен. Это может быть как простая шаблонная функция, так и просто using declaration, вносящее имя функции, определенной в каком-то другом пространстве имен. (И разумеется, никто при этом не запрещает использовать в этом же пространсве имен и другие, более специальные форматтеры наряду с общим, если нужно). В подходе со специализациями шаблона класса придется написать тонны кода и постоянно расширять при добавлении новых типов.
--
Отредактировано 28.10.2022 14:32 rg45 . Предыдущая версия . Еще …
Отредактировано 28.10.2022 14:31 rg45 . Предыдущая версия .
Отредактировано 28.10.2022 14:30 rg45 . Предыдущая версия .
Отредактировано 28.10.2022 14:29 rg45 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.