1[#alphanum] 2[section alphanum] 3 4[h1 Synopsis] 5 6 struct alphanum; 7 8This is a [link parser parser]. 9 10[h1 Description] 11 12It accepts one character in the range `a-z`, `A-Z` or `0-9`. The 13result of the parser is the accepted character. 14 15[h1 Header] 16 17 #include <boost/metaparse/alphanum.hpp> 18 19[h1 Expression semantics] 20 21The following are equivalent: 22 23 alphanum 24 25 one_of<digit, letter> 26 27[h1 Example] 28 29 #include <boost/metaparse/alphanum.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<alphanum::apply<BOOST_METAPARSE_STRING("0"), start>>::type::value, 39 "alphanum should accept a digit" 40 ); 41 42 static_assert( 43 !is_error<alphanum::apply<BOOST_METAPARSE_STRING("x"), start>>::type::value, 44 "alphanum should accept a character" 45 ); 46 47 static_assert( 48 get_result< 49 alphanum::apply<BOOST_METAPARSE_STRING("x"), start> 50 >::type::value == 'x', 51 "the result of parsing should be the character value" 52 ); 53 54 static_assert( 55 is_error<alphanum::apply<BOOST_METAPARSE_STRING(","), start>>::type::value, 56 "alphanum should reject a comma" 57 ); 58 59[endsect] 60 61