Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r66677 - in sandbox/tti/boost/tti: . detail
From: eldiener_at_[hidden]
Date: 2010-11-21 23:59:59


Author: eldiener
Date: 2010-11-21 23:59:57 EST (Sun, 21 Nov 2010)
New Revision: 66677
URL: http://svn.boost.org/trac/boost/changeset/66677

Log:
Added functionality
Text files modified:
   sandbox/tti/boost/tti/TTIntrospection.hpp | 47 +++++++++++++++++++++++++++++++++------
   sandbox/tti/boost/tti/detail/TTIntrospectionDetail.hpp | 2
   2 files changed, 40 insertions(+), 9 deletions(-)

Modified: sandbox/tti/boost/tti/TTIntrospection.hpp
==============================================================================
--- sandbox/tti/boost/tti/TTIntrospection.hpp (original)
+++ sandbox/tti/boost/tti/TTIntrospection.hpp 2010-11-21 23:59:57 EST (Sun, 21 Nov 2010)
@@ -2,20 +2,22 @@
 #define TT_INTROSPECTION_HPP
 
 #include <boost/config.hpp>
+#include <boost/function_types/is_member_object_pointer.hpp>
+#include <boost/function_types/parameter_types.hpp>
 #include <boost/mpl/has_xxx.hpp>
-#include <boost/mpl/eval_if.hpp>
+#include <boost/mpl/at.hpp>
 #include <boost/mpl/bool.hpp>
+#include <boost/mpl/eval_if.hpp>
 #include <boost/mpl/identity.hpp>
-#include <boost/type_traits/is_same.hpp>
+#include <boost/mpl/int.hpp>
+#include <boost/mpl/quote.hpp>
+#include <boost/preprocessor/cat.hpp>
+#include <boost/preprocessor/repetition/enum_params.hpp>
+#include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
 #include <boost/type_traits/detail/yes_no_type.hpp>
+#include <boost/type_traits/is_same.hpp>
 #include <boost/type_traits/remove_const.hpp>
-#include <boost/preprocessor/cat.hpp>
 #include <boost/variadic_macro_data/VariadicMacroData.hpp>
-#include <boost/mpl/at.hpp>
-#include <boost/mpl/quote.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/function_types/parameter_types.hpp>
-#include <boost/function_types/is_member_object_pointer.hpp>
 #include "detail/TTIntrospectionDetail.hpp"
 
 #define TTI_TRAIT_HAS_TYPE(trait,name) \
@@ -295,4 +297,33 @@
   ) \
 /**/
 
+namespace tti
+ {
+ template
+ <
+ class T,
+ template<class> class HasMember,
+ class R,
+ BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(TTI_MAX_PARAMETERS,class P,tti::detail::notype)
+ >
+ struct has_member_mf :
+ tti::detail::eval
+ <
+ HasMember
+ <
+ tti::detail::eval
+ <
+ tti::detail::ptmf
+ <
+ boost::mpl::identity<T>,
+ R,
+ BOOST_PP_ENUM_PARAMS(TTI_MAX_PARAMETERS,P)
+ >
+ >
+ >
+ >
+ {
+ };
+ }
+
 #endif // TT_INTROSPECTION_HPP

Modified: sandbox/tti/boost/tti/detail/TTIntrospectionDetail.hpp
==============================================================================
--- sandbox/tti/boost/tti/detail/TTIntrospectionDetail.hpp (original)
+++ sandbox/tti/boost/tti/detail/TTIntrospectionDetail.hpp 2010-11-21 23:59:57 EST (Sun, 21 Nov 2010)
@@ -236,5 +236,5 @@
       };
     }
   }
-
+
 #endif // TT_INTROSPECTION_DETAIL_HPP


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