[#is_ucase_letter] [section is_ucase_letter] [h1 Synopsis] namespace util { template struct is_ucase_letter; } This is a [link lazy_metafunction lazy template metafunction] that supports [link currying currying]. [table Arguments [[Name] [Type]] [[`C`] [[link boxed_value boxed] character value]] ] [h1 Description] Checks if `C` is an upper case letter. Returns a boxed boolean value. [h1 Header] #include [h1 Expression semantics] The following expressions are equivalent: is_ucase_letter<>::apply>::type boost::mpl::true_ is_ucase_letter<>::apply>::type boost::mpl::true_ is_ucase_letter<>::apply::type boost::mpl::false_ [h1 Example] #include #include using namespace boost::metaparse; struct returns_char { using type = std::integral_constant; }; static_assert( util::is_ucase_letter>::type::value, "A should be an upper case letter" ); static_assert( !util::is_ucase_letter>::type::value, "a should not be an upper case letter" ); static_assert( util::is_ucase_letter<>::type ::apply>::type::value, "it should support currying" ); static_assert( util::is_ucase_letter::type::value, "it should support lazy evaluation" ); [endsect]