Mirror reflection library 0.5.13

mirror/doc/concepts_meta_prog.hpp

Go to the documentation of this file.
00001 
00010 #ifndef MIRROR_DOC_CONCEPTS_META_PROG_1104131331_HPP
00011 #define MIRROR_DOC_CONCEPTS_META_PROG_1104131331_HPP
00012 
00013 #include <mirror/config.hpp>
00014 
00015 #ifdef MIRROR_DOCUMENTATION_ONLY
00016 
00017 MIRROR_NAMESPACE_BEGIN
00018 // This section is here for documentation purposes only
00019 
00026 
00027 
00033 struct IntegralConstantType
00034 {
00035     static const int value;
00036     typedef IntegralConstantType type;
00037 };
00038 
00040 
00046 struct BooleanConstantType
00047 {
00048     static const bool value;
00049     typedef BooleanConstantType type;
00050 };
00051 
00053 
00056 struct Element { };
00057 
00059 
00074 template <typename ... Elements>
00075 struct Range
00076 {
00078 
00082     friend struct empty<Range>;
00083 
00085 
00089     friend struct size<Range>;
00090 
00092 
00096     friend struct front<Range>;
00097 
00099 
00103     friend struct step_front<Range>;
00104 
00106 
00110     friend struct at<Range, Position>;
00111 
00113 
00117     friend struct at_c<Range, Position>;
00118 };
00119 
00121 
00130 template <typename Element>
00131 struct Optional
00132 {
00134 
00138     friend struct nil<Optional>;
00139 
00141 
00145     friend struct get<Optional>;
00146 };
00147 
00148 
00149 MIRROR_NAMESPACE_END
00150 
00151 #endif // MIRROR_DOCUMENTATION_ONLY
00152 
00153 #endif //include guard
00154 

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.