Go to the documentation of this file.
28 #ifndef RTTR_INSTANCE_H_
29 #define RTTR_INSTANCE_H_
31 #include "rttr/detail/base/core_prerequisites.h"
32 #include "rttr/detail/misc/misc_type_traits.h"
33 #include "rttr/detail/misc/data_address_container.h"
49 template<
typename T,
typename Tp = detail::decay_t<T>>
76 template<typename T, typename Tp = decay_instance_t<T>>
85 template<typename Target_Type>
86 RTTR_INLINE Target_Type* try_convert() const RTTR_NOEXCEPT;
93 RTTR_INLINE
bool is_valid() const RTTR_NOEXCEPT;
100 explicit operator
bool() const RTTR_NOEXCEPT;
109 RTTR_INLINE
type get_type() const RTTR_NOEXCEPT;
128 RTTR_INLINE
instance get_wrapped_instance() const RTTR_NOEXCEPT;
147 RTTR_INLINE
type get_derived_type() const RTTR_NOEXCEPT;
152 detail::data_address_container m_data_container;
157 #include "rttr/detail/impl/instance_impl.h"
159 #endif // RTTR_INSTANCE_H_
Definition: access_levels.h:34
detail::enum_data< Enum_Type > value(string_view, Enum_Type value)
The value function should be used to add a mapping from enum name to value during the registration pr...
The instance class is used for forwarding the instance of an object to invoke a property or method.
Definition: instance.h:48
The variant class allows to store data of any type and convert between these types transparently.
Definition: variant.h:199
The type class holds the type information for any arbitrary object.
Definition: type.h:171
instance() noexcept
Creates an invalid instance object.