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.