<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="">= `string`</string>
    <string name="">Modifiable sequences of characters are represented using objects of type &lt;&lt;ref_string&gt;&gt;.</string>
    <string name="">The interface and functionality of &lt;&lt;ref_string&gt;&gt; is the same as {std_string} except that:</string>
    <string name="">&lt;&lt;ref_string&gt;&gt; is not a class template,</string>
    <string name="">&lt;&lt;ref_string&gt;&gt; uses `char` as its character type,</string>
    <string name="">redundant overloads for string operations have been replaced</string>
    <string name="">with a &lt;&lt;ref_string_view&gt;&gt;-based interface,</string>
    <string name="">access to characters in the range `[size(), capacity())` is permitted,</string>
    <string name="">&lt;&lt;ref_storage_ptr&gt;&gt; is used instead of {req_Allocator}, and</string>
    <string name="">small buffer optimisation is guaranteed, which avoids allocating memory for</string>
    <string name="">small strings.</string>
    <string name="">With augmented interface, operations requiring an input string are implemented as a single overload with a parameter of type &lt;&lt;ref_string_view&gt;&gt;, and can accept most string-like objects. Objects such as null terminated character pointers, `std::string`, &lt;&lt;ref_string&gt;&gt;, subranges of strings, and objects convertible to &lt;&lt;ref_string_view&gt;&gt; can all be passed to these functions.</string>
    <string name="">More formally, `std::string` member function overloads that accept any of the following parameter combinations as an input string:</string>
    <string name="">a `std::string` parameter, or</string>
    <string name="">a `std::string` parameter and two `size_type` parameters that specify a</string>
    <string name="">substring, or</string>
    <string name="">a parameter of a type convertible to &lt;&lt;ref_string_view&gt;&gt;, or</string>
    <string name="">a parameter of a type convertible to &lt;&lt;ref_string_view&gt;&gt; and two</string>
    <string name="">`size_type` parameters that specify a substring, or</string>
    <string name="">a `const_pointer` parameter, or</string>
    <string name="">a parameter of type `const_pointer` and a `size_type` parameter that</string>
    <string name="">specifies the length of the string</string>
    <string name="">are replaced with an overload accepting a &lt;&lt;ref_string_view&gt;&gt; parameter.</string>
    <string name="">This design removes several redundant overloads from the interface. For example, the 11 overloads of `std::string::insert` are reduced to just 3 in &lt;&lt;ref_string&gt;&gt;, while still providing identical functionality. In addition to these changes, overloads taking a `std::initializer_list&lt;char&gt;` parameter have been removed. Such overloads have little use, as they serve as little more than wrappers for arrays with an inefficient syntax:</string>
    <string name="">With the removal of overloads that specify parameters for a substring, a member function `subview` that returns a &lt;&lt;ref_string_view&gt;&gt; is provided to facilitate cheap substring operations:</string>
    <string name="">A &lt;&lt;ref_string&gt;&gt; may be constructed using the &lt;&lt;default_memory_resource,default memory resource&gt;&gt; without incurring any memory allocations. Alternatively, a &lt;&lt;ref_storage_ptr&gt;&gt; can be provided explicitly:</string>
    <string name="">Formatted Output</string>
    <string name="">When a &lt;&lt;ref_string&gt;&gt; is formatted to a {std_ostream}, the result is a valid JSON. That is, the result will be double quoted and the contents properly escaped per the JSON specification.</string>
    <string name="">Accessing Storage Beyond `size()`</string>
    <string name="">&lt;&lt;ref_string&gt;&gt; directly supports access to its storage in the range `[size(), capacity())`. This can be used for efficient assembly of a string from several parts. After the string is assembled, use the member function &lt;&lt;ref_string_grow&gt;&gt; to update the string\'s size and insert the null terminator. For example:</string>
</resources>
