| 1 | // Copyright Daniel Wallin, David Abrahams 2005. |
| 2 | // Distributed under the Boost Software License, Version 1.0. |
| 3 | // (See accompanying file LICENSE_1_0.txt or copy at |
| 4 | // http://www.boost.org/LICENSE_1_0.txt) |
| 5 | |
| 6 | #ifndef BOOST_PARAMETER_AUX_PACK_PARAMETER_REQUIREMENTS_HPP |
| 7 | #define BOOST_PARAMETER_AUX_PACK_PARAMETER_REQUIREMENTS_HPP |
| 8 | |
| 9 | namespace boost { namespace parameter { namespace aux { |
| 10 | |
| 11 | // Used to pass static information about parameter requirements through |
| 12 | // the satisfies() overload set (below). The matched function is never |
| 13 | // invoked, but its type indicates whether a parameter matches at |
| 14 | // compile-time. |
| 15 | template <typename Keyword, typename Predicate, typename HasDefault> |
| 16 | struct parameter_requirements |
| 17 | { |
| 18 | typedef Keyword keyword; |
| 19 | typedef Predicate predicate; |
| 20 | typedef HasDefault has_default; |
| 21 | }; |
| 22 | }}} // namespace boost::parameter::aux |
| 23 | |
| 24 | #endif // include guard |
| 25 | |
| 26 | |