Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 09:59:14

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_AS_PARAMETER_REQUIREMENTS_HPP
0007 #define BOOST_PARAMETER_AUX_PACK_AS_PARAMETER_REQUIREMENTS_HPP
0008 
0009 #include <boost/parameter/aux_/pack/parameter_requirements.hpp>
0010 #include <boost/parameter/aux_/pack/tag_type.hpp>
0011 #include <boost/parameter/aux_/pack/predicate.hpp>
0012 #include <boost/parameter/deduced.hpp>
0013 
0014 namespace boost { namespace parameter { namespace aux {
0015 
0016     // Converts a ParameterSpec into a specialization of
0017     // parameter_requirements.  We need to do this in order to get the
0018     // tag_type into the type in a way that can be conveniently matched
0019     // by a satisfies(...) member function in arg_list.
0020     template <typename ParameterSpec>
0021     struct as_parameter_requirements
0022     {
0023         typedef ::boost::parameter::aux::parameter_requirements<
0024             typename ::boost::parameter::aux::tag_type<ParameterSpec>::type
0025           , typename ::boost::parameter::aux::predicate<ParameterSpec>::type
0026           , ::boost::parameter::aux::has_default<ParameterSpec>
0027         > type;
0028     };
0029 }}} // namespace boost::parameter::aux
0030 
0031 #endif  // include guard
0032