/usr/include/boost/parameter
NameSizeModeActions
aux_/-0755rm
are_tagged_arguments.hpp48120644editdlrm
binding.hpp55130644editdlrm
compose.hpp84220644editdlrm
config.hpp37470644editdlrm
deduced.hpp35870644editdlrm
is_argument_pack.hpp8360644editdlrm
keyword.hpp281880644editdlrm
keyword_fwd.hpp6710644editdlrm
macros.hpp115690644editdlrm
match.hpp18490644editdlrm
name.hpp57990644editdlrm
nested_keyword.hpp72080644editdlrm
optional.hpp18970644editdlrm
parameters.hpp213670644editdlrm
preprocessor.hpp111130644editdlrm
preprocessor_no_spec.hpp36730644editdlrm
python.hpp190480644editdlrm
required.hpp18340644editdlrm
template_keyword.hpp32870644editdlrm
value_type.hpp55300644editdlrm
Edit: /usr/include/boost/parameter/deduced.hpp (3587B)
// Copyright David Abrahams, Daniel Wallin 2003. // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_PARAMETER_DEDUCED_HPP #define BOOST_PARAMETER_DEDUCED_HPP #include namespace boost { namespace parameter { // This metafunction can be used to describe the treatment of particular // named parameters for the purposes of overload elimination with SFINAE, // by placing specializations in the parameters<...> list. // // If a keyword k is specified with deduced<...>, that keyword // will be automatically deduced from the argument list. template struct deduced { typedef Tag key_type; }; }} #include #if defined(BOOST_PARAMETER_CAN_USE_MP11) #include #else #include #endif namespace boost { namespace parameter { namespace aux { template struct is_deduced_aux #if defined(BOOST_PARAMETER_CAN_USE_MP11) : ::boost::mp11::mp_false #else : ::boost::mpl::false_ #endif { }; template struct is_deduced_aux< ::boost::parameter::deduced > #if defined(BOOST_PARAMETER_CAN_USE_MP11) : ::boost::mp11::mp_true #else : ::boost::mpl::true_ #endif { }; template struct is_deduced0 : ::boost::parameter::aux::is_deduced_aux::type { }; }}} // namespace boost::parameter::aux #include #include #if defined(BOOST_PARAMETER_CAN_USE_MP11) #include #else #include #endif namespace boost { namespace parameter { namespace aux { // // tag_type, has_default, and predicate -- // // These metafunctions accept a ParameterSpec and extract the // keyword tag, whether or not a default is supplied for the // parameter, and the predicate that the corresponding actual // argument type is required match. // // a ParameterSpec is a specialization of either keyword<...>, // required<...>, optional<...> // template #if defined(BOOST_PARAMETER_CAN_USE_MP11) using has_default = ::boost::mp11::mp_if< ::boost::parameter::aux::is_required , ::boost::mp11::mp_false , ::boost::mp11::mp_true >; #else struct has_default : ::boost::mpl::if_< ::boost::parameter::aux::is_required , ::boost::mpl::false_ , ::boost::mpl::true_ >::type { }; #endif template #if defined(BOOST_PARAMETER_CAN_USE_MP11) using is_deduced = ::boost::mp11::mp_if< ::boost::mp11::mp_if< ::boost::parameter::aux::is_optional , ::boost::mp11::mp_true , ::boost::parameter::aux::is_required > , ::boost::parameter::aux::is_deduced0 , ::boost::mp11::mp_false >; #else struct is_deduced : ::boost::mpl::if_< typename ::boost::mpl::if_< ::boost::parameter::aux::is_optional , ::boost::mpl::true_ , ::boost::parameter::aux::is_required >::type , ::boost::parameter::aux::is_deduced0 , ::boost::mpl::false_ >::type { }; #endif // BOOST_PARAMETER_CAN_USE_MP11 }}} // namespace boost::parameter::aux #endif // include guard