1[#digit_val] 2[section digit_val] 3 4[h1 Synopsis] 5 6 struct digit_val; 7 8This is a [link parser parser]. 9 10[h1 Description] 11 12It accepts one character in the range `0-9`. The result of the parser is the 13value represented by the accepted character. 14 15[h1 Header] 16 17 #include <boost/metaparse/digit_val.hpp> 18 19[h1 Expression semantics] 20 21The following are equivalent: 22 23 digit_val 24 25 transform<digit, util::digit_to_int<>> 26 27[h1 Example] 28 29 #include <boost/metaparse/digit_val.hpp> 30 #include <boost/metaparse/start.hpp> 31 #include <boost/metaparse/string.hpp> 32 #include <boost/metaparse/is_error.hpp> 33 #include <boost/metaparse/get_result.hpp> 34 35 using namespace boost::metaparse; 36 37 static_assert( 38 !is_error<digit_val::apply<BOOST_METAPARSE_STRING("0"), start>>::type::value, 39 "digit_val should accept a digit" 40 ); 41 42 static_assert( 43 is_error<digit_val::apply<BOOST_METAPARSE_STRING("x"), start>>::type::value, 44 "digit_val should reject a character" 45 ); 46 47 static_assert( 48 get_result< 49 digit_val::apply<BOOST_METAPARSE_STRING("0"), start> 50 >::type::value == 0, 51 "the result of parsing should be the int value" 52 ); 53 54[endsect] 55 56