Mirror reflection library - Lagoon run-time layer 0.5.13
|
00001 00011 #ifndef LAGOON_LAGOON_FWD_1011291729_HPP 00012 #define LAGOON_LAGOON_FWD_1011291729_HPP 00013 00014 #include <mirror/raw_ptr/raw_ptr.hpp> 00015 #include <mirror/meta_object_tags.hpp> 00016 #include <lagoon/config.hpp> 00017 #include <string> 00018 00019 LAGOON_NAMESPACE_BEGIN 00020 00021 typedef mirror::raw_ptr raw_ptr; 00022 typedef mirror::unique_raw_ptr unique_raw_ptr; 00023 typedef mirror::shared_raw_ptr shared_raw_ptr; 00024 using mirror::raw_cast; 00025 00026 // Forward declarations of the run-time meta-lavel interfaces 00027 00028 // MetaMetaObject 00029 struct meta_meta_object; 00030 00031 // forward declaration of the interfaces 00032 #define LAGOON_HLPR_FWD_MO_INTERFACE(OBJECT, I, X) \ 00033 struct meta_ ## OBJECT; 00034 MIRROR_FOR_EACH_META_OBJECT(LAGOON_HLPR_FWD_MO_INTERFACE, _) 00035 #undef LAGOON_HLPR_FWD_MO_INTERFACE 00036 00037 class meta_meta_object_; 00038 00039 class meta_namespace_; 00040 00041 class meta_global_scope_; 00042 00043 template <typename MetaType> 00044 class meta_type_; 00045 00046 template <typename MetaType> 00047 class meta_typedef_; 00048 00049 class meta_type_template_; 00050 00051 template <typename MetaTemplatedType> 00052 class meta_templated_type_; 00053 00054 template <typename MetaClass> 00055 class meta_class_; 00056 00057 template <typename MetaTemplatedClass> 00058 class meta_templated_class_; 00059 00060 template <typename MetaEnum> 00061 class meta_enum_; 00062 00063 class meta_inheritance_; 00064 00065 class meta_variable_; 00066 00067 class meta_free_variable_; 00068 00069 class meta_plain_free_variable_; 00070 00071 class meta_member_variable_; 00072 00073 class meta_parameter_; 00074 00075 class meta_function_; 00076 00077 class meta_member_function_; 00078 00079 class meta_overloaded_functions_; 00080 00081 class meta_conversion_operator_; 00082 00083 class meta_constructor_; 00084 00085 00086 LAGOON_NAMESPACE_END 00087 00088 #endif //include guard 00089