// Copyright Daniel Wallin, David Abrahams 2005. Use, modification and

// distribution is subject to 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 PARAMETER_REQUIREMENTS_050331_HPP

#define PARAMETER_REQUIREMENTS_050331_HPP



namespace boost { namespace parameter { namespace aux {



// Used to pass static information about parameter requirements

// through the satisfies() overload set (below).  The

// matched function is never invoked, but its type indicates whether

// a parameter matches at compile-time

template <class Keyword, class Predicate, class HasDefault>

struct parameter_requirements

{

    typedef Keyword keyword;

    typedef Predicate predicate;

    typedef HasDefault has_default;

};



}}} // namespace boost::parameter::aux



#endif // PARAMETER_REQUIREMENTS_050331_HPP

