Método System::SmartPtr::Cast

SmartPtr::Cast() const method

Convierte el puntero a su propio tipo.

template<class Y,typename Check> std::enable_if_t<std::is_same<Y, T>::value, SmartPtr<Y>> System::SmartPtr<T>::Cast() const
ParámetroDescripción
YTipo objetivo del objeto apuntado.
CheckIndicadores para lanzar una excepción si no hay conversión disponible.

ReturnValue

Puntero de tipo cambiado que siempre está en modo compartido.

Ver también

SmartPtr::Cast() const method

Convierte el puntero al tipo base usando static_cast.

template<class Y,typename Check> std::enable_if_t<!std::is_same<Y, T>::value &&std::is_base_of<Y, T>::value, SmartPtr<Y>> System::SmartPtr<T>::Cast() const
ParámetroDescripción
YTipo objetivo del objeto apuntado.
CheckIndicadores para lanzar una excepción si no hay conversión disponible.

ReturnValue

Puntero de tipo cambiado que siempre está en modo compartido.

Ver también

SmartPtr::Cast() const method

Convierte el puntero al tipo derivado usando dynamic_cast.

template<class Y,typename Check> std::enable_if_t<Check::value &&!std::is_same<Y, T>::value &&!std::is_base_of<Y, T>::value, SmartPtr<Y>> System::SmartPtr<T>::Cast() const
ParámetroDescripción
YTipo objetivo del objeto apuntado.
CheckIndicadores para lanzar una excepción si no hay conversión disponible.

ReturnValue

Puntero de tipo cambiado que siempre está en modo compartido. Lanza InvalidCastException si no hay conversión disponible.

Ver también

SmartPtr::Cast() const method

Convierte el puntero al tipo derivado usando dynamic_cast.

template<class Y,typename Check> std::enable_if_t<!Check::value &&!std::is_same<Y, T>::value &&!std::is_base_of<Y, T>::value, SmartPtr<Y>> System::SmartPtr<T>::Cast() const
ParámetroDescripción
YTipo objetivo del objeto apuntado.
CheckIndicadores para lanzar una excepción si no hay conversión disponible.

ReturnValue

Puntero de tipo cambiado que siempre está en modo compartido. Devuelve nullptr si no hay conversión disponible.

Ver también