namespace boost { namespace text { template<typename Iter> struct replace_result; namespace v1 { template<nf Normalization, utf_string String, code_point_iter I, typename StringIter = std::ranges::iterator_t<String> > replace_result< StringIter > normalize_replace(String &, StringIter, StringIter, I, I, insertion_normalization = insertion_not_normalized); template<nf Normalization, utf_string String, code_point_iter I, typename StringIter = std::ranges::iterator_t<String> > replace_result< StringIter > normalize_insert(String &, StringIter, I, I, insertion_normalization = insertion_not_normalized); template<nf Normalization, utf_string String, code_point_range R, typename StringIter = std::ranges::iterator_t<String> > replace_result< StringIter > normalize_insert(String &, StringIter, R &&, insertion_normalization = insertion_not_normalized); template<nf Normalization, utf_string String, typename StringIter = std::ranges::iterator_t<String> > replace_result< StringIter > normalize_erase(String &, StringIter, StringIter); } } }namespace std { namespace ranges { } }