is_digit.hpp 845 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef BOOST_METAPARSE_V1_UTIL_IS_DIGIT_HPP
  2. #define BOOST_METAPARSE_V1_UTIL_IS_DIGIT_HPP
  3. // Copyright Abel Sinkovics (abel@sinkovics.hu) 2009 - 2010.
  4. // Distributed under the Boost Software License, Version 1.0.
  5. // (See accompanying file LICENSE_1_0.txt or copy at
  6. // http://www.boost.org/LICENSE_1_0.txt)
  7. #include <boost/metaparse/v1/util/in_range_c.hpp>
  8. #include <boost/mpl/vector.hpp>
  9. namespace boost
  10. {
  11. namespace metaparse
  12. {
  13. namespace v1
  14. {
  15. namespace util
  16. {
  17. template <class C = boost::mpl::na>
  18. struct is_digit : in_range_c<char, '0', '9'>::apply<C> {};
  19. template <>
  20. struct is_digit<boost::mpl::na>
  21. {
  22. typedef is_digit type;
  23. template <class C = boost::mpl::na>
  24. struct apply : is_digit<C> {};
  25. };
  26. }
  27. }
  28. }
  29. }
  30. #endif