8 #ifndef COMMENT_FILTER_HH_
9 #define COMMENT_FILTER_HH_
11 #define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
12 #define BOOST_MPL_LIMIT_VECTOR_SIZE 30
13 #include <boost/mpl/vector.hpp>
18 namespace io = boost::iostreams;
33 inline
void slash_and_push(
char ch)
52 typedef boost::mpl::vector<
59 row<no_comment, is_any, no_comment, &self::push>,
63 row<one_slash, is_any, no_comment, &self::slash_and_push>,
67 row<one_line_comment, is_any , one_line_comment, &self::skip>,
72 row<multi_line_comment, is_any, multi_line_comment, &self::skip>,
77 row<star_in_comment, is_any, multi_line_comment, &self::skip>,
81 row<in_quote, is_any, in_quote, &self::push>,
83 row<in_quote_bsl, is_any, in_quote, &self::push>,
85 row<no_comment_bsl, is_any, no_comment, &self::push>
static const int initial_state