68 virtual std::type_info
const&
type()
const = 0;
74 virtual const std::any& as_std_any()
const = 0;
75 virtual std::any& as_std_any() = 0;
76 virtual const void* unsafe_ptr()
const = 0;
77 virtual void* unsafe_ptr() = 0;
83 return std::any_cast<T>(operand.as_std_any());
88 return std::any_cast<T>(operand.as_std_any());
93 return std::any_cast<T>(std::move(operand.as_std_any()));
98 return std::any_cast<const T*>(&operand->as_std_any());
103 return std::any_cast<T*>(&operand->as_std_any());
108 return *
static_cast<const std::decay_t<T>*
>(operand.unsafe_ptr());
113 return *
static_cast<std::decay_t<T>*
>(operand.unsafe_ptr());
virtual std::type_info const & type() const =0
virtual bool operator==(const i_any &aOther) const =0
friend T any_cast(const i_any &operand)
virtual bool has_value() const =0
virtual bool operator!=(const i_any &aOther) const =0
friend T unsafe_any_cast(const i_any &operand) noexcept
virtual bool operator<(const i_any &aOther) const =0
T unsafe_any_cast(const any &operand) noexcept
T any_cast(const any &operand)