diff --git a/toml/acceptor.hpp b/toml/acceptor.hpp index 0c6037a..09dc78b 100644 --- a/toml/acceptor.hpp +++ b/toml/acceptor.hpp @@ -706,5 +706,71 @@ using is_key_value_pair = is_any_num_of_ws >; +template +using is_empty_line = + is_chain_of< + is_any_num_of_ws, + is_one_of, is_newline> + >; + +template +using is_empty_lines = + is_repeat_of< + is_chain_of< + is_any_num_of_ws, + is_one_of, is_newline> + >, + repeat_infinite() + >; + +template +using is_table_contents = + is_repeat_of< + is_one_of< + is_empty_lines, + is_chain_of< + is_key_value_pair, + is_one_of< + is_comment, + is_newline + > + > + >, + repeat_infinite() + >; + +template +using is_standard_table = + is_chain_of< + is_table_definition, + is_any_num_of_ws, + is_one_of, is_newline>, + is_table_contents + >; + +template +using is_array_of_table = + is_chain_of< + is_array_of_table_definition, + is_any_num_of_ws, + is_one_of, is_newline>, + is_table_contents + >; + +template +using is_toml_data = + is_chain_of< + is_ignorable>, + is_ignorable< + is_repeat_of< + is_one_of< + is_standard_table, + is_array_of_table + >, + repeat_infinite() + > + > + >; + }//toml #endif// TOML11_ACCEPTOR