File indexing completed on 2025-12-16 09:59:18
0001
0002
0003
0004
0005
0006 #ifndef BOOST_PARAMETER_IS_MAYBE_050329_HPP
0007 #define BOOST_PARAMETER_IS_MAYBE_050329_HPP
0008
0009 namespace boost { namespace parameter { namespace aux {
0010
0011 struct maybe_base
0012 {
0013 };
0014 }}}
0015
0016 #if defined(BOOST_PARAMETER_CAN_USE_MP11)
0017 #include <type_traits>
0018
0019 namespace boost { namespace parameter { namespace aux {
0020
0021 template <typename T>
0022 using is_maybe = ::std::is_base_of<
0023 ::boost::parameter::aux::maybe_base
0024 , typename ::std::remove_const<T>::type
0025 >;
0026 }}}
0027
0028 #else
0029 #include <boost/mpl/bool.hpp>
0030 #include <boost/mpl/if.hpp>
0031 #include <boost/type_traits/is_base_of.hpp>
0032 #include <boost/type_traits/remove_const.hpp>
0033
0034 namespace boost { namespace parameter { namespace aux {
0035
0036 template <typename T>
0037 struct is_maybe
0038 : ::boost::mpl::if_<
0039 ::boost::is_base_of<
0040 ::boost::parameter::aux::maybe_base
0041 , typename ::boost::remove_const<T>::type
0042 >
0043 , ::boost::mpl::true_
0044 , ::boost::mpl::false_
0045 >::type
0046 {
0047 };
0048 }}}
0049
0050 #endif
0051 #endif
0052