#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 |