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" 
   56     RTTR_INLINE instance(
variant& var);
 
   58     RTTR_INLINE instance(
const instance& other);
 
   60     RTTR_INLINE instance(instance&& other);
 
   62     template<
typename T, 
typename Tp = decay_instance_t<T>>
 
   63     RTTR_INLINE instance(
const T& data);
 
   65     template<
typename T, 
typename Tp = decay_instance_t<T>>
 
   66     RTTR_INLINE instance(T& data);
 
   68     template<
typename Target_Type>
 
   69     RTTR_INLINE Target_Type* try_convert() 
const;
 
   71     RTTR_INLINE 
bool is_valid() 
const;
 
   72     explicit operator bool() 
const;
 
   74     RTTR_INLINE 
type get_type() 
const;
 
   77     instance& operator=(
const instance& other);
 
   79     detail::data_address_container m_data_container;
 
   84 #include "rttr/detail/impl/instance_impl.h" 
   86 #endif // RTTR_INSTANCE_H_ 
Definition: access_levels.h:33
 
The type class holds the type information for any arbitrary object. 
Definition: type.h:153
 
The instance class is used for forwarding the instance of an object to invoke a property or method...
Definition: instance.h:46
 
detail::enum_data< Enum_Type > value(const char *name, Enum_Type value)
The value function should be used to add a mapping from enum name to value during the registration pr...
 
The variant class allows to store data of any type and convert between these types transparently...
Definition: variant.h:192