Function polymorphic_get
boost::polymorphic_get — Retrieves a value of a specified type from a given
variant
.
Synopsis
template<typename U, typename T1, typename T2, ..., typename TN>
U * polymorphic_get(variant<T1, T2, ..., TN> * operand);
template<typename U, typename T1, typename T2, ..., typename TN>
const U * polymorphic_get(const variant<T1, T2, ..., TN> * operand);
template<typename U, typename T1, typename T2, ..., typename TN>
U & polymorphic_get(variant<T1, T2, ..., TN> & operand);
template<typename U, typename T1, typename T2, ..., typename TN>
const U & polymorphic_get(const variant<T1, T2, ..., TN> & operand);
Description
Оценивать до polymorphic_strict_get
, если BOOST_VARIANT_USE_RELAXED_GET_BY_DEFAULT
не определено. Если определен BOOST_VARIANT_USE_RELAXED_GET_BY_DEFAULT
, то оценивается значение polymorphic_relaxed_get
.
Рекомендация: Используйте polymorphic_get
в новом коде без определения BOOST_VARIANT_USE_RELAXED_GET_BY_DEFAULT
. Таким образом, polymorphic_get
обеспечивает больше проверок времени компиляции и его поведение ближе к std::get
с C++. Стандартная библиотека.