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