1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #ifndef BOOST_PARAMETER_AUX_PACK_ITEM_HPP
- #define BOOST_PARAMETER_AUX_PACK_ITEM_HPP
- #include <boost/parameter/aux_/void.hpp>
- #include <boost/config.hpp>
- #include <boost/config/workaround.hpp>
- #if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564))
- #include <boost/type_traits/is_const.hpp>
- #include <boost/type_traits/remove_reference.hpp>
- #endif
- namespace boost { namespace parameter { namespace aux {
-
- 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<Arg>::type
- > is_arg_const;
- #endif
- typedef Arg arg;
- typedef Tail tail;
- };
- template <typename Spec, typename Arg, typename Tail>
- struct make_item
- {
- typedef boost::parameter::aux
- ::item<Spec,Arg,typename Tail::type> type;
- };
- }}}
- #endif
|