is_none_c_impl.hpp 888 B

123456789101112131415161718192021222324252627282930313233343536
  1. #ifndef BOOST_METAPARSE_V1_CPP11_IMPL_IS_NONE_C_IMPL_HPP
  2. #define BOOST_METAPARSE_V1_CPP11_IMPL_IS_NONE_C_IMPL_HPP
  3. // Copyright Abel Sinkovics ([email protected]) 2017.
  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/mpl/bool.hpp>
  8. namespace boost
  9. {
  10. namespace metaparse
  11. {
  12. namespace v1
  13. {
  14. namespace impl
  15. {
  16. template <char D, char... Cs>
  17. struct is_none_c_impl;
  18. template <char D>
  19. struct is_none_c_impl<D> : boost::mpl::bool_<true> {};
  20. template <char D, char... Cs>
  21. struct is_none_c_impl<D, D, Cs...> : boost::mpl::bool_<false> {};
  22. template <char D, char C, char... Cs>
  23. struct is_none_c_impl<D, C, Cs...> : is_none_c_impl<D, Cs...> {};
  24. }
  25. }
  26. }
  27. }
  28. #endif