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
11namespace 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

source code of boost/libs/parameter/include/boost/parameter/aux_/pack/deduced_item.hpp