Mirror reflection library - Lagoon run-time layer 0.5.13

lagoon/categories.hpp

Go to the documentation of this file.
00001 
00011 #ifndef LAGOON_CATEGORIES_1011291729_HPP
00012 #define LAGOON_CATEGORIES_1011291729_HPP
00013 
00014 #include <lagoon/config.hpp>
00015 #include <puddle/categories.hpp>
00016 #include <mirror/meta_object_tags.hpp>
00017 #include <mirror/preprocessor.hpp>
00018 
00019 LAGOON_NAMESPACE_BEGIN
00028 
00029 
00049 #ifdef MIRROR_DOCUMENTATION_ONLY
00050 enum meta_object_category;
00051 #else
00052 using puddle::meta_object_category;
00053 #endif
00054 
00055 #undef LAGOON_HLPR_DEFINE_MO_TAG_VALUE
00056 #undef LAGOON_HLPR_DEFINE_MO_TAG
00057 
00058 // Implement the categorize interface member function
00059 #define LAGOON_HELPER_IMPL_CATEGORIZE_INTERFACE(OBJECT, I, X) \
00060 inline meta_object_category \
00061 categorize_interface(meta_ ## OBJECT *) \
00062 { \
00063     return meta_object_category:: \
00064         meta_ ## OBJECT ## _tag; \
00065 }
00066 MIRROR_FOR_EACH_META_OBJECT(LAGOON_HELPER_IMPL_CATEGORIZE_INTERFACE, _)
00067 #undef LAGOON_HELPER_IMPL_CATEGORIZE_INTERFACE
00068 
00069 
00070 LAGOON_NAMESPACE_END
00071 
00072 #endif //include guard
00073 

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.