namespace boost { namespace text { template<code_point_iter I, std::sentinel_for< I > S, searcher_break_func< I, S > BreakFunc> struct boyer_moore_collation_searcher; template<code_point_iter I, std::sentinel_for< I > S, searcher_break_func< I, S > BreakFunc> struct boyer_moore_horspool_collation_searcher; template<code_point_iter I, std::sentinel_for< I > S = I> struct collation_search_result; struct cp_break; template<code_point_iter I, std::sentinel_for< I > S, searcher_break_func< I, S > BreakFunc> struct simple_collation_searcher; namespace v1 { template<code_point_iter I, std::sentinel_for< I > S, searcher< I, S > Searcher> collation_search_result< I > collation_search(I, S, Searcher const &); template<code_point_range R, searcher< I, S > Searcher> unspecified collation_search(R &&, Searcher const &); template<code_point_iter I, std::sentinel_for< I > S> unspecified make_simple_collation_searcher(I, S, collation_table const &, collation_flags = collation_flags::none); template<code_point_iter I, std::sentinel_for< I > S, searcher_break_func BreakFunc> unspecified make_simple_collation_searcher(I, S, BreakFunc, collation_table const &, collation_flags = collation_flags::none); template<code_point_range R> unspecified make_simple_collation_searcher(R &&, collation_table const &, collation_flags = collation_flags::none); template<code_point_range R, searcher_break_func BreakFunc> unspecified make_simple_collation_searcher(R &&, BreakFunc, collation_table const &, collation_flags = collation_flags::none); template<code_point_iter I, std::sentinel_for< I > S> unspecified make_boyer_moore_horspool_collation_searcher(I, S, collation_table const &, collation_flags = collation_flags::none); template<code_point_iter I, std::sentinel_for< I > S, searcher_break_func BreakFunc> unspecified make_boyer_moore_horspool_collation_searcher(I, S, BreakFunc, collation_table const &, collation_flags = collation_flags::none); template<code_point_range R> unspecified make_boyer_moore_horspool_collation_searcher(R &&, collation_table const &, collation_flags = collation_flags::none); template<code_point_range R, searcher_break_func BreakFunc> unspecified make_boyer_moore_horspool_collation_searcher(R &&, BreakFunc, collation_table const &, collation_flags = collation_flags::none); template<code_point_iter I, std::sentinel_for< I > S> unspecified make_boyer_moore_collation_searcher(I, S, collation_table const &, collation_flags = collation_flags::none); template<code_point_iter I, std::sentinel_for< I > S, searcher_break_func BreakFunc> unspecified make_boyer_moore_collation_searcher(I, S, BreakFunc, collation_table const &, collation_flags = collation_flags::none); template<code_point_range R> unspecified make_boyer_moore_collation_searcher(R &&, collation_table const &, collation_flags = collation_flags::none); template<code_point_range R, searcher_break_func BreakFunc> unspecified make_boyer_moore_collation_searcher(R &&, BreakFunc, collation_table const &, collation_flags = collation_flags::none); template<code_point_iter I1, std::sentinel_for< I1 > S1, code_point_iter I2, std::sentinel_for< I2 > S2, searcher_break_func BreakFunc> collation_search_result< I1 > collation_search(I1, S1, I2, S2, BreakFunc, collation_table const &, collation_flags = collation_flags::none); template<code_point_range R1, code_point_range R2, searcher_break_func BreakFunc> unspecified collation_search(R1 &&, R2 &&, BreakFunc, collation_table const &, collation_flags = collation_flags::none); template<code_point_iter I1, std::sentinel_for< I1 > S1, code_point_iter I2, std::sentinel_for< I2 > S2> collation_search_result< I1 > collation_search(I1, S1, I2, S2, collation_table const &, collation_flags = collation_flags::none); template<code_point_range R1, code_point_range R2> unspecified collation_search(R1 &&, R2 &&, collation_table const &, collation_flags = collation_flags::none); } } }namespace std { namespace ranges { } }