проверка на возможность явного преобразования
От: Seriously Serious  
Дата: 08.01.05 21:42
Оценка:
ДОРОГИЕ ТОВАРИЩИ!

Такая проблема: надо во время компиляции узнать, можно ли явно преобразовать один тип в другой


template <class from, class to>
struct ExplicitConversion
{
  enum{ exists = /*true, если можно сделать to(from)*/ };
};
Re: проверка на возможность явного преобразования
От: Dmitry A. Sinyagin www.astawireless.com
Дата: 08.01.05 22:40
Оценка:
SS>Такая проблема: надо во время компиляции узнать, можно ли явно преобразовать один тип в другой


::boost::is_convertible<T,U>::value

Evaluates to true if an imaginary lvalue of type T is convertible to type U.Type T must not be an incomplete type.
Type U must not be an incomplete, abstract or function type.
No types are considered to be convertible to an array type.

?
Re[2]: проверка на возможность явного преобразования
От: Seriously Serious  
Дата: 08.01.05 23:01
Оценка:
...
Это для неявного преобразования, требуется же для явного.
Re: проверка на возможность явного преобразования
От: adontz Грузия http://adontz.wordpress.com/
Дата: 09.01.05 01:11
Оценка:
Здравствуйте, Seriously Serious, Вы писали:

Тебе нужно узнать есть ли метод (конструктор тоже метод) с нужной тебе сигнатурой
Не уверен, что подобное решение (исходящее из того, что конструктор тоже метод) будет портабельно
В любом случае поищи по слову SFINAE (substitution failure is not an error)

P.S. Для VC и маньяков по словам __ctor, __dtor
A journey of a thousand miles must begin with a single step © Lau Tsu
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.