#include <keywords.hpp>
Classes | |
struct | attribute |
struct | build_parser_tags |
struct | is_complex_kwd_parser_filter |
struct | is_kwd_parser_filter |
Public Member Functions | |
BOOST_MPL_ASSERT_RELATION (non_kwd_subject_count::value,==, 0) | |
If the assertion fails here then you probably forgot to wrap a subject of the / operator in a kwd directive. More... | |
keywords (Elements const &elements_) | |
template<typename Iterator , typename Context , typename Skipper , typename Attribute > | |
bool | parse (Iterator &first, Iterator const &last, Context &context, Skipper const &skipper, Attribute &attr_) const |
template<typename Iterator , typename Context , typename Skipper , typename Attribute > | |
bool | parse_impl (Iterator &first, Iterator const &last, Context &context, Skipper const &skipper, Attribute &attr_, mpl::true_) const |
template<typename Iterator , typename Context , typename Skipper , typename Attribute > | |
bool | parse_impl (Iterator &first, Iterator const &last, Context &context, Skipper const &skipper, Attribute &attr_, mpl::false_) const |
template<typename Context > | |
info | what (Context &context) const |
keywords< Elements, Modifiers > const & | derived () const |
Public Attributes | |
flags_type | flags_init |
Elements | elements |
string_keywords_type | string_keywords_inst |
complex_keywords_type | complex_keywords_inst |
typedef mpl::filter_view< parser_index_vector , is_complex_kwd_parser_filter< mpl::_ > >::type boost::spirit::repository::qi::keywords< Elements, Modifiers >::complex_keywords_indexes |
typedef mpl::if_< typename mpl::empty<complex_keywords_indexes>::type, detail::empty_keywords_list, detail::complex_keywords< complex_keywords_indexes > >::type boost::spirit::repository::qi::keywords< Elements, Modifiers >::complex_keywords_type |
typedef boost::array<int, fusion::result_of::size<Elements>::value> boost::spirit::repository::qi::keywords< Elements, Modifiers >::counters_type |
|
inherited |
|
inherited |
typedef boost::array<bool, fusion::result_of::size<Elements>::value> boost::spirit::repository::qi::keywords< Elements, Modifiers >::flags_type |
typedef mpl::count_if< Elements, mpl::not_< mpl::or_< is_kwd_parser< mpl::_1 > , is_complex_kwd_parser< mpl::_1 > > > > boost::spirit::repository::qi::keywords< Elements, Modifiers >::non_kwd_subject_count |
Make sure that all subjects are of the kwd type.
typedef build_parser_tags< Elements >::type boost::spirit::repository::qi::keywords< Elements, Modifiers >::parser_index_vector |
typedef mpl::filter_view< parser_index_vector , is_kwd_parser_filter< mpl::_ > >::type boost::spirit::repository::qi::keywords< Elements, Modifiers >::string_keyword_indexes |
typedef mpl::filter_view< Elements, is_kwd_parser<mpl::_> >::type boost::spirit::repository::qi::keywords< Elements, Modifiers >::string_keywords |
typedef mpl::if_< typename mpl::empty<string_keyword_indexes>::type, detail::empty_keywords_list, detail::string_keywords< Elements, string_keywords, string_keyword_indexes, flags_type, Modifiers> >::type boost::spirit::repository::qi::keywords< Elements, Modifiers >::string_keywords_type |
|
inline |
boost::spirit::repository::qi::keywords< Elements, Modifiers >::BOOST_MPL_ASSERT_RELATION | ( | non_kwd_subject_count::value | , |
0 | |||
) |
If the assertion fails here then you probably forgot to wrap a subject of the / operator in a kwd directive.
|
inlineinherited |
|
inline |
|
inline |
References boost::array< T, N >::assign(), boost::spirit::x3::attr, BOOST_FOREACH, boost::spirit::repository::qi::keywords< Elements, Modifiers >::complex_keywords_inst, boost::spirit::repository::qi::keywords< Elements, Modifiers >::elements, boost::xpressive::first, boost::spirit::repository::qi::keywords< Elements, Modifiers >::flags_init, boost::serialization::save(), boost::spirit::qi::skip_over(), and boost::spirit::repository::qi::keywords< Elements, Modifiers >::string_keywords_inst.
Referenced by boost::spirit::repository::qi::keywords< Elements, Modifiers >::parse().
|
inline |
References boost::array< T, N >::assign(), boost::spirit::x3::attr, BOOST_FOREACH, boost::spirit::repository::qi::keywords< Elements, Modifiers >::complex_keywords_inst, boost::spirit::repository::qi::keywords< Elements, Modifiers >::elements, boost::xpressive::first, boost::spirit::repository::qi::keywords< Elements, Modifiers >::flags_init, boost::serialization::save(), boost::spirit::qi::skip_over(), and boost::spirit::repository::qi::keywords< Elements, Modifiers >::string_keywords_inst.
|
inline |
complex_keywords_type boost::spirit::repository::qi::keywords< Elements, Modifiers >::complex_keywords_inst |
Elements boost::spirit::repository::qi::keywords< Elements, Modifiers >::elements |
flags_type boost::spirit::repository::qi::keywords< Elements, Modifiers >::flags_init |
string_keywords_type boost::spirit::repository::qi::keywords< Elements, Modifiers >::string_keywords_inst |