Static conversion sequence::convert

Материал из CAMaaS preliminary wiki
Версия от 19:02, 10 декабря 2017; Андрей Чусов (обсуждение | вклад) (Новая страница: «{{function_begin |template <class U> static constexpr sequence_element<0> convert(U&& arg);|{{static_conversion_sequence::convert brief}}}} {{function templat…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску
template <class U>
    static constexpr sequence_element<0> convert(U&& arg);

Осуществляет последовательное статическое преобразование типов для своего аргумента в соответствии с параметрами шаблона static_conversion_sequence.

Параметры шаблона
UТип входного параметра, преобразуемого методом.
Параметры
argУниверсальная ссылка на входной объект, преобразуемый методом.
Возвращаемое значение:
Результат статического преобразования.

Пусть задана специализация typedef static_conversion_sequence<T1, T2, ..., TN> instantiation_type;, определенная для некоторых типов T1, T2, ...TN, а также некоторый объект x. Тогда применение метода convert над этим объектом:

instantiation_type::convert(x);

будет эквивалентно последовательному преобразованию:

static_cast<T1>(static_cast<T2>(...static_cast<TN>(x)...));