Что то вспотыкнулся, не нашёл в бусте (версия 1.39), автоматический вывод типов (промоушн до общего объемлющего арифметического типа) при перегрузке арифметических операторов типа operator+.
Хочется что то типа такого:
template<typename A, B>
typename enveloping_type<A, B>::type operator+(A a, B b)...
Для примера <int, float> пусть выводить double, но было бы клёво если это можно было бы настраивать и выводить тут float.
Здравствуйте, zaufi, Вы писали:
Z>Здравствуйте, Ops, Вы писали:
Ops>>Здравствуйте, johny5, Вы писали:
Ops>>А чем decltype не устраивает?
Z>судя по тому что ТС использует boost 1.39, боюсь предположить каких годов у него компилятор
Да, а то я аж вздрогнул
Недавно только переполз на 2008ю, с 2005й. Хоть разница и не большая но в 2005й наткнулся на баг кодогенерации что меня в общем и подтолкнуло. Точно таким же образом переползал с 2003й
Здравствуйте, johny5, Вы писали:
J>Да, а то я аж вздрогнул J>Недавно только переполз на 2008ю, с 2005й. Хоть разница и не большая но в 2005й наткнулся на баг кодогенерации что меня в общем и подтолкнуло. Точно таким же образом переползал с 2003й
А отсутствие поддержки стандарта не подталкивает перейти на более свежую?
А так есть библиотека Boost.Typeof, вроде даже в твоей древней версии буста.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.