ObjectParam#

Fully qualified name: omni::core::ObjectParam

Defined in omni/core/OmniAttr.h

template<typename T>
class ObjectParam#

Helper object used by omni.bind to ease, at zero cost, the acceptance of raw and smart pointers to methods that wish to accept a raw pointer.

This object should never be used outside of omni.bind.

Public Functions

template<typename Y>
inline ObjectParam(
const ObjectPtr<Y> &o,
typename std::enable_if_t<std::is_base_of<T, Y>::value>* = nullptr,
) noexcept#

Accept a smart pointer of different type.

template<typename Y>
inline ObjectParam(
const carb::ObjectPtr<Y> &o,
) noexcept#

Accept a Carbonite smart pointer of different type.

inline ObjectParam(T *o) noexcept#

Accept a raw pointer.

inline T *operator->() const noexcept#

Arrow operator.

inline T *get() const noexcept#

Access raw pointer.

inline explicit operator bool() const noexcept#

Returns true if the wrapped pointer is not nullptr.