Back to home page

EIC code displayed by LXR

 
 

    


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

0001 // Copyright Cromwell D. Enage 2019.
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_IS_PLACEHOLDER_HPP
0007 #define BOOST_PARAMETER_AUX_IS_PLACEHOLDER_HPP
0008 
0009 #include <boost/parameter/config.hpp>
0010 
0011 #if defined(BOOST_PARAMETER_CAN_USE_MP11)
0012 #include <boost/mp11/integral.hpp>
0013 #else
0014 #include <boost/mpl/bool.hpp>
0015 #endif
0016 
0017 namespace boost { namespace parameter { namespace aux {
0018 
0019     template <typename T>
0020     struct is_mpl_placeholder
0021 #if defined(BOOST_PARAMETER_CAN_USE_MP11)
0022       : ::boost::mp11::mp_false
0023 #else
0024       : ::boost::mpl::false_
0025 #endif
0026     {
0027     };
0028 }}} // namespace boost::parameter::aux
0029 
0030 #include <boost/mpl/arg_fwd.hpp>
0031 
0032 namespace boost { namespace parameter { namespace aux {
0033 
0034     template <int I>
0035     struct is_mpl_placeholder< ::boost::mpl::arg<I> >
0036 #if defined(BOOST_PARAMETER_CAN_USE_MP11)
0037       : ::boost::mp11::mp_true
0038 #else
0039       : ::boost::mpl::true_
0040 #endif
0041     {
0042     };
0043 }}} // namespace boost::parameter::aux
0044 
0045 #if defined(BOOST_PARAMETER_CAN_USE_MP11)
0046 #include <boost/mp11/bind.hpp>
0047 
0048 namespace boost { namespace parameter { namespace aux {
0049 
0050     template <typename T>
0051     struct is_mp11_placeholder : ::boost::mp11::mp_false
0052     {
0053     };
0054 
0055     template < ::std::size_t I>
0056     struct is_mp11_placeholder< ::boost::mp11::mp_arg<I> >
0057       : ::boost::mp11::mp_true
0058     {
0059     };
0060 }}} // namespace boost::parameter::aux
0061 
0062 #endif  // BOOST_PARAMETER_CAN_USE_MP11
0063 #endif  // include guard
0064