PrevUpHomeNext

Function template normalize_replace

boost::text::v1::normalize_replace

Synopsis

// In header: <boost/text/normalize_algorithm.hpp>


template<nf Normalization, utf_string String, code_point_iter I, 
         typename StringIter = std::ranges::iterator_t<String> > 
  replace_result< StringIter > 
  normalize_replace(String & string, StringIter str_first, 
                    StringIter str_last, I first, I last, 
                    insertion_normalization insertion_norm = insertion_not_normalized);

Description

Inserts [first, last) into string string, replacing the sequence [str_first, str_last) within string, and returning a view indicating the changed portion of string. Note that the replacement operation may mutate some code points just before or just after the inserted sequence. The output is UTF-8 if sizeof(*s.begin()) == 1, and UTF-16 otherwise. The inserted string is normalized and put into stream-safe format if insertion_norm is insertion_not_normalized. The code points at either end of the insertion may need to be normalized, regardless of whether the inserted string does.

See Also:

https://unicode.org/reports/tr15/#Stream_Safe_Text_Format

Requires:

string is in normalization form Normalization.

Requires:

string is stream-safe format.

Requires:

str_first and str_last are at code point boundaries.


PrevUpHomeNext