• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright David Abrahams, Daniel Wallin 2003.
2 // Distributed under the Boost Software License, Version 1.0.
3 // (See accompanying file LICENSE_1_0.txt or copy at
4 // http://www.boost.org/LICENSE_1_0.txt)
5 
6 #ifndef BOOST_PARAMETER_AUX_PACK_DEDUCED_ITEM_HPP
7 #define BOOST_PARAMETER_AUX_PACK_DEDUCED_ITEM_HPP
8 
9 #include <boost/parameter/aux_/void.hpp>
10 
11 namespace boost { namespace parameter { namespace aux {
12 
13     // A typelist that stored deduced parameter specs.
14     template <
15         typename ParameterSpec
16       , typename Tail = ::boost::parameter::void_
17     >
18     struct deduced_item
19     {
20         typedef ParameterSpec spec;
21         typedef Tail tail;
22     };
23 
24     // Evaluate Tail and construct deduced_item list.
25     template <typename Spec, typename Tail>
26     struct make_deduced_item
27     {
28         typedef ::boost::parameter::aux
29         ::deduced_item<Spec,typename Tail::type> type;
30     };
31 }}} // namespace boost::parameter::aux
32 
33 #endif  // include guard
34 
35