|
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