Mirror reflection library - Lagoon run-time layer 0.5.13

lagoon/lagoon_fwd.hpp

Go to the documentation of this file.
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 

Copyright © 2006-2011 Matus Chochlik, University of Zilina, Zilina, Slovakia.
<matus.chochlik -at- fri.uniza.sk>
<chochlik -at -gmail.com>
Documentation generated on Fri Dec 16 2011 by Doxygen (version 1.7.3).
Important note: Although the 'boostified' version of Mirror uses the Boost C++ libraries Coding Guidelines and is implemented inside of the boost namespace, it IS NOT an officially reviewed and accepted Boost library. Mirror is being developed with the intention to be submitted for review for inclusion to the Boost C++ libraries.