Back to home page

EIC code displayed by LXR

 
 

    


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

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_UNMATCHED_ARGUMENT_HPP
0007 #define BOOST_PARAMETER_AUX_PACK_UNMATCHED_ARGUMENT_HPP
0008 
0009 #include <boost/parameter/config.hpp>
0010 
0011 #if defined(BOOST_PARAMETER_CAN_USE_MP11)
0012 #include <type_traits>
0013 #else
0014 #include <boost/mpl/bool.hpp>
0015 #include <boost/mpl/if.hpp>
0016 #include <boost/mpl/assert.hpp>
0017 #include <boost/type_traits/is_same.hpp>
0018 #endif
0019 
0020 namespace boost { namespace parameter { namespace aux {
0021 
0022     template <typename T>
0023     struct unmatched_argument
0024     {
0025 #if defined(BOOST_PARAMETER_CAN_USE_MP11)
0026         static_assert(::std::is_same<T,void>::value, "T == void");
0027 #else
0028         BOOST_MPL_ASSERT((
0029             typename ::boost::mpl::if_<
0030                 ::boost::is_same<T,void>
0031               , ::boost::mpl::true_
0032               , ::boost::mpl::false_
0033             >::type
0034         ));
0035 #endif
0036         typedef int type;
0037     };
0038 }}} // namespace boost::parameter::aux
0039 
0040 #endif  // include guard
0041