dptmf.hpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. // (C) Copyright Edward Diener 2011,2012,2013
  2. // Use, modification and distribution are subject to the Boost Software License,
  3. // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
  4. // http://www.boost.org/LICENSE_1_0.txt).
  5. #if !defined(BOOST_TTI_DETAIL_PTMF_HPP)
  6. #define BOOST_TTI_DETAIL_PTMF_HPP
  7. #include <boost/mpl/push_front.hpp>
  8. #include <boost/function_types/member_function_pointer.hpp>
  9. namespace boost
  10. {
  11. namespace tti
  12. {
  13. namespace detail
  14. {
  15. template
  16. <
  17. class BOOST_TTI_DETAIL_TP_T,
  18. class BOOST_TTI_DETAIL_TP_R,
  19. class BOOST_TTI_DETAIL_TP_FS,
  20. class BOOST_TTI_DETAIL_TP_TAG
  21. >
  22. struct ptmf_seq
  23. {
  24. typedef typename
  25. boost::function_types::member_function_pointer
  26. <
  27. typename
  28. boost::mpl::push_front
  29. <
  30. typename
  31. boost::mpl::push_front<BOOST_TTI_DETAIL_TP_FS,BOOST_TTI_DETAIL_TP_T>::type,
  32. BOOST_TTI_DETAIL_TP_R
  33. >::type,
  34. BOOST_TTI_DETAIL_TP_TAG
  35. >::type type;
  36. };
  37. }
  38. }
  39. }
  40. #endif // BOOST_TTI_DETAIL_PTMF_HPP