// Copyright David Abrahams, Daniel Wallin 2003. // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_PARAMETER_AUX_PACK_ITEM_HPP #define BOOST_PARAMETER_AUX_PACK_ITEM_HPP #include #include #include #if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) #include #include #endif namespace boost { namespace parameter { namespace aux { // A parameter spec item typelist. template < typename Spec , typename Arg , typename Tail = ::boost::parameter::void_ > struct item { typedef Spec spec; #if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) typedef ::boost::is_const< typename ::boost::remove_reference::type > is_arg_const; #endif typedef Arg arg; typedef Tail tail; }; template struct make_item { typedef boost::parameter::aux ::item type; }; }}} // namespace boost::parameter::aux #endif // include guard