Предположим, что я пишу класс, представляющий математический объект, для которого имеет смысл определять различные стандартные операции.Перегрузка стандартных математических функций для пользовательских типов
Перегружая арифметические операторы, я получаю удовольствие от того, что любой шаблонный алгоритм, использующий их, будет работать, как ожидалось, при задании моего класса. Но что, если в алгоритме используется что-то вроде std :: pow?
стандарт, кажется, утверждать, что только шаблон специализация функций в станде имен разрешена, а это означает, что я не имею право писать свою собственную перегрузку станда :: Pow для моего класса. Но если это действительно так, то какой подход лучше всего подходит для обеспечения родословности?
заставить их использовать вашу 'pow' через adl? – Yakk