Mirror reflection library - Lagoon run-time layer 0.5.13

lagoon/reflection.hpp

Go to the documentation of this file.
00001 
00011 #ifndef LAGOON_REFLECTION_1011291729_HPP
00012 #define LAGOON_REFLECTION_1011291729_HPP
00013 
00014 #include <lagoon/meta_objects.hpp>
00015 #include <mirror/meta_type.hpp>
00016 #include <mirror/meta_class.hpp>
00017 
00018 LAGOON_NAMESPACE_BEGIN
00019 
00027 
00028 
00037 template <typename Type>
00038 inline shared<meta_type> reflected_type(void)
00039 {
00040     return aux::get_meta_object<
00041         MIRRORED_TYPE(Type),
00042         meta_type
00043     >();
00044 }
00045 
00047 
00056 template <typename Class>
00057 inline shared<meta_class> reflected_class(void)
00058 {
00059     return aux::get_meta_object<
00060         MIRRORED_CLASS(Class),
00061         meta_class
00062     >();
00063 }
00064 
00065 
00067 
00075 inline shared<meta_namespace> reflected_global_scope(void)
00076 {
00077     return aux::get_meta_object<
00078         MIRRORED_GLOBAL_SCOPE(),
00079         meta_namespace
00080     >();
00081 }
00082 
00083 
00084 LAGOON_NAMESPACE_END
00085 
00086 #endif //include guard
00087 

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.