Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:43:26

0001 // Copyright David Abrahams, Daniel Wallin 2003.
0002 // Distributed under the Boost Software License, Version 1.0.
0003 // (See accompanying file LICENSE_1_0.txt or copy at
0004 // http://www.boost.org/LICENSE_1_0.txt)
0005 
0006 #ifndef BOOST_PARAMETER_AUX_PACK_IS_NAMED_ARGUMENT_HPP
0007 #define BOOST_PARAMETER_AUX_PACK_IS_NAMED_ARGUMENT_HPP
0008 
0009 #include <boost/parameter/aux_/template_keyword.hpp>
0010 #include <boost/parameter/aux_/is_tagged_argument.hpp>
0011 #include <boost/parameter/config.hpp>
0012 
0013 #if defined(BOOST_PARAMETER_CAN_USE_MP11)
0014 #include <boost/mp11/integral.hpp>
0015 #include <boost/mp11/utility.hpp>
0016 #else
0017 #include <boost/mpl/bool.hpp>
0018 #include <boost/mpl/if.hpp>
0019 #endif
0020 
0021 namespace boost { namespace parameter { namespace aux {
0022 
0023     template <typename T>
0024 #if defined(BOOST_PARAMETER_CAN_USE_MP11)
0025     using is_named_argument = ::boost::mp11::mp_if<
0026         ::boost::parameter::aux::is_template_keyword<T>
0027       , ::boost::mp11::mp_true
0028       , ::boost::parameter::aux::is_tagged_argument_mp11<T>
0029     >;
0030 #else
0031     struct is_named_argument
0032       : ::boost::mpl::if_<
0033             ::boost::parameter::aux::is_template_keyword<T>
0034           , ::boost::mpl::true_
0035           , ::boost::parameter::aux::is_tagged_argument<T>
0036         >::type
0037     {
0038     };
0039 #endif
0040 }}} // namespace boost::parameter::aux
0041 
0042 #endif  // include guard
0043