dptmf.hpp 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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/config.hpp>
  8. #include <boost/mpl/push_front.hpp>
  9. #include <boost/function_types/member_function_pointer.hpp>
  10. namespace boost
  11. {
  12. namespace tti
  13. {
  14. namespace detail
  15. {
  16. template
  17. <
  18. class BOOST_TTI_DETAIL_TP_T,
  19. class BOOST_TTI_DETAIL_TP_R,
  20. class BOOST_TTI_DETAIL_TP_FS,
  21. class BOOST_TTI_DETAIL_TP_TAG
  22. >
  23. struct ptmf_seq
  24. {
  25. typedef typename
  26. boost::function_types::member_function_pointer
  27. <
  28. typename
  29. boost::mpl::push_front
  30. <
  31. typename
  32. boost::mpl::push_front<BOOST_TTI_DETAIL_TP_FS,BOOST_TTI_DETAIL_TP_T>::type,
  33. BOOST_TTI_DETAIL_TP_R
  34. >::type,
  35. BOOST_TTI_DETAIL_TP_TAG
  36. >::type type;
  37. };
  38. }
  39. }
  40. }
  41. #endif // BOOST_TTI_DETAIL_PTMF_HPP