Boost logo

Boost-Commit :

From: oryol_at_[hidden]
Date: 2008-07-31 14:12:38


Author: jeremypack
Date: 2008-07-31 14:12:38 EDT (Thu, 31 Jul 2008)
New Revision: 47915
URL: http://svn.boost.org/trac/boost/changeset/47915

Log:
Fixes for Doxygen - hide implementation details.
Text files modified:
   sandbox/boost/reflection/constructor.hpp | 25 +++++++++++++++++++++++++
   1 files changed, 25 insertions(+), 0 deletions(-)

Modified: sandbox/boost/reflection/constructor.hpp
==============================================================================
--- sandbox/boost/reflection/constructor.hpp (original)
+++ sandbox/boost/reflection/constructor.hpp 2008-07-31 14:12:38 EDT (Thu, 31 Jul 2008)
@@ -12,6 +12,30 @@
 #include <boost/reflection/instance.hpp>
 namespace boost {
 namespace reflections {
+#ifdef BOOST_EXTENSION_DOXYGEN_INVOKED
+// TODO: Write in a fake implementation of this class
+// for readability and doxygen.
+#else
+#define BOOST_REFLECTION_CONSTRUCT_FUNCTION(Z, N, _) \
+template <class Actual \
+BOOST_PP_COMMA_IF(N) \
+BOOST_PP_ENUM_PARAMS(N, class Param) > \
+Actual * construct(BOOST_PP_ENUM_BINARY_PARAMS(N, Param, p)) { \
+ return new Actual(BOOST_PP_ENUM_PARAMS(N, p)); \
+}
+
+#define BOOST_REFLECTION_CONSTRUCTI_FUNCTION(Z, N, _) \
+template <class Interface, class Actual \
+BOOST_PP_COMMA_IF(N) \
+BOOST_PP_ENUM_PARAMS(N, class Param) > \
+Interface * construct_interface(BOOST_PP_ENUM_BINARY_PARAMS(N, Param, p)) { \
+ return new Actual(BOOST_PP_ENUM_PARAMS(N, p)); \
+}
+BOOST_PP_REPEAT(BOOST_PP_INC(BOOST_REFLECTION_MAX_FUNCTOR_PARAMS), \
+ BOOST_REFLECTION_CONSTRUCT_FUNCTION, _)
+BOOST_PP_REPEAT(BOOST_PP_INC(BOOST_REFLECTION_MAX_FUNCTOR_PARAMS), \
+ BOOST_REFLECTION_CONSTRUCTI_FUNCTION, _)
+
 template <BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(BOOST_PP_INC(\
           BOOST_REFLECTION_MAX_FUNCTOR_PARAMS), class Param, void)>
 class instance_constructor;
@@ -20,6 +44,7 @@
     BOOST_PP_INC(BOOST_REFLECTION_MAX_FUNCTOR_PARAMS) - 1)
 #define BOOST_PP_FILENAME_1 <boost/reflection/impl/constructor.hpp>
 #include BOOST_PP_ITERATE()
+#endif
 
 } // namespace reflections
 } // namespace boost


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk