[#is_error] [section is_error] [h1 Synopsis] template struct is_error; This is a [link lazy_metafunction lazy template metafunction] that supports [link currying currying]. [table Arguments [[Name] [Type]] [[`C`] [[link accept accept] or [link reject reject] value]] ] [h1 Description] Determines if `C` is a parsing error or not. Returns a [link boxed_value boxed] boolean value. [h1 Header] #include [h1 Expression semantics] For any `e` parsing error `is_error::type` is a wrapped compile-time `true` value, for any other `c` class `is_error::type` is a wrapped compile-time `false` value. [h1 Example] #include #include #include #include #include #include #include using namespace boost::metaparse; BOOST_METAPARSE_DEFINE_ERROR(sample_error, "Sample error message"); struct returns_reject { typedef reject type; }; static_assert( !is_error< accept< std::integral_constant, BOOST_METAPARSE_STRING("foo"), start > >::type::value, "an accept should not be an error" ); static_assert( is_error>::type::value, "an reject should be an error" ); static_assert( is_error<>::type::apply>::type::value, "it should support currying" ); static_assert( is_error::type::value, "it should support lazy evaluation" ); [endsect]