parameter_requirements.hpp 923 B

12345678910111213141516171819202122232425
  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. #ifndef BOOST_PARAMETER_AUX_PACK_PARAMETER_REQUIREMENTS_HPP
  6. #define BOOST_PARAMETER_AUX_PACK_PARAMETER_REQUIREMENTS_HPP
  7. namespace boost { namespace parameter { namespace aux {
  8. // Used to pass static information about parameter requirements through
  9. // the satisfies() overload set (below). The matched function is never
  10. // invoked, but its type indicates whether a parameter matches at
  11. // compile-time.
  12. template <typename Keyword, typename Predicate, typename HasDefault>
  13. struct parameter_requirements
  14. {
  15. typedef Keyword keyword;
  16. typedef Predicate predicate;
  17. typedef HasDefault has_default;
  18. };
  19. }}} // namespace boost::parameter::aux
  20. #endif // include guard