Dynamic conversion sequence::convert
Версия от 19:08, 10 декабря 2017; Андрей Чусов (обсуждение | вклад) (Новая страница: «{{function_begin |template <class U> static constexpr sequence_element<0> convert(U&& arg);|{{dynamic_conversion_sequence::convert brief}}}} {{function templa…»)
template <class U>
static constexpr sequence_element<0> convert(U&& arg);
Осуществляет последовательное динамическое преобразование типов для своего аргумента в соответствии с параметрами шаблона dynamic_conversion_sequence.
- Параметры шаблона
U Тип входного параметра, преобразуемого методом. - Параметры
arg Универсальная ссылка на входной объект, преобразуемый методом. - Возвращаемое значение:
- Результат динамического преобразования.
Пусть задана специализация typedef dynamic_conversion_sequence<T1, T2, ..., TN> instantiation_type;
, определенная для некоторых типов T1, T2, ...TN, а также некоторый объект x. Тогда применение метода convert над этим объектом:
instantiation_type::convert(x);
будет эквивалентно последовательному преобразованию:
dynamic_cast<T1>(dynamic_cast<T2>(...dynamic_cast<TN>(x)...));