gitextract_lxw4u0yo/ ├── .gitattributes ├── .github/ │ └── workflows/ │ └── main.yml ├── CMakeLists.txt ├── LICENSE_1_0.txt ├── README.md ├── range.example.cpp └── tc/ ├── algorithm/ │ ├── accumulate.h │ ├── algorithm.h │ ├── algorithm.t.cpp │ ├── any_accu.h │ ├── append.h │ ├── append.t.cpp │ ├── best_element.h │ ├── binary_operators.h │ ├── break_or_continue.h │ ├── compare.h │ ├── element.h │ ├── element.t.cpp │ ├── empty.h │ ├── empty.t.cpp │ ├── equal.h │ ├── equal.t.cpp │ ├── filter_inplace.h │ ├── find.h │ ├── find_closest_if.h │ ├── find_closest_if.t.cpp │ ├── for_each.h │ ├── for_each.t.cpp │ ├── for_each_xxx.h │ ├── interleave_ranges.h │ ├── longest_common_prefix.h │ ├── longest_common_prefix.t.cpp │ ├── minmax.h │ ├── partition_iterator.h │ ├── partition_range.h │ ├── quantifier.h │ ├── quantifier.t.cpp │ ├── restrict_size_decrement.h │ ├── round.h │ ├── round.t.cpp │ ├── size.h │ ├── size_bounded.h │ ├── size_linear.h │ ├── sort_streaming.h │ └── sort_streaming.t.cpp ├── array.h ├── base/ │ ├── accessors.h │ ├── as_lvalue.h │ ├── assert_defs.h │ ├── bit_cast.h │ ├── bitfield.h │ ├── bitfield.t.cpp │ ├── casts.h │ ├── casts.t.cpp │ ├── chained.h │ ├── change.h │ ├── conditional.h │ ├── conditional.t.cpp │ ├── construction_restrictiveness.h │ ├── derivable.h │ ├── empty_chain.h │ ├── enum.h │ ├── enum.t.cpp │ ├── explicit_cast.h │ ├── explicit_cast_fwd.h │ ├── functors.h │ ├── fundamental.h │ ├── generic_macros.h │ ├── has_xxx.h │ ├── inplace.h │ ├── inside_unwinding.h │ ├── integer.h │ ├── invoke.h │ ├── invoke.t.cpp │ ├── invoke_with_constant.h │ ├── large_integer.h │ ├── modified.h │ ├── modified.t.cpp │ ├── move.h │ ├── noncopyable.h │ ├── ref.h │ ├── reference_or_value.h │ ├── reference_or_value.t.cpp │ ├── renew.h │ ├── return_decltype.h │ ├── rvalue_property.h │ ├── rvalue_property.t.cpp │ ├── safe_comparison.h │ ├── safe_comparison.t.cpp │ ├── scope.h │ ├── static_polymorphism.h │ ├── string_template_param.h │ ├── tag_type.h │ ├── template_func.h │ ├── temporary.h │ ├── temporary.t.cpp │ ├── track_instance.h │ ├── track_instance.t.cpp │ ├── trivial_functors.h │ ├── trivial_functors.t.cpp │ ├── type_list.h │ ├── type_list.t.cpp │ ├── type_traits.h │ ├── type_traits.t.cpp │ ├── type_traits_fwd.h │ ├── utility.h │ └── utility.t.cpp ├── compat.t.cpp ├── const.t.cpp ├── container/ │ ├── cont_assign.h │ ├── cont_assign.t.cpp │ ├── cont_reserve.h │ ├── container.h │ ├── container_traits.h │ ├── insert.h │ └── string.h ├── create.t.cpp ├── dense_map.h ├── dense_map.natvis ├── dense_map.t.cpp ├── enumset.h ├── interval.h ├── interval.t.cpp ├── interval_types.h ├── optional.h ├── optional.t.cpp ├── range/ │ ├── adjacent_adaptor.h │ ├── cartesian_product_adaptor.h │ ├── concat_adaptor.h │ ├── concat_adaptor.t.cpp │ ├── conditional_range.h │ ├── conditional_range.t.cpp │ ├── empty_range.h │ ├── filter_adaptor.h │ ├── index_iterator.h │ ├── index_range.h │ ├── intersection_adaptor.h │ ├── intersection_adaptor.t.cpp │ ├── iota_range.h │ ├── iterator_cache.h │ ├── iterator_facade.h │ ├── join_adaptor.h │ ├── join_framed_adaptor.h │ ├── literal_range.h │ ├── literal_range.t.cpp │ ├── make_range.h │ ├── merge_range.h │ ├── merge_ranges.h │ ├── merge_ranges.t.cpp │ ├── meta.h │ ├── ordered_pairs.h │ ├── partial_sum.h │ ├── range.t.cpp │ ├── range_adaptor.h │ ├── range_return.h │ ├── repeat_n.h │ ├── reverse_adaptor.h │ ├── reverse_adaptor.t.cpp │ ├── sparse_adaptor.h │ ├── sparse_adaptor.t.cpp │ ├── subrange.h │ ├── subrange.t.cpp │ ├── take_while.h │ ├── take_while.t.cpp │ ├── transform.h │ ├── transform.t.cpp │ ├── transform_adaptor.h │ ├── union_adaptor.h │ ├── unique_range_adaptor.h │ ├── zip_range.h │ └── zip_range.t.cpp ├── restricted_enum.h ├── restricted_enum.t.cpp ├── static_vector.h ├── storage_for.h ├── string/ │ ├── ascii.h │ ├── char.h │ ├── char.t.cpp │ ├── convert_enc.h │ ├── convert_enc.t.cpp │ ├── format.h │ ├── jsonparser.h │ ├── jsonparser.t.cpp │ ├── make_c_str.h │ ├── make_c_str.t.cpp │ ├── named.h │ ├── parserbase.h │ ├── spirit/ │ │ ├── support/ │ │ │ ├── assert_msg.hpp │ │ │ ├── char_encoding/ │ │ │ │ ├── ascii.hpp │ │ │ │ ├── iso8859_1.hpp │ │ │ │ ├── standard.hpp │ │ │ │ ├── standard_wide.hpp │ │ │ │ ├── unicode/ │ │ │ │ │ ├── category_table.hpp │ │ │ │ │ ├── lowercase_table.hpp │ │ │ │ │ ├── query.hpp │ │ │ │ │ ├── script_table.hpp │ │ │ │ │ └── uppercase_table.hpp │ │ │ │ └── unicode.hpp │ │ │ └── char_set/ │ │ │ ├── basic_chset.hpp │ │ │ ├── range.hpp │ │ │ ├── range_functions.hpp │ │ │ ├── range_run.hpp │ │ │ └── range_run_impl.hpp │ │ ├── unittest/ │ │ │ ├── actions.t.cpp │ │ │ ├── alternative.t.cpp │ │ │ ├── and_predicate.t.cpp │ │ │ ├── attr.t.cpp │ │ │ ├── attribute_type_check.t.cpp │ │ │ ├── binary.t.cpp │ │ │ ├── bool.hpp │ │ │ ├── bool.t.cpp │ │ │ ├── char1.t.cpp │ │ │ ├── char_class.t.cpp │ │ │ ├── confix.t.cpp │ │ │ ├── container_support.t.cpp │ │ │ ├── difference.t.cpp │ │ │ ├── eoi.t.cpp │ │ │ ├── eol.t.cpp │ │ │ ├── eps.t.cpp │ │ │ ├── error_handler.t.cpp │ │ │ ├── expect.t.cpp │ │ │ ├── extract_int.t.cpp │ │ │ ├── fusion_map.t.cpp │ │ │ ├── grammar.hpp │ │ │ ├── grammar.t.cpp │ │ │ ├── grammar_linker.t.cpp │ │ │ ├── int.hpp │ │ │ ├── int1.t.cpp │ │ │ ├── iterator_check.t.cpp │ │ │ ├── kleene.t.cpp │ │ │ ├── lexeme.t.cpp │ │ │ ├── list.t.cpp │ │ │ ├── lit.t.cpp │ │ │ ├── lit1.t.cpp │ │ │ ├── lit2.t.cpp │ │ │ ├── matches.t.cpp │ │ │ ├── no_case.t.cpp │ │ │ ├── no_skip.t.cpp │ │ │ ├── not_predicate.t.cpp │ │ │ ├── omit.t.cpp │ │ │ ├── optional_x3.t.cpp │ │ │ ├── plus.t.cpp │ │ │ ├── raw.t.cpp │ │ │ ├── real.hpp │ │ │ ├── real1.t.cpp │ │ │ ├── real2.t.cpp │ │ │ ├── real3.t.cpp │ │ │ ├── real4.t.cpp │ │ │ ├── repeat.t.cpp │ │ │ ├── rule1.t.cpp │ │ │ ├── rule2.t.cpp │ │ │ ├── rule3.t.cpp │ │ │ ├── rule4.t.cpp │ │ │ ├── rule_separate_tu.t.cpp │ │ │ ├── rule_separate_tu_grammar.hpp │ │ │ ├── rule_separate_tu_grammar.t.cpp │ │ │ ├── seek.t.cpp │ │ │ ├── sequence.t.cpp │ │ │ ├── skip.t.cpp │ │ │ ├── symbols1.t.cpp │ │ │ ├── symbols2.t.cpp │ │ │ ├── symbols3.t.cpp │ │ │ ├── test.hpp │ │ │ ├── to_utf8.t.cpp │ │ │ ├── tst.t.cpp │ │ │ ├── uint.hpp │ │ │ ├── uint1.t.cpp │ │ │ ├── uint_radix.hpp │ │ │ ├── uint_radix.t.cpp │ │ │ ├── unused_type.t.cpp │ │ │ ├── utils.hpp │ │ │ ├── with.t.cpp │ │ │ └── x3_variant.t.cpp │ │ ├── x3/ │ │ │ ├── auxiliary/ │ │ │ │ ├── attr.hpp │ │ │ │ ├── eoi.hpp │ │ │ │ ├── eol.hpp │ │ │ │ ├── eps.hpp │ │ │ │ └── guard.hpp │ │ │ ├── auxiliary.hpp │ │ │ ├── binary/ │ │ │ │ └── binary.hpp │ │ │ ├── binary.hpp │ │ │ ├── char/ │ │ │ │ ├── any_char.hpp │ │ │ │ ├── char.hpp │ │ │ │ ├── char_class.hpp │ │ │ │ ├── char_class_tags.hpp │ │ │ │ ├── char_parser.hpp │ │ │ │ ├── char_set.hpp │ │ │ │ ├── detail/ │ │ │ │ │ └── cast_char.hpp │ │ │ │ ├── literal_char.hpp │ │ │ │ ├── negated_char_parser.hpp │ │ │ │ └── unicode.hpp │ │ │ ├── char.hpp │ │ │ ├── core/ │ │ │ │ ├── action.hpp │ │ │ │ ├── call.hpp │ │ │ │ ├── detail/ │ │ │ │ │ └── parse_into_container.hpp │ │ │ │ ├── parse.hpp │ │ │ │ ├── parser.hpp │ │ │ │ ├── proxy.hpp │ │ │ │ └── skip_over.hpp │ │ │ ├── core.hpp │ │ │ ├── directive/ │ │ │ │ ├── confix.hpp │ │ │ │ ├── expect.hpp │ │ │ │ ├── lexeme.hpp │ │ │ │ ├── matches.hpp │ │ │ │ ├── no_case.hpp │ │ │ │ ├── no_skip.hpp │ │ │ │ ├── omit.hpp │ │ │ │ ├── raw.hpp │ │ │ │ ├── repeat.hpp │ │ │ │ ├── seek.hpp │ │ │ │ ├── skip.hpp │ │ │ │ └── with.hpp │ │ │ ├── directive.hpp │ │ │ ├── nonterminal/ │ │ │ │ ├── debug_handler_state.hpp │ │ │ │ ├── detail/ │ │ │ │ │ ├── rule.hpp │ │ │ │ │ └── transform_attribute.hpp │ │ │ │ ├── rule.hpp │ │ │ │ └── simple_trace.hpp │ │ │ ├── nonterminal.hpp │ │ │ ├── numeric/ │ │ │ │ ├── bool.hpp │ │ │ │ ├── bool_policies.hpp │ │ │ │ ├── int.hpp │ │ │ │ ├── real.hpp │ │ │ │ ├── real_policies.hpp │ │ │ │ └── uint.hpp │ │ │ ├── numeric.hpp │ │ │ ├── operator/ │ │ │ │ ├── alternative.hpp │ │ │ │ ├── and_predicate.hpp │ │ │ │ ├── detail/ │ │ │ │ │ ├── alternative.hpp │ │ │ │ │ └── sequence.hpp │ │ │ │ ├── difference.hpp │ │ │ │ ├── kleene.hpp │ │ │ │ ├── list.hpp │ │ │ │ ├── not_predicate.hpp │ │ │ │ ├── optional.hpp │ │ │ │ ├── plus.hpp │ │ │ │ └── sequence.hpp │ │ │ ├── operator.hpp │ │ │ ├── string/ │ │ │ │ ├── detail/ │ │ │ │ │ ├── string_parse.hpp │ │ │ │ │ └── tst.hpp │ │ │ │ ├── literal_string.hpp │ │ │ │ ├── symbols.hpp │ │ │ │ ├── tst.hpp │ │ │ │ └── tst_map.hpp │ │ │ ├── string.hpp │ │ │ ├── support/ │ │ │ │ ├── ast/ │ │ │ │ │ ├── position_tagged.hpp │ │ │ │ │ └── variant.hpp │ │ │ │ ├── context.hpp │ │ │ │ ├── no_case.hpp │ │ │ │ ├── numeric_utils/ │ │ │ │ │ ├── detail/ │ │ │ │ │ │ └── extract_int.hpp │ │ │ │ │ ├── extract_int.hpp │ │ │ │ │ ├── extract_real.hpp │ │ │ │ │ └── pow10.hpp │ │ │ │ ├── subcontext.hpp │ │ │ │ ├── traits/ │ │ │ │ │ ├── attribute_category.hpp │ │ │ │ │ ├── attribute_of.hpp │ │ │ │ │ ├── attribute_of_binary.hpp │ │ │ │ │ ├── attribute_type.hpp │ │ │ │ │ ├── container_traits.hpp │ │ │ │ │ ├── handles_container.hpp │ │ │ │ │ ├── has_attribute.hpp │ │ │ │ │ ├── is_range.hpp │ │ │ │ │ ├── is_substitute.hpp │ │ │ │ │ ├── is_variant.hpp │ │ │ │ │ ├── move_to.hpp │ │ │ │ │ ├── numeric_traits.hpp │ │ │ │ │ ├── optional_traits.hpp │ │ │ │ │ ├── print_attribute.hpp │ │ │ │ │ ├── print_token.hpp │ │ │ │ │ ├── pseudo_attribute.hpp │ │ │ │ │ ├── string_traits.hpp │ │ │ │ │ ├── transform_attribute.hpp │ │ │ │ │ ├── tuple_traits.hpp │ │ │ │ │ ├── variant_find_substitute.hpp │ │ │ │ │ └── variant_has_substitute.hpp │ │ │ │ ├── unused.hpp │ │ │ │ └── utility/ │ │ │ │ ├── annotate_on_success.hpp │ │ │ │ ├── error_reporting.hpp │ │ │ │ ├── is_callable.hpp │ │ │ │ ├── lambda_visitor.hpp │ │ │ │ ├── sfinae.hpp │ │ │ │ └── utf8.hpp │ │ │ └── version.hpp │ │ └── x3.hpp │ ├── spirit.h │ ├── spirit_algorithm.h │ ├── xmlparser.h │ ├── xmlparser.t.cpp │ └── xmltransform.h ├── tuple.h ├── unittest.h ├── variant.h └── variant.t.cpp