File indexing completed on 2025-01-18 09:43:26
0001
0002
0003
0004
0005
0006 #ifndef BOOST_PARAMETER_AUX_PACK_MAKE_ITEMS_HPP
0007 #define BOOST_PARAMETER_AUX_PACK_MAKE_ITEMS_HPP
0008
0009 #include <boost/parameter/aux_/void.hpp>
0010 #include <boost/parameter/aux_/pack/item.hpp>
0011 #include <boost/parameter/config.hpp>
0012
0013 #if defined(BOOST_PARAMETER_CAN_USE_MP11)
0014 #include <boost/mp11/utility.hpp>
0015 #include <type_traits>
0016 #else
0017 #include <boost/mpl/eval_if.hpp>
0018 #include <boost/mpl/identity.hpp>
0019 #include <boost/type_traits/is_same.hpp>
0020 #endif
0021
0022 namespace boost { namespace parameter { namespace aux {
0023
0024
0025 template <typename Spec, typename Arg, typename Tail>
0026 #if defined(BOOST_PARAMETER_CAN_USE_MP11)
0027 using make_items = ::boost::mp11::mp_if<
0028 ::std::is_same<Arg,::boost::parameter::void_>
0029 , ::boost::mp11::mp_identity< ::boost::parameter::void_>
0030 , ::boost::parameter::aux::make_item<Spec,Arg,Tail>
0031 >;
0032 #else
0033 struct make_items
0034 : ::boost::mpl::eval_if<
0035 ::boost::is_same<Arg,::boost::parameter::void_>
0036 , ::boost::mpl::identity< ::boost::parameter::void_>
0037 , ::boost::parameter::aux::make_item<Spec,Arg,Tail>
0038 >
0039 {
0040 };
0041 #endif
0042 }}}
0043
0044 #endif
0045