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