1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
4 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
5 <title>Class template basic_string</title>
6 <link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
7 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
8 <link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
9 <link rel="up" href="../../boost_container_header_reference.html#header.boost.container.string_hpp" title="Header <boost/container/string.hpp>">
10 <link rel="prev" href="swap_idm45666066660352.html" title="Function template swap">
11 <link rel="next" href="string.html" title="Type definition string">
13 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
14 <table cellpadding="2" width="100%"><tr>
15 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
16 <td align="center"><a href="../../../../index.html">Home</a></td>
17 <td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
18 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
19 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
20 <td align="center"><a href="../../../../more/index.htm">More</a></td>
23 <div class="spirit-nav">
24 <a accesskey="p" href="swap_idm45666066660352.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_container_header_reference.html#header.boost.container.string_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="string.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
26 <div class="refentry">
27 <a name="boost.container.basic_string"></a><div class="titlepage"></div>
28 <div class="refnamediv">
29 <h2><span class="refentrytitle">Class template basic_string</span></h2>
30 <p>boost::container::basic_string</p>
32 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
33 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../boost_container_header_reference.html#header.boost.container.string_hpp" title="Header <boost/container/string.hpp>">boost/container/string.hpp</a>>
35 </span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> CharT<span class="special">,</span> <span class="keyword">typename</span> Traits <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">char_traits</span><span class="special"><</span><span class="identifier">CharT</span><span class="special">></span><span class="special">,</span>
36 <span class="keyword">typename</span> Allocator <span class="special">=</span> <span class="keyword">void</span><span class="special">></span>
37 <span class="keyword">class</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">:</span>
38 <span class="keyword">private</span> <span class="identifier">dtl</span><span class="special">::</span><span class="identifier">basic_string_base</span><span class="special"><</span> <span class="identifier">real_allocator</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <span class="special">></span>
39 <span class="special">{</span>
40 <span class="keyword">public</span><span class="special">:</span>
41 <span class="comment">// types</span>
42 <span class="keyword">typedef</span> <span class="identifier">Traits</span> <a name="boost.container.basic_string.traits_type"></a><span class="identifier">traits_type</span><span class="special">;</span>
43 <span class="keyword">typedef</span> <span class="identifier">CharT</span> <a name="boost.container.basic_string.value_type"></a><span class="identifier">value_type</span><span class="special">;</span>
44 <span class="keyword">typedef</span> <span class="identifier">real_allocator</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="boost.container.basic_string.allocator_type"></a><span class="identifier">allocator_type</span><span class="special">;</span>
45 <span class="keyword">typedef</span> <span class="special">::</span><a class="link" href="allocator_traits.html" title="Struct template allocator_traits">boost::container::allocator_traits</a><span class="special"><</span> <span class="identifier">allocator_type</span> <span class="special">></span><span class="special">::</span><span class="identifier">pointer</span> <a name="boost.container.basic_string.pointer"></a><span class="identifier">pointer</span><span class="special">;</span>
46 <span class="keyword">typedef</span> <span class="special">::</span><a class="link" href="allocator_traits.html" title="Struct template allocator_traits">boost::container::allocator_traits</a><span class="special"><</span> <span class="identifier">allocator_type</span> <span class="special">></span><span class="special">::</span><span class="identifier">const_pointer</span> <a name="boost.container.basic_string.const_pointer"></a><span class="identifier">const_pointer</span><span class="special">;</span>
47 <span class="keyword">typedef</span> <span class="special">::</span><a class="link" href="allocator_traits.html" title="Struct template allocator_traits">boost::container::allocator_traits</a><span class="special"><</span> <span class="identifier">allocator_type</span> <span class="special">></span><span class="special">::</span><span class="identifier">reference</span> <a name="boost.container.basic_string.reference"></a><span class="identifier">reference</span><span class="special">;</span>
48 <span class="keyword">typedef</span> <span class="special">::</span><a class="link" href="allocator_traits.html" title="Struct template allocator_traits">boost::container::allocator_traits</a><span class="special"><</span> <span class="identifier">allocator_type</span> <span class="special">></span><span class="special">::</span><span class="identifier">const_reference</span> <a name="boost.container.basic_string.const_reference"></a><span class="identifier">const_reference</span><span class="special">;</span>
49 <span class="keyword">typedef</span> <span class="special">::</span><a class="link" href="allocator_traits.html" title="Struct template allocator_traits">boost::container::allocator_traits</a><span class="special"><</span> <span class="identifier">allocator_type</span> <span class="special">></span><span class="special">::</span><span class="identifier">size_type</span> <a name="boost.container.basic_string.size_type"></a><span class="identifier">size_type</span><span class="special">;</span>
50 <span class="keyword">typedef</span> <span class="special">::</span><a class="link" href="allocator_traits.html" title="Struct template allocator_traits">boost::container::allocator_traits</a><span class="special"><</span> <span class="identifier">allocator_type</span> <span class="special">></span><span class="special">::</span><span class="identifier">difference_type</span> <a name="boost.container.basic_string.difference_type"></a><span class="identifier">difference_type</span><span class="special">;</span>
51 <span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <a name="boost.container.basic_string.stored_allocator_type"></a><span class="identifier">stored_allocator_type</span><span class="special">;</span>
52 <span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <a name="boost.container.basic_string.iterator"></a><span class="identifier">iterator</span><span class="special">;</span>
53 <span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <a name="boost.container.basic_string.const_iterator"></a><span class="identifier">const_iterator</span><span class="special">;</span>
54 <span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <a name="boost.container.basic_string.reverse_iterator"></a><span class="identifier">reverse_iterator</span><span class="special">;</span>
55 <span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <a name="boost.container.basic_string.const_reverse_iterator"></a><span class="identifier">const_reverse_iterator</span><span class="special">;</span>
57 <span class="comment">// <a class="link" href="basic_string.html#boost.container.basic_stringconstruct-copy-destruct">construct/copy/destruct</a></span>
58 <a class="link" href="basic_string.html#idm45666065899712-bb"><span class="identifier">basic_string</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">(</span><span class="identifier">dtl</span><span class="special">::</span><span class="identifier">is_nothrow_default_constructible</span><span class="special"><</span> <span class="identifier">allocator_type</span> <span class="special">></span><span class="special">::</span><span class="identifier">value</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
59 <span class="keyword">explicit</span> <a class="link" href="basic_string.html#idm45666065896496-bb"><span class="identifier">basic_string</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
60 <a class="link" href="basic_string.html#idm45666065892400-bb"><span class="identifier">basic_string</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
61 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
62 <span class="keyword">explicit</span> <a class="link" href="basic_string.html#idm45666065887520-bb"><span class="identifier">basic_string</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">,</span>
63 <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span> <span class="special">=</span> <span class="identifier">allocator_type</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
64 <a class="link" href="basic_string.html#idm45666065881504-bb"><span class="identifier">basic_string</span></a><span class="special">(</span><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
65 <a class="link" href="basic_string.html#idm45666065877264-bb"><span class="identifier">basic_string</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
66 <a class="link" href="basic_string.html#idm45666065871712-bb"><span class="identifier">basic_string</span></a><span class="special">(</span><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&&</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
67 <a class="link" href="basic_string.html#idm45666065866976-bb"><span class="identifier">basic_string</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span><span class="special">;</span>
68 <a class="link" href="basic_string.html#idm45666065862080-bb"><span class="identifier">basic_string</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span>
69 <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
70 <a class="link" href="basic_string.html#idm45666065856784-bb"><span class="identifier">basic_string</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">)</span><span class="special">;</span>
71 <a class="link" href="basic_string.html#idm45666065853312-bb"><span class="identifier">basic_string</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
72 <a class="link" href="basic_string.html#idm45666065849152-bb"><span class="identifier">basic_string</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">)</span><span class="special">;</span>
73 <a class="link" href="basic_string.html#idm45666065846384-bb"><span class="identifier">basic_string</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
74 <a class="link" href="basic_string.html#idm45666065842928-bb"><span class="identifier">basic_string</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">CharT</span><span class="special">)</span><span class="special">;</span>
75 <a class="link" href="basic_string.html#idm45666065839488-bb"><span class="identifier">basic_string</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
76 <a class="link" href="basic_string.html#idm45666065835360-bb"><span class="identifier">basic_string</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <a class="link" href="default_init_t.html" title="Struct default_init_t">default_init_t</a><span class="special">)</span><span class="special">;</span>
77 <a class="link" href="basic_string.html#idm45666065831776-bb"><span class="identifier">basic_string</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <a class="link" href="default_init_t.html" title="Struct default_init_t">default_init_t</a><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
78 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> InputIterator<span class="special">></span> <a class="link" href="basic_string.html#idm45666065827504-bb"><span class="identifier">basic_string</span></a><span class="special">(</span><span class="identifier">InputIterator</span><span class="special">,</span> <span class="identifier">InputIterator</span><span class="special">)</span><span class="special">;</span>
79 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> InputIterator<span class="special">></span>
80 <a class="link" href="basic_string.html#idm45666065823232-bb"><span class="identifier">basic_string</span></a><span class="special">(</span><span class="identifier">InputIterator</span><span class="special">,</span> <span class="identifier">InputIterator</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
81 <a class="link" href="basic_string.html#idm45666065818272-bb"><span class="identifier">basic_string</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</span><span class="special"><</span> <span class="identifier">value_type</span> <span class="special">></span><span class="special">,</span>
82 <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span> <span class="special">=</span> <span class="identifier">allocator_type</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
83 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666065810864-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
84 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span>
85 <a class="link" href="basic_string.html#idm45666065806160-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">(</span><span class="identifier">allocator_traits_type</span><span class="special">::</span><span class="identifier">propagate_on_container_move_assignment</span><span class="special">::</span><span class="identifier">value</span><span class="special">||</span><span class="identifier">allocator_traits_type</span><span class="special">::</span><span class="identifier">is_always_equal</span><span class="special">::</span><span class="identifier">value</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
86 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666065801024-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">)</span><span class="special">;</span>
87 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666065798464-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="identifier">CharT</span><span class="special">)</span><span class="special">;</span>
88 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
89 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666065795920-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">)</span><span class="special">;</span>
90 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666065792208-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</span><span class="special"><</span> <span class="identifier">CharT</span> <span class="special">></span><span class="special">)</span><span class="special">;</span>
91 <a class="link" href="basic_string.html#idm45666065814576-bb"><span class="special">~</span><span class="identifier">basic_string</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
93 <span class="comment">// <a class="link" href="basic_string.html#idm45666066617904-bb">public member functions</a></span>
94 <span class="identifier">allocator_type</span> <a class="link" href="basic_string.html#idm45666066617344-bb"><span class="identifier">get_allocator</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
95 <span class="identifier">stored_allocator_type</span> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066613488-bb"><span class="identifier">get_stored_allocator</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
96 <span class="keyword">const</span> <span class="identifier">stored_allocator_type</span> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066608800-bb"><span class="identifier">get_stored_allocator</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
97 <span class="identifier">iterator</span> <a class="link" href="basic_string.html#idm45666066604096-bb"><span class="identifier">begin</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
98 <span class="identifier">const_iterator</span> <a class="link" href="basic_string.html#idm45666066600256-bb"><span class="identifier">begin</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
99 <span class="identifier">iterator</span> <a class="link" href="basic_string.html#idm45666066596400-bb"><span class="identifier">end</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
100 <span class="identifier">const_iterator</span> <a class="link" href="basic_string.html#idm45666066592576-bb"><span class="identifier">end</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
101 <span class="identifier">reverse_iterator</span> <a class="link" href="basic_string.html#idm45666066588752-bb"><span class="identifier">rbegin</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
102 <span class="identifier">const_reverse_iterator</span> <a class="link" href="basic_string.html#idm45666066584896-bb"><span class="identifier">rbegin</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
103 <span class="identifier">reverse_iterator</span> <a class="link" href="basic_string.html#idm45666066581040-bb"><span class="identifier">rend</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
104 <span class="identifier">const_reverse_iterator</span> <a class="link" href="basic_string.html#idm45666066577184-bb"><span class="identifier">rend</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
105 <span class="identifier">const_iterator</span> <a class="link" href="basic_string.html#idm45666066573328-bb"><span class="identifier">cbegin</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
106 <span class="identifier">const_iterator</span> <a class="link" href="basic_string.html#idm45666066569472-bb"><span class="identifier">cend</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
107 <span class="identifier">const_reverse_iterator</span> <a class="link" href="basic_string.html#idm45666066565648-bb"><span class="identifier">crbegin</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
108 <span class="identifier">const_reverse_iterator</span> <a class="link" href="basic_string.html#idm45666066561792-bb"><span class="identifier">crend</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
109 <span class="keyword">bool</span> <a class="link" href="basic_string.html#idm45666066557936-bb"><span class="identifier">empty</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
110 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666066554112-bb"><span class="identifier">size</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
111 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666066550272-bb"><span class="identifier">length</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
112 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666066546432-bb"><span class="identifier">max_size</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
113 <span class="keyword">void</span> <a class="link" href="basic_string.html#idm45666066542608-bb"><span class="identifier">resize</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">CharT</span><span class="special">)</span><span class="special">;</span>
114 <span class="keyword">void</span> <a class="link" href="basic_string.html#idm45666066537552-bb"><span class="identifier">resize</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span><span class="special">;</span>
115 <span class="keyword">void</span> <a class="link" href="basic_string.html#idm45666066533184-bb"><span class="identifier">resize</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <a class="link" href="default_init_t.html" title="Struct default_init_t">default_init_t</a><span class="special">)</span><span class="special">;</span>
116 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666066527168-bb"><span class="identifier">capacity</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
117 <span class="keyword">void</span> <a class="link" href="basic_string.html#idm45666066523280-bb"><span class="identifier">reserve</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span><span class="special">;</span>
118 <span class="keyword">void</span> <a class="link" href="basic_string.html#idm45666066519616-bb"><span class="identifier">shrink_to_fit</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
119 <span class="identifier">reference</span> <a class="link" href="basic_string.html#idm45666066516000-bb"><span class="identifier">front</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
120 <span class="identifier">const_reference</span> <a class="link" href="basic_string.html#idm45666066511312-bb"><span class="identifier">front</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
121 <span class="identifier">reference</span> <a class="link" href="basic_string.html#idm45666066506624-bb"><span class="identifier">back</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
122 <span class="identifier">const_reference</span> <a class="link" href="basic_string.html#idm45666066501936-bb"><span class="identifier">back</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
123 <span class="identifier">reference</span> <a class="link" href="basic_string.html#idm45666066497248-bb"><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
124 <span class="identifier">const_reference</span> <a class="link" href="basic_string.html#idm45666066491856-bb"><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
125 <span class="identifier">reference</span> <a class="link" href="basic_string.html#idm45666066486464-bb"><span class="identifier">at</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span><span class="special">;</span>
126 <span class="identifier">const_reference</span> <a class="link" href="basic_string.html#idm45666066481328-bb"><span class="identifier">at</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
127 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066475920-bb"><span class="keyword">operator</span><span class="special">+=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
128 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
129 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066471808-bb"><span class="keyword">operator</span><span class="special">+=</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">)</span><span class="special">;</span>
130 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066467392-bb"><span class="keyword">operator</span><span class="special">+=</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">)</span><span class="special">;</span>
131 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066463744-bb"><span class="keyword">operator</span><span class="special">+=</span></a><span class="special">(</span><span class="identifier">CharT</span><span class="special">)</span><span class="special">;</span>
132 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066460096-bb"><span class="keyword">operator</span><span class="special">+=</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</span><span class="special"><</span> <span class="identifier">CharT</span> <span class="special">></span><span class="special">)</span><span class="special">;</span>
133 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066457280-bb"><span class="identifier">append</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
134 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
135 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066453168-bb"><span class="identifier">append</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">)</span><span class="special">;</span>
136 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066449168-bb"><span class="identifier">append</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span><span class="special">;</span>
137 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066441536-bb"><span class="identifier">append</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">)</span><span class="special">;</span>
138 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066435200-bb"><span class="identifier">append</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">)</span><span class="special">;</span>
139 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066430624-bb"><span class="identifier">append</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">CharT</span><span class="special">)</span><span class="special">;</span>
140 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> InputIter<span class="special">></span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066426256-bb"><span class="identifier">append</span></a><span class="special">(</span><span class="identifier">InputIter</span><span class="special">,</span> <span class="identifier">InputIter</span><span class="special">)</span><span class="special">;</span>
141 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066420176-bb"><span class="identifier">append</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</span><span class="special"><</span> <span class="identifier">CharT</span> <span class="special">></span><span class="special">)</span><span class="special">;</span>
142 <span class="keyword">void</span> <a class="link" href="basic_string.html#idm45666066417328-bb"><span class="identifier">push_back</span></a><span class="special">(</span><span class="identifier">CharT</span><span class="special">)</span><span class="special">;</span>
143 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066414784-bb"><span class="identifier">assign</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
144 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
145 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066410672-bb"><span class="identifier">assign</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">)</span><span class="special">;</span>
146 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066405824-bb"><span class="identifier">assign</span></a><span class="special">(</span><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
147 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066400592-bb"><span class="identifier">assign</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">)</span><span class="special">;</span>
148 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066393248-bb"><span class="identifier">assign</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">)</span><span class="special">;</span>
149 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066387040-bb"><span class="identifier">assign</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">)</span><span class="special">;</span>
150 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066382464-bb"><span class="identifier">assign</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">CharT</span><span class="special">)</span><span class="special">;</span>
151 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066378096-bb"><span class="identifier">assign</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">)</span><span class="special">;</span>
152 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> InputIter<span class="special">></span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066373856-bb"><span class="identifier">assign</span></a><span class="special">(</span><span class="identifier">InputIter</span><span class="special">,</span> <span class="identifier">InputIter</span><span class="special">)</span><span class="special">;</span>
153 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066368640-bb"><span class="identifier">assign</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</span><span class="special"><</span> <span class="identifier">CharT</span> <span class="special">></span><span class="special">)</span><span class="special">;</span>
154 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066365792-bb"><span class="identifier">insert</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
155 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span>
156 <a class="link" href="basic_string.html#idm45666066359232-bb"><span class="identifier">insert</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span><span class="special">;</span>
157 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066350864-bb"><span class="identifier">insert</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">)</span><span class="special">;</span>
158 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066343664-bb"><span class="identifier">insert</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">)</span><span class="special">;</span>
159 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066337424-bb"><span class="identifier">insert</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">CharT</span><span class="special">)</span><span class="special">;</span>
160 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
161 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066331440-bb"><span class="identifier">insert</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">)</span><span class="special">;</span>
162 <span class="identifier">iterator</span> <a class="link" href="basic_string.html#idm45666066326304-bb"><span class="identifier">insert</span></a><span class="special">(</span><span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">CharT</span><span class="special">)</span><span class="special">;</span>
163 <span class="identifier">iterator</span> <a class="link" href="basic_string.html#idm45666066321296-bb"><span class="identifier">insert</span></a><span class="special">(</span><span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">CharT</span><span class="special">)</span><span class="special">;</span>
164 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> InputIter<span class="special">></span>
165 <span class="identifier">iterator</span> <a class="link" href="basic_string.html#idm45666066315600-bb"><span class="identifier">insert</span></a><span class="special">(</span><span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">InputIter</span><span class="special">,</span> <span class="identifier">InputIter</span><span class="special">)</span><span class="special">;</span>
166 <span class="identifier">iterator</span> <a class="link" href="basic_string.html#idm45666066309024-bb"><span class="identifier">insert</span></a><span class="special">(</span><span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</span><span class="special"><</span> <span class="identifier">CharT</span> <span class="special">></span><span class="special">)</span><span class="special">;</span>
167 <span class="keyword">void</span> <a class="link" href="basic_string.html#idm45666066304848-bb"><span class="identifier">pop_back</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
168 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066301024-bb"><span class="identifier">erase</span></a><span class="special">(</span><span class="identifier">size_type</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span><span class="special">;</span>
169 <span class="identifier">iterator</span> <a class="link" href="basic_string.html#idm45666066293984-bb"><span class="identifier">erase</span></a><span class="special">(</span><span class="identifier">const_iterator</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
170 <span class="identifier">iterator</span> <a class="link" href="basic_string.html#idm45666066289344-bb"><span class="identifier">erase</span></a><span class="special">(</span><span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">const_iterator</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
171 <span class="keyword">void</span> <a class="link" href="basic_string.html#idm45666066283104-bb"><span class="identifier">clear</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
172 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066279248-bb"><span class="identifier">replace</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
173 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
174 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span>
175 <a class="link" href="basic_string.html#idm45666066272000-bb"><span class="identifier">replace</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">)</span><span class="special">;</span>
176 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span>
177 <a class="link" href="basic_string.html#idm45666066266176-bb"><span class="identifier">replace</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span>
178 <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span><span class="special">;</span>
179 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
180 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span>
181 <a class="link" href="basic_string.html#idm45666066257104-bb"><span class="identifier">replace</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span>
182 <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span><span class="special">;</span>
183 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066247776-bb"><span class="identifier">replace</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">)</span><span class="special">;</span>
184 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066239616-bb"><span class="identifier">replace</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">)</span><span class="special">;</span>
185 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066232144-bb"><span class="identifier">replace</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">CharT</span><span class="special">)</span><span class="special">;</span>
186 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066224576-bb"><span class="identifier">replace</span></a><span class="special">(</span><span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">const_iterator</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
187 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span>
188 <a class="link" href="basic_string.html#idm45666066217328-bb"><span class="identifier">replace</span></a><span class="special">(</span><span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">const_iterator</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">)</span><span class="special">;</span>
189 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066209792-bb"><span class="identifier">replace</span></a><span class="special">(</span><span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">const_iterator</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">)</span><span class="special">;</span>
190 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45666066202896-bb"><span class="identifier">replace</span></a><span class="special">(</span><span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">CharT</span><span class="special">)</span><span class="special">;</span>
191 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> InputIter<span class="special">></span>
192 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span>
193 <a class="link" href="basic_string.html#idm45666066195392-bb"><span class="identifier">replace</span></a><span class="special">(</span><span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">InputIter</span><span class="special">,</span> <span class="identifier">InputIter</span><span class="special">)</span><span class="special">;</span>
194 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
195 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span>
196 <a class="link" href="basic_string.html#idm45666066187040-bb"><span class="identifier">replace</span></a><span class="special">(</span><span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">)</span><span class="special">;</span>
197 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span>
198 <a class="link" href="basic_string.html#idm45666066179504-bb"><span class="identifier">replace</span></a><span class="special">(</span><span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</span><span class="special"><</span> <span class="identifier">CharT</span> <span class="special">></span><span class="special">)</span><span class="special">;</span>
199 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666066173536-bb"><span class="identifier">copy</span></a><span class="special">(</span><span class="identifier">CharT</span> <span class="special">*</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
200 <span class="keyword">void</span> <a class="link" href="basic_string.html#idm45666066166112-bb"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">(</span><span class="identifier">allocator_traits_type</span><span class="special">::</span><span class="identifier">propagate_on_container_swap</span><span class="special">::</span><span class="identifier">value</span><span class="special">||</span><span class="identifier">allocator_traits_type</span><span class="special">::</span><span class="identifier">is_always_equal</span><span class="special">::</span><span class="identifier">value</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
201 <span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> <a class="link" href="basic_string.html#idm45666066161984-bb"><span class="identifier">c_str</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
202 <span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> <a class="link" href="basic_string.html#idm45666066158064-bb"><span class="identifier">data</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
203 <span class="identifier">CharT</span> <span class="special">*</span> <a class="link" href="basic_string.html#idm45666066154144-bb"><span class="identifier">data</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
204 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
205 <a class="link" href="basic_string.html#idm45666066151136-bb"><span class="keyword">operator</span> <span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
206 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> BasicStringView<span class="special">></span> <span class="identifier">BasicStringView</span> <a class="link" href="basic_string.html#idm45666066146992-bb"><span class="identifier">to_view</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
207 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666066142224-bb"><span class="identifier">find</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
208 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
209 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666066136032-bb"><span class="identifier">find</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
210 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666066129120-bb"><span class="identifier">find</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
211 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666066123184-bb"><span class="identifier">find</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
212 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666066117648-bb"><span class="identifier">find</span></a><span class="special">(</span><span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
213 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666066112992-bb"><span class="identifier">rfind</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
214 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
215 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666066106800-bb"><span class="identifier">rfind</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
216 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666066099888-bb"><span class="identifier">rfind</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
217 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666066093984-bb"><span class="identifier">rfind</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
218 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666066088432-bb"><span class="identifier">rfind</span></a><span class="special">(</span><span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
219 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666066083776-bb"><span class="identifier">find_first_of</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
220 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
221 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666066077600-bb"><span class="identifier">find_first_of</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
222 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666066070704-bb"><span class="identifier">find_first_of</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
223 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666066064784-bb"><span class="identifier">find_first_of</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
224 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666066059248-bb"><span class="identifier">find_first_of</span></a><span class="special">(</span><span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
225 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666066053680-bb"><span class="identifier">find_last_of</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
226 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
227 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666066047504-bb"><span class="identifier">find_last_of</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
228 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666066040608-bb"><span class="identifier">find_last_of</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
229 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666066034688-bb"><span class="identifier">find_last_of</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
230 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666066029120-bb"><span class="identifier">find_last_of</span></a><span class="special">(</span><span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
231 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666066024496-bb"><span class="identifier">find_first_not_of</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
232 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
233 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666066018320-bb"><span class="identifier">find_first_not_of</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">,</span>
234 <span class="identifier">size_type</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
235 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666066011424-bb"><span class="identifier">find_first_not_of</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
236 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666066005472-bb"><span class="identifier">find_first_not_of</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
237 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666065999920-bb"><span class="identifier">find_first_not_of</span></a><span class="special">(</span><span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
238 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666065995280-bb"><span class="identifier">find_last_not_of</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
239 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
240 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666065989104-bb"><span class="identifier">find_last_not_of</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">,</span>
241 <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
242 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666065982208-bb"><span class="identifier">find_last_not_of</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
243 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666065976288-bb"><span class="identifier">find_last_not_of</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
244 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45666065970736-bb"><span class="identifier">find_last_not_of</span></a><span class="special">(</span><span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
245 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <a class="link" href="basic_string.html#idm45666065966096-bb"><span class="identifier">substr</span></a><span class="special">(</span><span class="identifier">size_type</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
246 <span class="keyword">int</span> <a class="link" href="basic_string.html#idm45666065959184-bb"><span class="identifier">compare</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
247 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
248 <span class="keyword">int</span> <a class="link" href="basic_string.html#idm45666065953888-bb"><span class="identifier">compare</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
249 <span class="keyword">int</span> <a class="link" href="basic_string.html#idm45666065949072-bb"><span class="identifier">compare</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
250 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
251 <span class="keyword">int</span> <a class="link" href="basic_string.html#idm45666065941664-bb"><span class="identifier">compare</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
252 <span class="keyword">int</span> <a class="link" href="basic_string.html#idm45666065934592-bb"><span class="identifier">compare</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span>
253 <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
254 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
255 <span class="keyword">int</span> <a class="link" href="basic_string.html#idm45666065925616-bb"><span class="identifier">compare</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">,</span>
256 <span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
257 <span class="keyword">int</span> <a class="link" href="basic_string.html#idm45666065916192-bb"><span class="identifier">compare</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
258 <span class="keyword">int</span> <a class="link" href="basic_string.html#idm45666065912544-bb"><span class="identifier">compare</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
259 <span class="keyword">int</span> <a class="link" href="basic_string.html#idm45666065905872-bb"><span class="identifier">compare</span></a><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
261 <span class="comment">// public data members</span>
262 <span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">size_type</span> <span class="identifier">npos</span><span class="special">;</span>
263 <span class="special">}</span><span class="special">;</span></pre></div>
264 <div class="refsect1">
265 <a name="id-1.3.10.14.39.3.4"></a><h2>Description</h2>
266 <p>The <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> class represents a Sequence of characters. It contains all the usual operations of a Sequence, and, additionally, it contains standard string operations such as search and concatenation.</p>
267 <p>The <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> class is parameterized by character type, and by that type's Character Traits.</p>
268 <p>This class has performance characteristics very much like vector<>, meaning, for example, that it does not perform reference-count or copy-on-write, and that concatenation of two strings is an O(N) operation.</p>
269 <p>Some of <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a>'s member functions use an unusual method of specifying positions and ranges. In addition to the conventional method using iterators, many of <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a>'s member functions use a single value pos of type size_type to represent a position (in which case the position is begin() + pos, and many of <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a>'s member functions use two values, pos and n, to represent a range. In that case pos is the beginning of the range and n is its size. That is, the range is [begin() + pos, begin() + pos + n).</p>
270 <p>Note that the C++ standard does not specify the complexity of <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> operations. In this implementation, <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> has performance characteristics very similar to those of vector: access to a single character is O(1), while copy and concatenation are O(N).</p>
271 <p>In this implementation, begin(), end(), rbegin(), rend(), operator[], c_str(), and data() do not invalidate iterators. In this implementation, iterators are only invalidated by member functions that explicitly change the string's contents.</p>
274 <div class="refsect2">
275 <a name="id-1.3.10.14.39.3.4.9"></a><h3>Template Parameters</h3>
276 <div class="orderedlist"><ol class="orderedlist" type="1">
277 <li class="listitem">
278 <pre class="literallayout"><span class="keyword">typename</span> CharT</pre>
279 <p>The type of character it contains. </p>
281 <li class="listitem">
282 <pre class="literallayout"><span class="keyword">typename</span> Traits <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">char_traits</span><span class="special"><</span><span class="identifier">CharT</span><span class="special">></span></pre>
283 <p>The Character Traits type, which encapsulates basic character operations </p>
285 <li class="listitem">
286 <pre class="literallayout"><span class="keyword">typename</span> Allocator <span class="special">=</span> <span class="keyword">void</span></pre>
287 <p>The allocator, used for internal memory management. </p>
291 <div class="refsect2">
292 <a name="id-1.3.10.14.39.3.4.10"></a><h3>
293 <a name="boost.container.basic_stringconstruct-copy-destruct"></a><code class="computeroutput">basic_string</code>
295 construct/copy/destruct</h3>
296 <div class="orderedlist"><ol class="orderedlist" type="1">
297 <li class="listitem">
298 <pre class="literallayout"><a name="idm45666065899712-bb"></a><span class="identifier">basic_string</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">(</span><span class="identifier">dtl</span><span class="special">::</span><span class="identifier">is_nothrow_default_constructible</span><span class="special"><</span> <span class="identifier">allocator_type</span> <span class="special">></span><span class="special">::</span><span class="identifier">value</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre>
299 <p><span class="bold"><strong>Effects</strong></span>: Default constructs a <code class="computeroutput"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a></code>.</p>
300 <p><span class="bold"><strong>Throws</strong></span>: If allocator_type's default constructor throws. </p>
302 <li class="listitem">
303 <pre class="literallayout"><span class="keyword">explicit</span> <a name="idm45666065896496-bb"></a><span class="identifier">basic_string</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span> a<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
304 <p><span class="bold"><strong>Effects</strong></span>: Constructs a <code class="computeroutput"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a></code> taking the allocator as parameter.</p>
305 <p><span class="bold"><strong>Throws</strong></span>: Nothing </p>
307 <li class="listitem">
308 <pre class="literallayout"><a name="idm45666065892400-bb"></a><span class="identifier">basic_string</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> s<span class="special">)</span><span class="special">;</span></pre>
309 <p><span class="bold"><strong>Effects</strong></span>: Copy constructs a <code class="computeroutput"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a></code>.</p>
310 <p><span class="bold"><strong>Postcondition</strong></span>: x == *this.</p>
311 <p><span class="bold"><strong>Throws</strong></span>: If allocator_type's default constructor or allocation throws. </p>
313 <li class="listitem">
314 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
315 <span class="keyword">explicit</span> <a name="idm45666065887520-bb"></a><span class="identifier">basic_string</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">,</span>
316 <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span> a <span class="special">=</span> <span class="identifier">allocator_type</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre>
317 <p><span class="bold"><strong>Effects</strong></span>: Same as <code class="computeroutput"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a></code>(sv.data(), sv.size(), a).</p>
318 <p><span class="bold"><strong>Throws</strong></span>: If allocator_type's default constructor or allocation throws. </p>
320 <li class="listitem">
321 <pre class="literallayout"><a name="idm45666065881504-bb"></a><span class="identifier">basic_string</span><span class="special">(</span><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&&</span> s<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
322 <p><span class="bold"><strong>Effects</strong></span>: Move constructor. Moves s's resources to *this.</p>
323 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
324 <p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
326 <li class="listitem">
327 <pre class="literallayout"><a name="idm45666065877264-bb"></a><span class="identifier">basic_string</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> s<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span> a<span class="special">)</span><span class="special">;</span></pre>
328 <p><span class="bold"><strong>Effects</strong></span>: Copy constructs a <code class="computeroutput"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a></code> using the specified allocator.</p>
329 <p><span class="bold"><strong>Postcondition</strong></span>: x == *this.</p>
330 <p><span class="bold"><strong>Throws</strong></span>: If allocation throws. </p>
332 <li class="listitem">
333 <pre class="literallayout"><a name="idm45666065871712-bb"></a><span class="identifier">basic_string</span><span class="special">(</span><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&&</span> s<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span> a<span class="special">)</span><span class="special">;</span></pre>
334 <p><span class="bold"><strong>Effects</strong></span>: Move constructor using the specified allocator. Moves s's resources to *this.</p>
335 <p><span class="bold"><strong>Throws</strong></span>: If allocation throws.</p>
336 <p><span class="bold"><strong>Complexity</strong></span>: Constant if a == s.get_allocator(), linear otherwise. </p>
338 <li class="listitem">
339 <pre class="literallayout"><a name="idm45666065866976-bb"></a><span class="identifier">basic_string</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> s<span class="special">,</span> <span class="identifier">size_type</span> pos<span class="special">,</span> <span class="identifier">size_type</span> n <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span><span class="special">;</span></pre>
340 <p><span class="bold"><strong>Effects</strong></span>: Constructs a <code class="computeroutput"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a></code> with a default-constructed allocator, and is initialized by a specific number of characters of the s string. </p>
342 <li class="listitem">
343 <pre class="literallayout"><a name="idm45666065862080-bb"></a><span class="identifier">basic_string</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> s<span class="special">,</span> <span class="identifier">size_type</span> pos<span class="special">,</span> <span class="identifier">size_type</span> n<span class="special">,</span>
344 <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span> a<span class="special">)</span><span class="special">;</span></pre>
345 <p><span class="bold"><strong>Effects</strong></span>: Constructs a <code class="computeroutput"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a></code> taking the allocator as parameter, and is initialized by a specific number of characters of the s string. </p>
347 <li class="listitem">
348 <pre class="literallayout"><a name="idm45666065856784-bb"></a><span class="identifier">basic_string</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">,</span> <span class="identifier">size_type</span> n<span class="special">)</span><span class="special">;</span></pre>
349 <p><span class="bold"><strong>Effects</strong></span>: Constructs a <code class="computeroutput"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a></code> taking a default-constructed allocator, and is initialized by a specific number of characters of the s c-string. </p>
351 <li class="listitem">
352 <pre class="literallayout"><a name="idm45666065853312-bb"></a><span class="identifier">basic_string</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">,</span> <span class="identifier">size_type</span> n<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span> a<span class="special">)</span><span class="special">;</span></pre>
353 <p><span class="bold"><strong>Effects</strong></span>: Constructs a <code class="computeroutput"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a></code> taking the allocator as parameter, and is initialized by a specific number of characters of the s c-string. </p>
355 <li class="listitem">
356 <pre class="literallayout"><a name="idm45666065849152-bb"></a><span class="identifier">basic_string</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">)</span><span class="special">;</span></pre>
357 <p><span class="bold"><strong>Effects</strong></span>: Constructs a <code class="computeroutput"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a></code> with a default-constructed allocator, and is initialized by the null-terminated s c-string. </p>
359 <li class="listitem">
360 <pre class="literallayout"><a name="idm45666065846384-bb"></a><span class="identifier">basic_string</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span> a<span class="special">)</span><span class="special">;</span></pre>
361 <p><span class="bold"><strong>Effects</strong></span>: Constructs a <code class="computeroutput"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a></code> taking the allocator as parameter, and is initialized by the null-terminated s c-string. </p>
363 <li class="listitem">
364 <pre class="literallayout"><a name="idm45666065842928-bb"></a><span class="identifier">basic_string</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">,</span> <span class="identifier">CharT</span> c<span class="special">)</span><span class="special">;</span></pre>
365 <p><span class="bold"><strong>Effects</strong></span>: Constructs a <code class="computeroutput"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a></code> with a default-constructed allocator, and is initialized by n copies of c. </p>
367 <li class="listitem">
368 <pre class="literallayout"><a name="idm45666065839488-bb"></a><span class="identifier">basic_string</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">,</span> <span class="identifier">CharT</span> c<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span> a<span class="special">)</span><span class="special">;</span></pre>
369 <p><span class="bold"><strong>Effects</strong></span>: Constructs a <code class="computeroutput"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a></code> taking the allocator as parameter, and is initialized by n copies of c. </p>
371 <li class="listitem">
372 <pre class="literallayout"><a name="idm45666065835360-bb"></a><span class="identifier">basic_string</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">,</span> <a class="link" href="default_init_t.html" title="Struct default_init_t">default_init_t</a><span class="special">)</span><span class="special">;</span></pre>
373 <p><span class="bold"><strong>Effects</strong></span>: Constructs a <code class="computeroutput"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a></code> with a default-constructed allocator, and is initialized by n default-initialized characters. </p>
375 <li class="listitem">
376 <pre class="literallayout"><a name="idm45666065831776-bb"></a><span class="identifier">basic_string</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">,</span> <a class="link" href="default_init_t.html" title="Struct default_init_t">default_init_t</a><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span> a<span class="special">)</span><span class="special">;</span></pre>
377 <p><span class="bold"><strong>Effects</strong></span>: Constructs a <code class="computeroutput"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a></code> taking the allocator as parameter, and is initialized by n default-initialized characters. </p>
379 <li class="listitem">
380 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> InputIterator<span class="special">></span>
381 <a name="idm45666065827504-bb"></a><span class="identifier">basic_string</span><span class="special">(</span><span class="identifier">InputIterator</span> f<span class="special">,</span> <span class="identifier">InputIterator</span> l<span class="special">)</span><span class="special">;</span></pre>
382 <p><span class="bold"><strong>Effects</strong></span>: Constructs a <code class="computeroutput"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a></code> with a default-constructed allocator, and a range of iterators. </p>
384 <li class="listitem">
385 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> InputIterator<span class="special">></span>
386 <a name="idm45666065823232-bb"></a><span class="identifier">basic_string</span><span class="special">(</span><span class="identifier">InputIterator</span> f<span class="special">,</span> <span class="identifier">InputIterator</span> l<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span> a<span class="special">)</span><span class="special">;</span></pre>
387 <p><span class="bold"><strong>Effects</strong></span>: Constructs a <code class="computeroutput"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a></code> taking the allocator as parameter, and a range of iterators. </p>
389 <li class="listitem">
390 <pre class="literallayout"><a name="idm45666065818272-bb"></a><span class="identifier">basic_string</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</span><span class="special"><</span> <span class="identifier">value_type</span> <span class="special">></span> il<span class="special">,</span>
391 <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span> a <span class="special">=</span> <span class="identifier">allocator_type</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre>
392 <p><span class="bold"><strong>Effects</strong></span>: Same as <code class="computeroutput"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a></code>(il.begin(), il.end(), a). </p>
394 <li class="listitem">
395 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666065810864-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> x<span class="special">)</span><span class="special">;</span></pre>
396 <p><span class="bold"><strong>Effects</strong></span>: Copy constructs a string.</p>
397 <p><span class="bold"><strong>Postcondition</strong></span>: x == *this.</p>
398 <p><span class="bold"><strong>Complexity</strong></span>: Linear to the elements x contains. </p>
400 <li class="listitem">
401 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span>
402 <a name="idm45666065806160-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&&</span> x<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">(</span><span class="identifier">allocator_traits_type</span><span class="special">::</span><span class="identifier">propagate_on_container_move_assignment</span><span class="special">::</span><span class="identifier">value</span><span class="special">||</span><span class="identifier">allocator_traits_type</span><span class="special">::</span><span class="identifier">is_always_equal</span><span class="special">::</span><span class="identifier">value</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre>
403 <p><span class="bold"><strong>Effects</strong></span>: Move constructor. Moves x's resources to *this.</p>
404 <p><span class="bold"><strong>Throws</strong></span>: If allocator_traits_type::propagate_on_container_move_assignment is false and allocation throws</p>
405 <p><span class="bold"><strong>Complexity</strong></span>: Constant if allocator_traits_type:: propagate_on_container_move_assignment is true or this->get>allocator() == x.get_allocator(). Linear otherwise. </p>
407 <li class="listitem">
408 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666065801024-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">)</span><span class="special">;</span></pre>
409 <p><span class="bold"><strong>Effects</strong></span>: Assignment from a null-terminated c-string. </p>
411 <li class="listitem">
412 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666065798464-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="identifier">CharT</span> c<span class="special">)</span><span class="special">;</span></pre>
413 <p><span class="bold"><strong>Effects</strong></span>: Returns *this = basic_string(1, c). </p>
415 <li class="listitem">
416 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
417 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666065795920-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">)</span><span class="special">;</span></pre>
418 <p><span class="bold"><strong>Effects</strong></span>: Equivalent to return assign(sv). </p>
420 <li class="listitem">
421 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666065792208-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</span><span class="special"><</span> <span class="identifier">CharT</span> <span class="special">></span> il<span class="special">)</span><span class="special">;</span></pre>
422 <p><span class="bold"><strong>Effects</strong></span>: Returns *this = basic_string(il); </p>
424 <li class="listitem">
425 <pre class="literallayout"><a name="idm45666065814576-bb"></a><span class="special">~</span><span class="identifier">basic_string</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
426 <p><span class="bold"><strong>Effects</strong></span>: Destroys the <code class="computeroutput"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a></code>. All used memory is deallocated.</p>
427 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
428 <p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
432 <div class="refsect2">
433 <a name="id-1.3.10.14.39.3.4.11"></a><h3>
434 <a name="idm45666066617904-bb"></a><code class="computeroutput">basic_string</code> public member functions</h3>
435 <div class="orderedlist"><ol class="orderedlist" type="1">
436 <li class="listitem">
437 <pre class="literallayout"><span class="identifier">allocator_type</span> <a name="idm45666066617344-bb"></a><span class="identifier">get_allocator</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
438 <p><span class="bold"><strong>Effects</strong></span>: Returns a copy of the internal allocator.</p>
439 <p><span class="bold"><strong>Throws</strong></span>: If allocator's copy constructor throws.</p>
440 <p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
442 <li class="listitem">
443 <pre class="literallayout"><span class="identifier">stored_allocator_type</span> <span class="special">&</span> <a name="idm45666066613488-bb"></a><span class="identifier">get_stored_allocator</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
444 <p><span class="bold"><strong>Effects</strong></span>: Returns a reference to the internal allocator.</p>
445 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
446 <p><span class="bold"><strong>Complexity</strong></span>: Constant.</p>
447 <p><span class="bold"><strong>Note</strong></span>: Non-standard extension. </p>
449 <li class="listitem">
450 <pre class="literallayout"><span class="keyword">const</span> <span class="identifier">stored_allocator_type</span> <span class="special">&</span> <a name="idm45666066608800-bb"></a><span class="identifier">get_stored_allocator</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
451 <p><span class="bold"><strong>Effects</strong></span>: Returns a reference to the internal allocator.</p>
452 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
453 <p><span class="bold"><strong>Complexity</strong></span>: Constant.</p>
454 <p><span class="bold"><strong>Note</strong></span>: Non-standard extension. </p>
456 <li class="listitem">
457 <pre class="literallayout"><span class="identifier">iterator</span> <a name="idm45666066604096-bb"></a><span class="identifier">begin</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
458 <p><span class="bold"><strong>Effects</strong></span>: Returns an iterator to the first element contained in the vector.</p>
459 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
460 <p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
462 <li class="listitem">
463 <pre class="literallayout"><span class="identifier">const_iterator</span> <a name="idm45666066600256-bb"></a><span class="identifier">begin</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
464 <p><span class="bold"><strong>Effects</strong></span>: Returns a const_iterator to the first element contained in the vector.</p>
465 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
466 <p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
468 <li class="listitem">
469 <pre class="literallayout"><span class="identifier">iterator</span> <a name="idm45666066596400-bb"></a><span class="identifier">end</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
470 <p><span class="bold"><strong>Effects</strong></span>: Returns an iterator to the end of the vector.</p>
471 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
472 <p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
474 <li class="listitem">
475 <pre class="literallayout"><span class="identifier">const_iterator</span> <a name="idm45666066592576-bb"></a><span class="identifier">end</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
476 <p><span class="bold"><strong>Effects</strong></span>: Returns a const_iterator to the end of the vector.</p>
477 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
478 <p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
480 <li class="listitem">
481 <pre class="literallayout"><span class="identifier">reverse_iterator</span> <a name="idm45666066588752-bb"></a><span class="identifier">rbegin</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
482 <p><span class="bold"><strong>Effects</strong></span>: Returns a reverse_iterator pointing to the beginning of the reversed vector.</p>
483 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
484 <p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
486 <li class="listitem">
487 <pre class="literallayout"><span class="identifier">const_reverse_iterator</span> <a name="idm45666066584896-bb"></a><span class="identifier">rbegin</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
488 <p><span class="bold"><strong>Effects</strong></span>: Returns a const_reverse_iterator pointing to the beginning of the reversed vector.</p>
489 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
490 <p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
492 <li class="listitem">
493 <pre class="literallayout"><span class="identifier">reverse_iterator</span> <a name="idm45666066581040-bb"></a><span class="identifier">rend</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
494 <p><span class="bold"><strong>Effects</strong></span>: Returns a reverse_iterator pointing to the end of the reversed vector.</p>
495 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
496 <p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
498 <li class="listitem">
499 <pre class="literallayout"><span class="identifier">const_reverse_iterator</span> <a name="idm45666066577184-bb"></a><span class="identifier">rend</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
500 <p><span class="bold"><strong>Effects</strong></span>: Returns a const_reverse_iterator pointing to the end of the reversed vector.</p>
501 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
502 <p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
504 <li class="listitem">
505 <pre class="literallayout"><span class="identifier">const_iterator</span> <a name="idm45666066573328-bb"></a><span class="identifier">cbegin</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
506 <p><span class="bold"><strong>Effects</strong></span>: Returns a const_iterator to the first element contained in the vector.</p>
507 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
508 <p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
510 <li class="listitem">
511 <pre class="literallayout"><span class="identifier">const_iterator</span> <a name="idm45666066569472-bb"></a><span class="identifier">cend</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
512 <p><span class="bold"><strong>Effects</strong></span>: Returns a const_iterator to the end of the vector.</p>
513 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
514 <p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
516 <li class="listitem">
517 <pre class="literallayout"><span class="identifier">const_reverse_iterator</span> <a name="idm45666066565648-bb"></a><span class="identifier">crbegin</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
518 <p><span class="bold"><strong>Effects</strong></span>: Returns a const_reverse_iterator pointing to the beginning of the reversed vector.</p>
519 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
520 <p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
522 <li class="listitem">
523 <pre class="literallayout"><span class="identifier">const_reverse_iterator</span> <a name="idm45666066561792-bb"></a><span class="identifier">crend</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
524 <p><span class="bold"><strong>Effects</strong></span>: Returns a const_reverse_iterator pointing to the end of the reversed vector.</p>
525 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
526 <p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
528 <li class="listitem">
529 <pre class="literallayout"><span class="keyword">bool</span> <a name="idm45666066557936-bb"></a><span class="identifier">empty</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
530 <p><span class="bold"><strong>Effects</strong></span>: Returns true if the vector contains no elements.</p>
531 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
532 <p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
534 <li class="listitem">
535 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45666066554112-bb"></a><span class="identifier">size</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
536 <p><span class="bold"><strong>Effects</strong></span>: Returns the number of the elements contained in the vector.</p>
537 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
538 <p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
540 <li class="listitem">
541 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45666066550272-bb"></a><span class="identifier">length</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
542 <p><span class="bold"><strong>Effects</strong></span>: Returns the number of the elements contained in the vector.</p>
543 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
544 <p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
546 <li class="listitem">
547 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45666066546432-bb"></a><span class="identifier">max_size</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
548 <p><span class="bold"><strong>Effects</strong></span>: Returns the largest possible size of the vector.</p>
549 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
550 <p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
552 <li class="listitem">
553 <pre class="literallayout"><span class="keyword">void</span> <a name="idm45666066542608-bb"></a><span class="identifier">resize</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">,</span> <span class="identifier">CharT</span> c<span class="special">)</span><span class="special">;</span></pre>
554 <p><span class="bold"><strong>Effects</strong></span>: Inserts or erases elements at the end such that the size becomes n. New elements are copy constructed from x.</p>
555 <p><span class="bold"><strong>Throws</strong></span>: If memory allocation throws</p>
556 <p><span class="bold"><strong>Complexity</strong></span>: Linear to the difference between size() and new_size. </p>
558 <li class="listitem">
559 <pre class="literallayout"><span class="keyword">void</span> <a name="idm45666066537552-bb"></a><span class="identifier">resize</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">)</span><span class="special">;</span></pre>
560 <p><span class="bold"><strong>Effects</strong></span>: Inserts or erases elements at the end such that the size becomes n. New elements are value initialized.</p>
561 <p><span class="bold"><strong>Throws</strong></span>: If memory allocation throws</p>
562 <p><span class="bold"><strong>Complexity</strong></span>: Linear to the difference between size() and new_size. </p>
564 <li class="listitem">
565 <pre class="literallayout"><span class="keyword">void</span> <a name="idm45666066533184-bb"></a><span class="identifier">resize</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">,</span> <a class="link" href="default_init_t.html" title="Struct default_init_t">default_init_t</a><span class="special">)</span><span class="special">;</span></pre>
566 <p><span class="bold"><strong>Effects</strong></span>: Inserts or erases elements at the end such that the size becomes n. New elements are uninitialized.</p>
567 <p><span class="bold"><strong>Throws</strong></span>: If memory allocation throws</p>
568 <p><span class="bold"><strong>Complexity</strong></span>: Linear to the difference between size() and new_size.</p>
569 <p><span class="bold"><strong>Note</strong></span>: Non-standard extension </p>
571 <li class="listitem">
572 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45666066527168-bb"></a><span class="identifier">capacity</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
573 <p><span class="bold"><strong>Effects</strong></span>: Number of elements for which memory has been allocated. capacity() is always greater than or equal to size().</p>
574 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
575 <p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
577 <li class="listitem">
578 <pre class="literallayout"><span class="keyword">void</span> <a name="idm45666066523280-bb"></a><span class="identifier">reserve</span><span class="special">(</span><span class="identifier">size_type</span> res_arg<span class="special">)</span><span class="special">;</span></pre>
579 <p><span class="bold"><strong>Effects</strong></span>: If n is less than or equal to capacity(), this call has no effect. Otherwise, it is a request for allocation of additional memory. If the request is successful, then capacity() is greater than or equal to n; otherwise, capacity() is unchanged. In either case, size() is unchanged.</p>
580 <p><span class="bold"><strong>Throws</strong></span>: If memory allocation allocation throws </p>
582 <li class="listitem">
583 <pre class="literallayout"><span class="keyword">void</span> <a name="idm45666066519616-bb"></a><span class="identifier">shrink_to_fit</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
584 <p><span class="bold"><strong>Effects</strong></span>: Tries to deallocate the excess of memory created with previous allocations. The size of the string is unchanged</p>
585 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
586 <p><span class="bold"><strong>Complexity</strong></span>: Linear to size(). </p>
588 <li class="listitem">
589 <pre class="literallayout"><span class="identifier">reference</span> <a name="idm45666066516000-bb"></a><span class="identifier">front</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
590 <p><span class="bold"><strong>Requires</strong></span>: !empty()</p>
591 <p><span class="bold"><strong>Effects</strong></span>: Returns a reference to the first element of the container.</p>
592 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
593 <p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
595 <li class="listitem">
596 <pre class="literallayout"><span class="identifier">const_reference</span> <a name="idm45666066511312-bb"></a><span class="identifier">front</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
597 <p><span class="bold"><strong>Requires</strong></span>: !empty()</p>
598 <p><span class="bold"><strong>Effects</strong></span>: Returns a const reference to the first element of the container.</p>
599 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
600 <p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
602 <li class="listitem">
603 <pre class="literallayout"><span class="identifier">reference</span> <a name="idm45666066506624-bb"></a><span class="identifier">back</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
604 <p><span class="bold"><strong>Requires</strong></span>: !empty()</p>
605 <p><span class="bold"><strong>Effects</strong></span>: Returns a reference to the last element of the container.</p>
606 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
607 <p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
609 <li class="listitem">
610 <pre class="literallayout"><span class="identifier">const_reference</span> <a name="idm45666066501936-bb"></a><span class="identifier">back</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
611 <p><span class="bold"><strong>Requires</strong></span>: !empty()</p>
612 <p><span class="bold"><strong>Effects</strong></span>: Returns a const reference to the last element of the container.</p>
613 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
614 <p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
616 <li class="listitem">
617 <pre class="literallayout"><span class="identifier">reference</span> <a name="idm45666066497248-bb"></a><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
618 <p><span class="bold"><strong>Requires</strong></span>: size() > n.</p>
619 <p><span class="bold"><strong>Effects</strong></span>: Returns a reference to the nth element from the beginning of the container.</p>
620 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
621 <p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
623 <li class="listitem">
624 <pre class="literallayout"><span class="identifier">const_reference</span> <a name="idm45666066491856-bb"></a><span class="keyword">operator</span><span class="special">[</span><span class="special">]</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
625 <p><span class="bold"><strong>Requires</strong></span>: size() > n.</p>
626 <p><span class="bold"><strong>Effects</strong></span>: Returns a const reference to the nth element from the beginning of the container.</p>
627 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
628 <p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
630 <li class="listitem">
631 <pre class="literallayout"><span class="identifier">reference</span> <a name="idm45666066486464-bb"></a><span class="identifier">at</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">)</span><span class="special">;</span></pre>
632 <p><span class="bold"><strong>Requires</strong></span>: size() > n.</p>
633 <p><span class="bold"><strong>Effects</strong></span>: Returns a reference to the nth element from the beginning of the container.</p>
634 <p><span class="bold"><strong>Throws</strong></span>: std::range_error if n >= size()</p>
635 <p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
637 <li class="listitem">
638 <pre class="literallayout"><span class="identifier">const_reference</span> <a name="idm45666066481328-bb"></a><span class="identifier">at</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
639 <p><span class="bold"><strong>Requires</strong></span>: size() > n.</p>
640 <p><span class="bold"><strong>Effects</strong></span>: Returns a const reference to the nth element from the beginning of the container.</p>
641 <p><span class="bold"><strong>Throws</strong></span>: std::range_error if n >= size()</p>
642 <p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
644 <li class="listitem">
645 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066475920-bb"></a><span class="keyword">operator</span><span class="special">+=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> s<span class="special">)</span><span class="special">;</span></pre>
646 <p><span class="bold"><strong>Effects</strong></span>: Calls append(str.data, str.size()).</p>
647 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
649 <li class="listitem">
650 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
651 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066471808-bb"></a><span class="keyword">operator</span><span class="special">+=</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">)</span><span class="special">;</span></pre>
652 <p><span class="bold"><strong>Effects</strong></span>: Same as <code class="computeroutput">return append(sv)</code>. </p>
654 <li class="listitem">
655 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066467392-bb"></a><span class="keyword">operator</span><span class="special">+=</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">)</span><span class="special">;</span></pre>
656 <p><span class="bold"><strong>Effects</strong></span>: Calls append(s).</p>
657 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
659 <li class="listitem">
660 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066463744-bb"></a><span class="keyword">operator</span><span class="special">+=</span><span class="special">(</span><span class="identifier">CharT</span> c<span class="special">)</span><span class="special">;</span></pre>
661 <p><span class="bold"><strong>Effects</strong></span>: Calls append(1, c).</p>
662 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
664 <li class="listitem">
665 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066460096-bb"></a><span class="keyword">operator</span><span class="special">+=</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</span><span class="special"><</span> <span class="identifier">CharT</span> <span class="special">></span> il<span class="special">)</span><span class="special">;</span></pre>
666 <p><span class="bold"><strong>Effects</strong></span>: Returns append(il) </p>
668 <li class="listitem">
669 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066457280-bb"></a><span class="identifier">append</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> s<span class="special">)</span><span class="special">;</span></pre>
670 <p><span class="bold"><strong>Effects</strong></span>: Calls append(str.data(), str.size()).</p>
671 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
673 <li class="listitem">
674 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
675 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066453168-bb"></a><span class="identifier">append</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">)</span><span class="special">;</span></pre>
676 <p><span class="bold"><strong>Effects</strong></span>: Same as return append(sv.data(), sv.size()). </p>
678 <li class="listitem">
679 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span>
680 <a name="idm45666066449168-bb"></a><span class="identifier">append</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> s<span class="special">,</span> <span class="identifier">size_type</span> pos<span class="special">,</span> <span class="identifier">size_type</span> n <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span><span class="special">;</span></pre>
681 <p><span class="bold"><strong>Requires</strong></span>: pos <= str.size()</p>
682 <p><span class="bold"><strong>Effects</strong></span>: Determines the effective length rlen of the string to append as the smaller of n and str.size() - pos and calls append(str.data() + pos, rlen).</p>
683 <p><span class="bold"><strong>Throws</strong></span>: If memory allocation throws and out_of_range if pos > str.size()</p>
684 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
686 <li class="listitem">
687 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066441536-bb"></a><span class="identifier">append</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">,</span> <span class="identifier">size_type</span> n<span class="special">)</span><span class="special">;</span></pre>
688 <p><span class="bold"><strong>Requires</strong></span>: s points to an array of at least n elements of CharT.</p>
689 <p><span class="bold"><strong>Effects</strong></span>: The function replaces the string controlled by *this with a string of length size() + n whose irst size() elements are a copy of the original string controlled by *this and whose remaining elements are a copy of the initial n elements of s.</p>
690 <p><span class="bold"><strong>Throws</strong></span>: If memory allocation throws length_error if size() + n > max_size().</p>
691 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
693 <li class="listitem">
694 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066435200-bb"></a><span class="identifier">append</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">)</span><span class="special">;</span></pre>
695 <p><span class="bold"><strong>Requires</strong></span>: s points to an array of at least traits::length(s) + 1 elements of CharT.</p>
696 <p><span class="bold"><strong>Effects</strong></span>: Calls append(s, traits::length(s)).</p>
697 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
699 <li class="listitem">
700 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066430624-bb"></a><span class="identifier">append</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">,</span> <span class="identifier">CharT</span> c<span class="special">)</span><span class="special">;</span></pre>
701 <p><span class="bold"><strong>Effects</strong></span>: Equivalent to append(basic_string(n, c)).</p>
702 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
704 <li class="listitem">
705 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> InputIter<span class="special">></span>
706 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066426256-bb"></a><span class="identifier">append</span><span class="special">(</span><span class="identifier">InputIter</span> first<span class="special">,</span> <span class="identifier">InputIter</span> last<span class="special">)</span><span class="special">;</span></pre>
707 <p><span class="bold"><strong>Requires</strong></span>: [first,last) is a valid range.</p>
708 <p><span class="bold"><strong>Effects</strong></span>: Equivalent to append(basic_string(first, last)).</p>
709 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
711 <li class="listitem">
712 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066420176-bb"></a><span class="identifier">append</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</span><span class="special"><</span> <span class="identifier">CharT</span> <span class="special">></span> il<span class="special">)</span><span class="special">;</span></pre>
713 <p><span class="bold"><strong>Effects</strong></span>: Returns append(il.begin(), il.size()). </p>
715 <li class="listitem">
716 <pre class="literallayout"><span class="keyword">void</span> <a name="idm45666066417328-bb"></a><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">CharT</span> c<span class="special">)</span><span class="special">;</span></pre>
717 <p><span class="bold"><strong>Effects</strong></span>: Equivalent to append(static_cast<size_type>(1), c). </p>
719 <li class="listitem">
720 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066414784-bb"></a><span class="identifier">assign</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> s<span class="special">)</span><span class="special">;</span></pre>
721 <p><span class="bold"><strong>Effects</strong></span>: Equivalent to assign(str, 0, npos).</p>
722 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
724 <li class="listitem">
725 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
726 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066410672-bb"></a><span class="identifier">assign</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">)</span><span class="special">;</span></pre>
727 <p><span class="bold"><strong>Effects</strong></span>: Equivalent to return assign(sv.data(), sv.size()).</p>
728 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
730 <li class="listitem">
731 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066405824-bb"></a><span class="identifier">assign</span><span class="special">(</span><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&&</span> ms<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
732 <p><span class="bold"><strong>Effects</strong></span>: The function replaces the string controlled by *this with a string of length str.size() whose elements are a copy of the string controlled by str. Leaves str in a valid but unspecified state.</p>
733 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
734 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
736 <li class="listitem">
737 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066400592-bb"></a><span class="identifier">assign</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> s<span class="special">,</span> <span class="identifier">size_type</span> pos<span class="special">,</span> <span class="identifier">size_type</span> n<span class="special">)</span><span class="special">;</span></pre>
738 <p><span class="bold"><strong>Requires</strong></span>: pos <= str.size()</p>
739 <p><span class="bold"><strong>Effects</strong></span>: Determines the effective length rlen of the string to assign as the smaller of n and str.size() - pos and calls assign(str.data() + pos rlen).</p>
740 <p><span class="bold"><strong>Throws</strong></span>: If memory allocation throws or out_of_range if pos > str.size().</p>
741 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
743 <li class="listitem">
744 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066393248-bb"></a><span class="identifier">assign</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">,</span> <span class="identifier">size_type</span> n<span class="special">)</span><span class="special">;</span></pre>
745 <p><span class="bold"><strong>Requires</strong></span>: s points to an array of at least n elements of CharT.</p>
746 <p><span class="bold"><strong>Effects</strong></span>: Replaces the string controlled by *this with a string of length n whose elements are a copy of those pointed to by s.</p>
747 <p><span class="bold"><strong>Throws</strong></span>: If memory allocation throws or length_error if n > max_size().</p>
748 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
750 <li class="listitem">
751 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066387040-bb"></a><span class="identifier">assign</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">)</span><span class="special">;</span></pre>
752 <p><span class="bold"><strong>Requires</strong></span>: s points to an array of at least traits::length(s) + 1 elements of CharT.</p>
753 <p><span class="bold"><strong>Effects</strong></span>: Calls assign(s, traits::length(s)).</p>
754 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
756 <li class="listitem">
757 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066382464-bb"></a><span class="identifier">assign</span><span class="special">(</span><span class="identifier">size_type</span> n<span class="special">,</span> <span class="identifier">CharT</span> c<span class="special">)</span><span class="special">;</span></pre>
758 <p><span class="bold"><strong>Effects</strong></span>: Equivalent to assign(basic_string(n, c)).</p>
759 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
761 <li class="listitem">
762 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066378096-bb"></a><span class="identifier">assign</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> first<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> last<span class="special">)</span><span class="special">;</span></pre>
763 <p><span class="bold"><strong>Effects</strong></span>: Equivalent to assign(basic_string(first, last)). <span class="bold"><strong>Returns</strong></span>: *this </p>
765 <li class="listitem">
766 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> InputIter<span class="special">></span>
767 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066373856-bb"></a><span class="identifier">assign</span><span class="special">(</span><span class="identifier">InputIter</span> first<span class="special">,</span> <span class="identifier">InputIter</span> last<span class="special">)</span><span class="special">;</span></pre>
768 <p><span class="bold"><strong>Effects</strong></span>: Equivalent to assign(basic_string(first, last)).</p>
769 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
771 <li class="listitem">
772 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066368640-bb"></a><span class="identifier">assign</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</span><span class="special"><</span> <span class="identifier">CharT</span> <span class="special">></span> il<span class="special">)</span><span class="special">;</span></pre>
773 <p><span class="bold"><strong>Effects</strong></span>: Returns assign(il.begin(), il.size()). </p>
775 <li class="listitem">
776 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066365792-bb"></a><span class="identifier">insert</span><span class="special">(</span><span class="identifier">size_type</span> pos<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> s<span class="special">)</span><span class="special">;</span></pre>
777 <p><span class="bold"><strong>Requires</strong></span>: pos <= size().</p>
778 <p><span class="bold"><strong>Effects</strong></span>: Calls insert(pos, str.data(), str.size()).</p>
779 <p><span class="bold"><strong>Throws</strong></span>: If memory allocation throws or out_of_range if pos > size().</p>
780 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
782 <li class="listitem">
783 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span>
784 <a name="idm45666066359232-bb"></a><span class="identifier">insert</span><span class="special">(</span><span class="identifier">size_type</span> pos1<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> s<span class="special">,</span> <span class="identifier">size_type</span> pos2<span class="special">,</span>
785 <span class="identifier">size_type</span> n <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span><span class="special">;</span></pre>
786 <p><span class="bold"><strong>Requires</strong></span>: pos1 <= size() and pos2 <= str.size()</p>
787 <p><span class="bold"><strong>Effects</strong></span>: Determines the effective length rlen of the string to insert as the smaller of n and str.size() - pos2 and calls insert(pos1, str.data() + pos2, rlen).</p>
788 <p><span class="bold"><strong>Throws</strong></span>: If memory allocation throws or out_of_range if pos1 > size() or pos2 > str.size().</p>
789 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
791 <li class="listitem">
792 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066350864-bb"></a><span class="identifier">insert</span><span class="special">(</span><span class="identifier">size_type</span> pos<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">,</span> <span class="identifier">size_type</span> n<span class="special">)</span><span class="special">;</span></pre>
793 <p><span class="bold"><strong>Requires</strong></span>: s points to an array of at least n elements of CharT and pos <= size().</p>
794 <p><span class="bold"><strong>Effects</strong></span>: Replaces the string controlled by *this with a string of length size() + n whose first pos elements are a copy of the initial elements of the original string controlled by *this and whose next n elements are a copy of the elements in s and whose remaining elements are a copy of the remaining elements of the original string controlled by *this.</p>
795 <p><span class="bold"><strong>Throws</strong></span>: If memory allocation throws, out_of_range if pos > size() or length_error if size() + n > max_size().</p>
796 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
798 <li class="listitem">
799 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066343664-bb"></a><span class="identifier">insert</span><span class="special">(</span><span class="identifier">size_type</span> pos<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">)</span><span class="special">;</span></pre>
800 <p><span class="bold"><strong>Requires</strong></span>: pos <= size() and s points to an array of at least traits::length(s) + 1 elements of CharT</p>
801 <p><span class="bold"><strong>Effects</strong></span>: Calls insert(pos, s, traits::length(s)).</p>
802 <p><span class="bold"><strong>Throws</strong></span>: If memory allocation throws, out_of_range if pos > size() length_error if size() > max_size() - Traits::length(s)</p>
803 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
805 <li class="listitem">
806 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066337424-bb"></a><span class="identifier">insert</span><span class="special">(</span><span class="identifier">size_type</span> pos<span class="special">,</span> <span class="identifier">size_type</span> n<span class="special">,</span> <span class="identifier">CharT</span> c<span class="special">)</span><span class="special">;</span></pre>
807 <p><span class="bold"><strong>Effects</strong></span>: Equivalent to insert(pos, basic_string(n, c)).</p>
808 <p><span class="bold"><strong>Throws</strong></span>: If memory allocation throws, out_of_range if pos > size() length_error if size() > max_size() - n</p>
809 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
811 <li class="listitem">
812 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
813 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066331440-bb"></a><span class="identifier">insert</span><span class="special">(</span><span class="identifier">size_type</span> pos<span class="special">,</span> <span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">)</span><span class="special">;</span></pre>
814 <p><span class="bold"><strong>Effects</strong></span>: Same as <code class="computeroutput">return insert(pos, sv.data(), sv.size())</code>. </p>
816 <li class="listitem">
817 <pre class="literallayout"><span class="identifier">iterator</span> <a name="idm45666066326304-bb"></a><span class="identifier">insert</span><span class="special">(</span><span class="identifier">const_iterator</span> p<span class="special">,</span> <span class="identifier">CharT</span> c<span class="special">)</span><span class="special">;</span></pre>
818 <p><span class="bold"><strong>Requires</strong></span>: p is a valid iterator on *this.</p>
819 <p><span class="bold"><strong>Effects</strong></span>: inserts a copy of c before the character referred to by p.</p>
820 <p><span class="bold"><strong>Returns</strong></span>: An iterator which refers to the copy of the inserted character. </p>
822 <li class="listitem">
823 <pre class="literallayout"><span class="identifier">iterator</span> <a name="idm45666066321296-bb"></a><span class="identifier">insert</span><span class="special">(</span><span class="identifier">const_iterator</span> p<span class="special">,</span> <span class="identifier">size_type</span> n<span class="special">,</span> <span class="identifier">CharT</span> c<span class="special">)</span><span class="special">;</span></pre>
824 <p><span class="bold"><strong>Requires</strong></span>: p is a valid iterator on *this.</p>
825 <p><span class="bold"><strong>Effects</strong></span>: Inserts n copies of c before the character referred to by p.</p>
826 <p><span class="bold"><strong>Returns</strong></span>: an iterator to the first inserted element or p if n is 0. </p>
828 <li class="listitem">
829 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> InputIter<span class="special">></span>
830 <span class="identifier">iterator</span> <a name="idm45666066315600-bb"></a><span class="identifier">insert</span><span class="special">(</span><span class="identifier">const_iterator</span> p<span class="special">,</span> <span class="identifier">InputIter</span> first<span class="special">,</span> <span class="identifier">InputIter</span> last<span class="special">)</span><span class="special">;</span></pre>
831 <p><span class="bold"><strong>Requires</strong></span>: p is a valid iterator on *this. [first,last) is a valid range.</p>
832 <p><span class="bold"><strong>Effects</strong></span>: Equivalent to insert(p - begin(), basic_string(first, last)).</p>
833 <p><span class="bold"><strong>Returns</strong></span>: an iterator to the first inserted element or p if first == last. </p>
835 <li class="listitem">
836 <pre class="literallayout"><span class="identifier">iterator</span> <a name="idm45666066309024-bb"></a><span class="identifier">insert</span><span class="special">(</span><span class="identifier">const_iterator</span> p<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</span><span class="special"><</span> <span class="identifier">CharT</span> <span class="special">></span> il<span class="special">)</span><span class="special">;</span></pre>
837 <p><span class="bold"><strong>Effects</strong></span>: As if by insert(p, il.begin(), il.end()).</p>
838 <p><span class="bold"><strong>Returns</strong></span>: An iterator which refers to the copy of the first inserted character, or p if i1 is empty. </p>
840 <li class="listitem">
841 <pre class="literallayout"><span class="keyword">void</span> <a name="idm45666066304848-bb"></a><span class="identifier">pop_back</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
842 <p><span class="bold"><strong>Effects</strong></span>: Removes the last element from the container.</p>
843 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
844 <p><span class="bold"><strong>Complexity</strong></span>: Constant time. </p>
846 <li class="listitem">
847 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066301024-bb"></a><span class="identifier">erase</span><span class="special">(</span><span class="identifier">size_type</span> pos <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">size_type</span> n <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span><span class="special">;</span></pre>
848 <p><span class="bold"><strong>Requires</strong></span>: pos <= size()</p>
849 <p><span class="bold"><strong>Effects</strong></span>: Determines the effective length xlen of the string to be removed as the smaller of n and size() - pos. The function then replaces the string controlled by *this with a string of length size() - xlen whose first pos elements are a copy of the initial elements of the original string controlled by *this, and whose remaining elements are a copy of the elements of the original string controlled by *this beginning at position pos + xlen.</p>
850 <p><span class="bold"><strong>Throws</strong></span>: out_of_range if pos > size().</p>
851 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
853 <li class="listitem">
854 <pre class="literallayout"><span class="identifier">iterator</span> <a name="idm45666066293984-bb"></a><span class="identifier">erase</span><span class="special">(</span><span class="identifier">const_iterator</span> p<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
855 <p><span class="bold"><strong>Effects</strong></span>: Removes the character referred to by p.</p>
856 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
857 <p><span class="bold"><strong>Returns</strong></span>: An iterator which points to the element immediately following p prior to the element being erased. If no such element exists, end() is returned. </p>
859 <li class="listitem">
860 <pre class="literallayout"><span class="identifier">iterator</span> <a name="idm45666066289344-bb"></a><span class="identifier">erase</span><span class="special">(</span><span class="identifier">const_iterator</span> first<span class="special">,</span> <span class="identifier">const_iterator</span> last<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
861 <p><span class="bold"><strong>Requires</strong></span>: first and last are valid iterators on *this, defining a range [first,last).</p>
862 <p><span class="bold"><strong>Effects</strong></span>: Removes the characters in the range [first,last).</p>
863 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
864 <p><span class="bold"><strong>Returns</strong></span>: An iterator which points to the element pointed to by last prior to the other elements being erased. If no such element exists, end() is returned. </p>
866 <li class="listitem">
867 <pre class="literallayout"><span class="keyword">void</span> <a name="idm45666066283104-bb"></a><span class="identifier">clear</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
868 <p><span class="bold"><strong>Effects</strong></span>: Erases all the elements of the vector.</p>
869 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
870 <p><span class="bold"><strong>Complexity</strong></span>: Linear to the number of elements in the vector. </p>
872 <li class="listitem">
873 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066279248-bb"></a><span class="identifier">replace</span><span class="special">(</span><span class="identifier">size_type</span> pos1<span class="special">,</span> <span class="identifier">size_type</span> n1<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> str<span class="special">)</span><span class="special">;</span></pre>
874 <p><span class="bold"><strong>Requires</strong></span>: pos1 <= size().</p>
875 <p><span class="bold"><strong>Effects</strong></span>: Calls replace(pos1, n1, str.data(), str.size()).</p>
876 <p><span class="bold"><strong>Throws</strong></span>: if memory allocation throws or out_of_range if pos1 > size().</p>
877 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
879 <li class="listitem">
880 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
881 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span>
882 <a name="idm45666066272000-bb"></a><span class="identifier">replace</span><span class="special">(</span><span class="identifier">size_type</span> pos1<span class="special">,</span> <span class="identifier">size_type</span> n1<span class="special">,</span> <span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">)</span><span class="special">;</span></pre>
883 <p><span class="bold"><strong>Effects</strong></span>: Calls <code class="computeroutput">return replace(pos1, n1, sv.data(), sv.size());</code>. </p>
885 <li class="listitem">
886 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span>
887 <a name="idm45666066266176-bb"></a><span class="identifier">replace</span><span class="special">(</span><span class="identifier">size_type</span> pos1<span class="special">,</span> <span class="identifier">size_type</span> n1<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> str<span class="special">,</span>
888 <span class="identifier">size_type</span> pos2<span class="special">,</span> <span class="identifier">size_type</span> n2 <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span><span class="special">;</span></pre>
889 <p><span class="bold"><strong>Requires</strong></span>: pos1 <= size() and pos2 <= str.size().</p>
890 <p><span class="bold"><strong>Effects</strong></span>: Determines the effective length rlen of the string to be inserted as the smaller of n2 and str.size() - pos2 and calls replace(pos1, n1, str.data() + pos2, rlen).</p>
891 <p><span class="bold"><strong>Throws</strong></span>: if memory allocation throws, out_of_range if pos1 > size() or pos2 > str.size().</p>
892 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
894 <li class="listitem">
895 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
896 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span>
897 <a name="idm45666066257104-bb"></a><span class="identifier">replace</span><span class="special">(</span><span class="identifier">size_type</span> pos1<span class="special">,</span> <span class="identifier">size_type</span> n1<span class="special">,</span> <span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">,</span>
898 <span class="identifier">size_type</span> pos2<span class="special">,</span> <span class="identifier">size_type</span> n2 <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span><span class="special">;</span></pre>
899 <p><span class="bold"><strong>Throws</strong></span>: out_of_range if pos1 > size() or pos2 > sv.size().</p>
900 <p><span class="bold"><strong>Effects</strong></span>: Determines the effective length rlen of the string to be inserted as the smaller of n2 and sv.size() - pos2 and calls <code class="computeroutput">replace(pos1, n1, sv.data() + pos2, rlen)</code>.</p>
901 <p><span class="bold"><strong>Returns</strong></span>: *this. </p>
903 <li class="listitem">
904 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span>
905 <a name="idm45666066247776-bb"></a><span class="identifier">replace</span><span class="special">(</span><span class="identifier">size_type</span> pos1<span class="special">,</span> <span class="identifier">size_type</span> n1<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">,</span> <span class="identifier">size_type</span> n2<span class="special">)</span><span class="special">;</span></pre>
906 <p><span class="bold"><strong>Requires</strong></span>: pos1 <= size() and s points to an array of at least n2 elements of CharT.</p>
907 <p><span class="bold"><strong>Effects</strong></span>: Determines the effective length xlen of the string to be removed as the smaller of n1 and size() - pos1. If size() - xlen >= max_size() - n2 throws length_error. Otherwise, the function replaces the string controlled by *this with a string of length size() - xlen + n2 whose first pos1 elements are a copy of the initial elements of the original string controlled by *this, whose next n2 elements are a copy of the initial n2 elements of s, and whose remaining elements are a copy of the elements of the original string controlled by *this beginning at position pos + xlen.</p>
908 <p><span class="bold"><strong>Throws</strong></span>: if memory allocation throws, out_of_range if pos1 > size() or length_error if the length of the resulting string would exceed max_size()</p>
909 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
911 <li class="listitem">
912 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066239616-bb"></a><span class="identifier">replace</span><span class="special">(</span><span class="identifier">size_type</span> pos<span class="special">,</span> <span class="identifier">size_type</span> n1<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">)</span><span class="special">;</span></pre>
913 <p><span class="bold"><strong>Requires</strong></span>: pos1 <= size() and s points to an array of at least n2 elements of CharT.</p>
914 <p><span class="bold"><strong>Effects</strong></span>: Determines the effective length xlen of the string to be removed as the smaller of n1 and size() - pos1. If size() - xlen >= max_size() - n2 throws length_error. Otherwise, the function replaces the string controlled by *this with a string of length size() - xlen + n2 whose first pos1 elements are a copy of the initial elements of the original string controlled by *this, whose next n2 elements are a copy of the initial n2 elements of s, and whose remaining elements are a copy of the elements of the original string controlled by *this beginning at position pos + xlen.</p>
915 <p><span class="bold"><strong>Throws</strong></span>: if memory allocation throws, out_of_range if pos1 > size() or length_error if the length of the resulting string would exceed max_size()</p>
916 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
918 <li class="listitem">
919 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066232144-bb"></a><span class="identifier">replace</span><span class="special">(</span><span class="identifier">size_type</span> pos1<span class="special">,</span> <span class="identifier">size_type</span> n1<span class="special">,</span> <span class="identifier">size_type</span> n2<span class="special">,</span> <span class="identifier">CharT</span> c<span class="special">)</span><span class="special">;</span></pre>
920 <p><span class="bold"><strong>Requires</strong></span>: pos1 <= size().</p>
921 <p><span class="bold"><strong>Effects</strong></span>: Equivalent to replace(pos1, n1, basic_string(n2, c)).</p>
922 <p><span class="bold"><strong>Throws</strong></span>: if memory allocation throws, out_of_range if pos1 > size() or length_error if the length of the resulting string would exceed max_size()</p>
923 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
925 <li class="listitem">
926 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span>
927 <a name="idm45666066224576-bb"></a><span class="identifier">replace</span><span class="special">(</span><span class="identifier">const_iterator</span> i1<span class="special">,</span> <span class="identifier">const_iterator</span> i2<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> str<span class="special">)</span><span class="special">;</span></pre>
928 <p><span class="bold"><strong>Requires</strong></span>: [begin(),i1) and [i1,i2) are valid ranges.</p>
929 <p><span class="bold"><strong>Effects</strong></span>: Calls replace(i1 - begin(), i2 - i1, str).</p>
930 <p><span class="bold"><strong>Throws</strong></span>: if memory allocation throws</p>
931 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
933 <li class="listitem">
934 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span>
935 <a name="idm45666066217328-bb"></a><span class="identifier">replace</span><span class="special">(</span><span class="identifier">const_iterator</span> i1<span class="special">,</span> <span class="identifier">const_iterator</span> i2<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">,</span> <span class="identifier">size_type</span> n<span class="special">)</span><span class="special">;</span></pre>
936 <p><span class="bold"><strong>Requires</strong></span>: [begin(),i1) and [i1,i2) are valid ranges and s points to an array of at least n elements</p>
937 <p><span class="bold"><strong>Effects</strong></span>: Calls replace(i1 - begin(), i2 - i1, s, n).</p>
938 <p><span class="bold"><strong>Throws</strong></span>: if memory allocation throws</p>
939 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
941 <li class="listitem">
942 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45666066209792-bb"></a><span class="identifier">replace</span><span class="special">(</span><span class="identifier">const_iterator</span> i1<span class="special">,</span> <span class="identifier">const_iterator</span> i2<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">)</span><span class="special">;</span></pre>
943 <p><span class="bold"><strong>Requires</strong></span>: [begin(),i1) and [i1,i2) are valid ranges and s points to an array of at least traits::length(s) + 1 elements of CharT.</p>
944 <p><span class="bold"><strong>Effects</strong></span>: Calls replace(i1 - begin(), i2 - i1, s, traits::length(s)).</p>
945 <p><span class="bold"><strong>Throws</strong></span>: if memory allocation throws</p>
946 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
948 <li class="listitem">
949 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span>
950 <a name="idm45666066202896-bb"></a><span class="identifier">replace</span><span class="special">(</span><span class="identifier">const_iterator</span> i1<span class="special">,</span> <span class="identifier">const_iterator</span> i2<span class="special">,</span> <span class="identifier">size_type</span> n<span class="special">,</span> <span class="identifier">CharT</span> c<span class="special">)</span><span class="special">;</span></pre>
951 <p><span class="bold"><strong>Requires</strong></span>: [begin(),i1) and [i1,i2) are valid ranges.</p>
952 <p><span class="bold"><strong>Effects</strong></span>: Calls replace(i1 - begin(), i2 - i1, basic_string(n, c)).</p>
953 <p><span class="bold"><strong>Throws</strong></span>: if memory allocation throws</p>
954 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
956 <li class="listitem">
957 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> InputIter<span class="special">></span>
958 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span>
959 <a name="idm45666066195392-bb"></a><span class="identifier">replace</span><span class="special">(</span><span class="identifier">const_iterator</span> i1<span class="special">,</span> <span class="identifier">const_iterator</span> i2<span class="special">,</span> <span class="identifier">InputIter</span> j1<span class="special">,</span> <span class="identifier">InputIter</span> j2<span class="special">)</span><span class="special">;</span></pre>
960 <p><span class="bold"><strong>Requires</strong></span>: [begin(),i1), [i1,i2) and [j1,j2) are valid ranges.</p>
961 <p><span class="bold"><strong>Effects</strong></span>: Calls replace(i1 - begin(), i2 - i1, basic_string(j1, j2)).</p>
962 <p><span class="bold"><strong>Throws</strong></span>: if memory allocation throws</p>
963 <p><span class="bold"><strong>Returns</strong></span>: *this </p>
965 <li class="listitem">
966 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
967 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span>
968 <a name="idm45666066187040-bb"></a><span class="identifier">replace</span><span class="special">(</span><span class="identifier">const_iterator</span> i1<span class="special">,</span> <span class="identifier">const_iterator</span> i2<span class="special">,</span>
969 <span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">)</span><span class="special">;</span></pre>
970 <p><span class="bold"><strong>Requires</strong></span>: [begin(), i1) and [i1, i2) are valid ranges.</p>
971 <p><span class="bold"><strong>Effects</strong></span>: Calls <code class="computeroutput">replace(i1 - begin(), i2 - i1, sv).</code>.</p>
972 <p><span class="bold"><strong>Returns</strong></span>: *this. </p>
974 <li class="listitem">
975 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span>
976 <a name="idm45666066179504-bb"></a><span class="identifier">replace</span><span class="special">(</span><span class="identifier">const_iterator</span> i1<span class="special">,</span> <span class="identifier">const_iterator</span> i2<span class="special">,</span>
977 <span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</span><span class="special"><</span> <span class="identifier">CharT</span> <span class="special">></span> il<span class="special">)</span><span class="special">;</span></pre>
978 <p><span class="bold"><strong>Requires</strong></span>: [begin(), i1) and [i1, i2) are valid ranges.</p>
979 <p><span class="bold"><strong>Effects</strong></span>: Calls replace(i1 - begin(), i2 - i1, il.begin(), il.size()).</p>
980 <p><span class="bold"><strong>Returns</strong></span>: *this. </p>
982 <li class="listitem">
983 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45666066173536-bb"></a><span class="identifier">copy</span><span class="special">(</span><span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">,</span> <span class="identifier">size_type</span> n<span class="special">,</span> <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
984 <p><span class="bold"><strong>Requires</strong></span>: pos <= size()</p>
985 <p><span class="bold"><strong>Effects</strong></span>: Determines the effective length rlen of the string to copy as the smaller of n and size() - pos. s shall designate an array of at least rlen elements. The function then replaces the string designated by s with a string of length rlen whose elements are a copy of the string controlled by *this beginning at position pos. The function does not append a null object to the string designated by s.</p>
986 <p><span class="bold"><strong>Throws</strong></span>: if memory allocation throws, out_of_range if pos > size().</p>
987 <p><span class="bold"><strong>Returns</strong></span>: rlen </p>
989 <li class="listitem">
990 <pre class="literallayout"><span class="keyword">void</span> <a name="idm45666066166112-bb"></a><span class="identifier">swap</span><span class="special">(</span><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> x<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">(</span><span class="identifier">allocator_traits_type</span><span class="special">::</span><span class="identifier">propagate_on_container_swap</span><span class="special">::</span><span class="identifier">value</span><span class="special">||</span><span class="identifier">allocator_traits_type</span><span class="special">::</span><span class="identifier">is_always_equal</span><span class="special">::</span><span class="identifier">value</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre>
991 <p><span class="bold"><strong>Effects</strong></span>: *this contains the same sequence of characters that was in s, s contains the same sequence of characters that was in *this.</p>
992 <p><span class="bold"><strong>Throws</strong></span>: Nothing </p>
994 <li class="listitem">
995 <pre class="literallayout"><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> <a name="idm45666066161984-bb"></a><span class="identifier">c_str</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
996 <p><span class="bold"><strong>Requires</strong></span>: The program shall not alter any of the values stored in the character array.</p>
997 <p><span class="bold"><strong>Returns</strong></span>: A pointer p such that p + i == &operator[](i) for each i in [0,size()].</p>
998 <p><span class="bold"><strong>Complexity</strong></span>: constant time. </p>
1000 <li class="listitem">
1001 <pre class="literallayout"><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> <a name="idm45666066158064-bb"></a><span class="identifier">data</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
1002 <p><span class="bold"><strong>Requires</strong></span>: The program shall not alter any of the values stored in the character array.</p>
1003 <p><span class="bold"><strong>Returns</strong></span>: A pointer p such that p + i == &operator[](i) for each i in [0,size()].</p>
1004 <p><span class="bold"><strong>Complexity</strong></span>: constant time. </p>
1006 <li class="listitem">
1007 <pre class="literallayout"><span class="identifier">CharT</span> <span class="special">*</span> <a name="idm45666066154144-bb"></a><span class="identifier">data</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
1008 <p><span class="bold"><strong>Returns</strong></span>: A pointer p such that p + i == &operator[](i) for each i in [0,size()].</p>
1009 <p><span class="bold"><strong>Complexity</strong></span>: constant time. </p>
1011 <li class="listitem">
1012 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
1013 <a name="idm45666066151136-bb"></a><span class="keyword">operator</span> <span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
1014 <p><span class="bold"><strong>Returns</strong></span>: a string_view to the characters in the string.</p>
1015 <p><span class="bold"><strong>Complexity</strong></span>: constant time. </p>
1017 <li class="listitem">
1018 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> BasicStringView<span class="special">></span> <span class="identifier">BasicStringView</span> <a name="idm45666066146992-bb"></a><span class="identifier">to_view</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
1019 <p><span class="bold"><strong>Returns</strong></span>: a string_view to the characters in the string.</p>
1020 <p><span class="bold"><strong>Complexity</strong></span>: constant time.</p>
1021 <p><span class="bold"><strong>Note</strong></span>: This function is available to write portable code for compilers that don't support templated conversion operators. </p>
1023 <li class="listitem">
1024 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45666066142224-bb"></a><span class="identifier">find</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> s<span class="special">,</span> <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1025 <p><span class="bold"><strong>Effects</strong></span>: Determines the lowest position xpos, if possible, such that both of the following conditions hold: 1) pos <= xpos and xpos + str.size() <= size(); 2) traits::eq(at(xpos+I), str.at(I)) for all elements I of the string controlled by str.</p>
1026 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1027 <p><span class="bold"><strong>Returns</strong></span>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </p>
1029 <li class="listitem">
1030 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
1031 <span class="identifier">size_type</span> <a name="idm45666066136032-bb"></a><span class="identifier">find</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">,</span> <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1032 <p><span class="bold"><strong>Effects</strong></span>: Determines the lowest position xpos, if possible, such that both of the following conditions hold: 1) pos <= xpos and xpos + sv.size() <= size(); 2) traits::eq(at(xpos+I), sv.at(I)) for all elements I of the string controlled by sv.</p>
1033 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1034 <p><span class="bold"><strong>Returns</strong></span>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </p>
1036 <li class="listitem">
1037 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45666066129120-bb"></a><span class="identifier">find</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">,</span> <span class="identifier">size_type</span> pos<span class="special">,</span> <span class="identifier">size_type</span> n<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1038 <p><span class="bold"><strong>Requires</strong></span>: s points to an array of at least n elements of CharT.</p>
1039 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1040 <p><span class="bold"><strong>Returns</strong></span>: find(basic_string<CharT,traits,allocator_type>(s,n),pos). </p>
1042 <li class="listitem">
1043 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45666066123184-bb"></a><span class="identifier">find</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">,</span> <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1044 <p><span class="bold"><strong>Requires</strong></span>: s points to an array of at least traits::length(s) + 1 elements of CharT.</p>
1045 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1046 <p><span class="bold"><strong>Returns</strong></span>: find(basic_string(s), pos). </p>
1048 <li class="listitem">
1049 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45666066117648-bb"></a><span class="identifier">find</span><span class="special">(</span><span class="identifier">CharT</span> c<span class="special">,</span> <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1050 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1051 <p><span class="bold"><strong>Returns</strong></span>: find(basic_string<CharT,traits,allocator_type>(1,c), pos). </p>
1053 <li class="listitem">
1054 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45666066112992-bb"></a><span class="identifier">rfind</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> str<span class="special">,</span> <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1055 <p><span class="bold"><strong>Effects</strong></span>: Determines the highest position xpos, if possible, such that both of the following conditions obtain: a) xpos <= pos and xpos + str.size() <= size(); b) traits::eq(at(xpos+I), str.at(I)) for all elements I of the string controlled by str.</p>
1056 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1057 <p><span class="bold"><strong>Returns</strong></span>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </p>
1059 <li class="listitem">
1060 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
1061 <span class="identifier">size_type</span> <a name="idm45666066106800-bb"></a><span class="identifier">rfind</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">,</span> <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1062 <p><span class="bold"><strong>Effects</strong></span>: Determines the highest position xpos, if possible, such that both of the following conditions obtain: a) xpos <= pos and xpos + sv.size() <= size(); b) traits::eq(at(xpos+I), sv.at(I)) for all elements I of the string controlled by sv.</p>
1063 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1064 <p><span class="bold"><strong>Returns</strong></span>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </p>
1066 <li class="listitem">
1067 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45666066099888-bb"></a><span class="identifier">rfind</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">,</span> <span class="identifier">size_type</span> pos<span class="special">,</span> <span class="identifier">size_type</span> n<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1068 <p><span class="bold"><strong>Requires</strong></span>: s points to an array of at least n elements of CharT.</p>
1069 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1070 <p><span class="bold"><strong>Returns</strong></span>: rfind(basic_string(s, n), pos). </p>
1072 <li class="listitem">
1073 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45666066093984-bb"></a><span class="identifier">rfind</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">,</span> <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1074 <p><span class="bold"><strong>Requires</strong></span>: pos <= size() and s points to an array of at least traits::length(s) + 1 elements of CharT.</p>
1075 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1076 <p><span class="bold"><strong>Returns</strong></span>: rfind(basic_string(s), pos). </p>
1078 <li class="listitem">
1079 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45666066088432-bb"></a><span class="identifier">rfind</span><span class="special">(</span><span class="identifier">CharT</span> c<span class="special">,</span> <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1080 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1081 <p><span class="bold"><strong>Returns</strong></span>: rfind(basic_string<CharT,traits,allocator_type>(1,c),pos). </p>
1083 <li class="listitem">
1084 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45666066083776-bb"></a><span class="identifier">find_first_of</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> str<span class="special">,</span> <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1085 <p><span class="bold"><strong>Effects</strong></span>: Determines the lowest position xpos, if possible, such that both of the following conditions obtain: a) pos <= xpos and xpos < size(); b) traits::eq(at(xpos), str.at(I)) for some element I of the string controlled by str.</p>
1086 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1087 <p><span class="bold"><strong>Returns</strong></span>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </p>
1089 <li class="listitem">
1090 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
1091 <span class="identifier">size_type</span> <a name="idm45666066077600-bb"></a><span class="identifier">find_first_of</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">,</span>
1092 <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1093 <p><span class="bold"><strong>Effects</strong></span>: Determines the lowest position xpos, if possible, such that both of the following conditions obtain: a) pos <= xpos and xpos < size(); b) traits::eq(at(xpos), sv.at(I)) for some element I of the string controlled by sv.</p>
1094 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1095 <p><span class="bold"><strong>Returns</strong></span>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </p>
1097 <li class="listitem">
1098 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45666066070704-bb"></a><span class="identifier">find_first_of</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">,</span> <span class="identifier">size_type</span> pos<span class="special">,</span> <span class="identifier">size_type</span> n<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1099 <p><span class="bold"><strong>Requires</strong></span>: s points to an array of at least n elements of CharT.</p>
1100 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1101 <p><span class="bold"><strong>Returns</strong></span>: find_first_of(basic_string(s, n), pos). </p>
1103 <li class="listitem">
1104 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45666066064784-bb"></a><span class="identifier">find_first_of</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">,</span> <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1105 <p><span class="bold"><strong>Requires</strong></span>: s points to an array of at least traits::length(s) + 1 elements of CharT.</p>
1106 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1107 <p><span class="bold"><strong>Returns</strong></span>: find_first_of(basic_string(s), pos). </p>
1109 <li class="listitem">
1110 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45666066059248-bb"></a><span class="identifier">find_first_of</span><span class="special">(</span><span class="identifier">CharT</span> c<span class="special">,</span> <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1111 <p><span class="bold"><strong>Requires</strong></span>: s points to an array of at least traits::length(s) + 1 elements of CharT.</p>
1112 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1113 <p><span class="bold"><strong>Returns</strong></span>: find_first_of(basic_string<CharT,traits,allocator_type>(1,c), pos). </p>
1115 <li class="listitem">
1116 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45666066053680-bb"></a><span class="identifier">find_last_of</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> str<span class="special">,</span> <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1117 <p><span class="bold"><strong>Effects</strong></span>: Determines the highest position xpos, if possible, such that both of the following conditions obtain: a) xpos <= pos and xpos < size(); b) traits::eq(at(xpos), str.at(I)) for some element I of the string controlled by str.</p>
1118 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1119 <p><span class="bold"><strong>Returns</strong></span>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </p>
1121 <li class="listitem">
1122 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
1123 <span class="identifier">size_type</span> <a name="idm45666066047504-bb"></a><span class="identifier">find_last_of</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">,</span>
1124 <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1125 <p><span class="bold"><strong>Effects</strong></span>: Determines the highest position xpos, if possible, such that both of the following conditions obtain: a) xpos <= pos and xpos < size(); b) traits::eq(at(xpos), str.at(I)) for some element I of the string controlled by str.</p>
1126 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1127 <p><span class="bold"><strong>Returns</strong></span>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </p>
1129 <li class="listitem">
1130 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45666066040608-bb"></a><span class="identifier">find_last_of</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">,</span> <span class="identifier">size_type</span> pos<span class="special">,</span> <span class="identifier">size_type</span> n<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1131 <p><span class="bold"><strong>Requires</strong></span>: s points to an array of at least n elements of CharT.</p>
1132 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1133 <p><span class="bold"><strong>Returns</strong></span>: find_last_of(basic_string(s, n), pos). </p>
1135 <li class="listitem">
1136 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45666066034688-bb"></a><span class="identifier">find_last_of</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">,</span> <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1137 <p><span class="bold"><strong>Requires</strong></span>: s points to an array of at least traits::length(s) + 1 elements of CharT.</p>
1138 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1139 <p><span class="bold"><strong>Returns</strong></span>: find_last_of(basic_string<CharT,traits,allocator_type>(1,c),pos). </p>
1141 <li class="listitem">
1142 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45666066029120-bb"></a><span class="identifier">find_last_of</span><span class="special">(</span><span class="identifier">CharT</span> c<span class="special">,</span> <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1143 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1144 <p><span class="bold"><strong>Returns</strong></span>: find_last_of(basic_string(s), pos). </p>
1146 <li class="listitem">
1147 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45666066024496-bb"></a><span class="identifier">find_first_not_of</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> str<span class="special">,</span> <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1148 <p><span class="bold"><strong>Effects</strong></span>: Determines the lowest position xpos, if possible, such that both of the following conditions obtain: a) pos <= xpos and xpos < size(); b) traits::eq(at(xpos), str.at(I)) for no element I of the string controlled by str.</p>
1149 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1150 <p><span class="bold"><strong>Returns</strong></span>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </p>
1152 <li class="listitem">
1153 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
1154 <span class="identifier">size_type</span> <a name="idm45666066018320-bb"></a><span class="identifier">find_first_not_of</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">,</span>
1155 <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1156 <p><span class="bold"><strong>Effects</strong></span>: Determines the lowest position xpos, if possible, such that both of the following conditions obtain: a) pos <= xpos and xpos < size(); b) traits::eq(at(xpos), sv.at(I)) for no element I of the string controlled by sv.</p>
1157 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1158 <p><span class="bold"><strong>Returns</strong></span>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </p>
1160 <li class="listitem">
1161 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45666066011424-bb"></a><span class="identifier">find_first_not_of</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">,</span> <span class="identifier">size_type</span> pos<span class="special">,</span> <span class="identifier">size_type</span> n<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1162 <p><span class="bold"><strong>Requires</strong></span>: s points to an array of at least traits::length(s) + 1 elements of CharT.</p>
1163 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1164 <p><span class="bold"><strong>Returns</strong></span>: find_first_not_of(basic_string(s, n), pos). </p>
1166 <li class="listitem">
1167 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45666066005472-bb"></a><span class="identifier">find_first_not_of</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">,</span> <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1168 <p><span class="bold"><strong>Requires</strong></span>: s points to an array of at least traits::length(s) + 1 elements of CharT.</p>
1169 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1170 <p><span class="bold"><strong>Returns</strong></span>: find_first_not_of(basic_string(s), pos). </p>
1172 <li class="listitem">
1173 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45666065999920-bb"></a><span class="identifier">find_first_not_of</span><span class="special">(</span><span class="identifier">CharT</span> c<span class="special">,</span> <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1174 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1175 <p><span class="bold"><strong>Returns</strong></span>: find_first_not_of(basic_string(1, c), pos). </p>
1177 <li class="listitem">
1178 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45666065995280-bb"></a><span class="identifier">find_last_not_of</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> str<span class="special">,</span> <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1179 <p><span class="bold"><strong>Effects</strong></span>: Determines the highest position xpos, if possible, such that both of the following conditions obtain: a) xpos <= pos and xpos < size(); b) traits::eq(at(xpos), str.at(I)) for no element I of the string controlled by str.</p>
1180 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1181 <p><span class="bold"><strong>Returns</strong></span>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </p>
1183 <li class="listitem">
1184 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
1185 <span class="identifier">size_type</span> <a name="idm45666065989104-bb"></a><span class="identifier">find_last_not_of</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">,</span>
1186 <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1187 <p><span class="bold"><strong>Effects</strong></span>: Determines the highest position xpos, if possible, such that both of the following conditions obtain: a) xpos <= pos and xpos < size(); b) traits::eq(at(xpos), sv.at(I)) for no element I of the string controlled by sv.</p>
1188 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1189 <p><span class="bold"><strong>Returns</strong></span>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </p>
1191 <li class="listitem">
1192 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45666065982208-bb"></a><span class="identifier">find_last_not_of</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">,</span> <span class="identifier">size_type</span> pos<span class="special">,</span> <span class="identifier">size_type</span> n<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1193 <p><span class="bold"><strong>Requires</strong></span>: s points to an array of at least n elements of CharT.</p>
1194 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1195 <p><span class="bold"><strong>Returns</strong></span>: find_last_not_of(basic_string(s, n), pos). </p>
1197 <li class="listitem">
1198 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45666065976288-bb"></a><span class="identifier">find_last_not_of</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">,</span> <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1199 <p><span class="bold"><strong>Requires</strong></span>: s points to an array of at least traits::length(s) + 1 elements of CharT.</p>
1200 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1201 <p><span class="bold"><strong>Returns</strong></span>: find_last_not_of(basic_string(s), pos). </p>
1203 <li class="listitem">
1204 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45666065970736-bb"></a><span class="identifier">find_last_not_of</span><span class="special">(</span><span class="identifier">CharT</span> c<span class="special">,</span> <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1205 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1206 <p><span class="bold"><strong>Returns</strong></span>: find_last_not_of(basic_string(1, c), pos). </p>
1208 <li class="listitem">
1209 <pre class="literallayout"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <a name="idm45666065966096-bb"></a><span class="identifier">substr</span><span class="special">(</span><span class="identifier">size_type</span> pos <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">size_type</span> n <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1210 <p><span class="bold"><strong>Requires</strong></span>: Requires: pos <= size()</p>
1211 <p><span class="bold"><strong>Effects</strong></span>: Determines the effective length rlen of the string to copy as the smaller of n and size() - pos.</p>
1212 <p><span class="bold"><strong>Throws</strong></span>: If memory allocation throws or out_of_range if pos > size().</p>
1213 <p><span class="bold"><strong>Returns</strong></span>: basic_string<CharT,traits,allocator_type>(data()+pos,rlen). </p>
1215 <li class="listitem">
1216 <pre class="literallayout"><span class="keyword">int</span> <a name="idm45666065959184-bb"></a><span class="identifier">compare</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> str<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1217 <p><span class="bold"><strong>Effects</strong></span>: Determines the effective length rlen of the string to compare as the smaller of size() and str.size(). The function then compares the two strings by calling traits::compare(data(), str.data(), rlen).</p>
1218 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1219 <p><span class="bold"><strong>Returns</strong></span>: The nonzero result if the result of the comparison is nonzero. Otherwise, returns a value < 0 if size() < str.size(), a 0 value if size() == str.size(), and value > 0 if size() > str.size() </p>
1221 <li class="listitem">
1222 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
1223 <span class="keyword">int</span> <a name="idm45666065953888-bb"></a><span class="identifier">compare</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1224 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1225 <p><span class="bold"><strong>Returns</strong></span>: compare(basic_string(sv)). </p>
1227 <li class="listitem">
1228 <pre class="literallayout"><span class="keyword">int</span> <a name="idm45666065949072-bb"></a><span class="identifier">compare</span><span class="special">(</span><span class="identifier">size_type</span> pos1<span class="special">,</span> <span class="identifier">size_type</span> n1<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> str<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1229 <p><span class="bold"><strong>Requires</strong></span>: pos1 <= size()</p>
1230 <p><span class="bold"><strong>Effects</strong></span>: Determines the effective length rlen of the string to compare as the smaller of (this->size() - pos1), n1 and str.size(). The function then compares the two strings by calling traits::compare(data()+pos1, str.data(), rlen).</p>
1231 <p><span class="bold"><strong>Throws</strong></span>: out_of_range if pos1 > size()</p>
1232 <p><span class="bold"><strong>Returns</strong></span>:basic_string(*this,pos1,n1).compare(str). </p>
1234 <li class="listitem">
1235 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
1236 <span class="keyword">int</span> <a name="idm45666065941664-bb"></a><span class="identifier">compare</span><span class="special">(</span><span class="identifier">size_type</span> pos1<span class="special">,</span> <span class="identifier">size_type</span> n1<span class="special">,</span>
1237 <span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1238 <p><span class="bold"><strong>Requires</strong></span>: pos1 <= size()</p>
1239 <p><span class="bold"><strong>Throws</strong></span>: out_of_range if pos1 > size()</p>
1240 <p><span class="bold"><strong>Returns</strong></span>:basic_string(*this,pos1,n1).compare(sv). </p>
1242 <li class="listitem">
1243 <pre class="literallayout"><span class="keyword">int</span> <a name="idm45666065934592-bb"></a><span class="identifier">compare</span><span class="special">(</span><span class="identifier">size_type</span> pos1<span class="special">,</span> <span class="identifier">size_type</span> n1<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> str<span class="special">,</span>
1244 <span class="identifier">size_type</span> pos2<span class="special">,</span> <span class="identifier">size_type</span> n2 <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1245 <p><span class="bold"><strong>Requires</strong></span>: pos1 <= size() and pos2 <= str.size()</p>
1246 <p><span class="bold"><strong>Effects</strong></span>: Determines the effective length rlen of the string to copy as the smaller of</p>
1247 <p><span class="bold"><strong>Throws</strong></span>: out_of_range if pos1 > size() or pos2 > str.size()</p>
1248 <p><span class="bold"><strong>Returns</strong></span>: basic_string(*this, pos1, n1).compare(basic_string(str, pos2, n2)). </p>
1250 <li class="listitem">
1251 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span>
1252 <span class="keyword">int</span> <a name="idm45666065925616-bb"></a><span class="identifier">compare</span><span class="special">(</span><span class="identifier">size_type</span> pos1<span class="special">,</span> <span class="identifier">size_type</span> n1<span class="special">,</span>
1253 <span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">,</span> <span class="identifier">size_type</span> pos2<span class="special">,</span>
1254 <span class="identifier">size_type</span> n2<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1255 <p><span class="bold"><strong>Requires</strong></span>: pos1 <= size() and pos2 <= str.size()</p>
1256 <p><span class="bold"><strong>Effects</strong></span>: Determines the effective length rlen of the string to copy as the smaller of</p>
1257 <p><span class="bold"><strong>Throws</strong></span>: out_of_range if pos1 > size() or pos2 > sv.size()</p>
1258 <p><span class="bold"><strong>Returns</strong></span>: basic_string(*this, pos1, n1).compare(BasicStringView<CharT, Traits>(sv, pos2, n2)). </p>
1260 <li class="listitem">
1261 <pre class="literallayout"><span class="keyword">int</span> <a name="idm45666065916192-bb"></a><span class="identifier">compare</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1262 <p><span class="bold"><strong>Throws</strong></span>: Nothing</p>
1263 <p><span class="bold"><strong>Returns</strong></span>: compare(basic_string(s)). </p>
1265 <li class="listitem">
1266 <pre class="literallayout"><span class="keyword">int</span> <a name="idm45666065912544-bb"></a><span class="identifier">compare</span><span class="special">(</span><span class="identifier">size_type</span> pos1<span class="special">,</span> <span class="identifier">size_type</span> n1<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">,</span> <span class="identifier">size_type</span> n2<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1267 <p><span class="bold"><strong>Requires</strong></span>: pos1 > size() and s points to an array of at least n2 elements of CharT.</p>
1268 <p><span class="bold"><strong>Throws</strong></span>: out_of_range if pos1 > size()</p>
1269 <p><span class="bold"><strong>Returns</strong></span>: basic_string(*this, pos, n1).compare(basic_string(s, n2)). </p>
1271 <li class="listitem">
1272 <pre class="literallayout"><span class="keyword">int</span> <a name="idm45666065905872-bb"></a><span class="identifier">compare</span><span class="special">(</span><span class="identifier">size_type</span> pos1<span class="special">,</span> <span class="identifier">size_type</span> n1<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> s<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1273 <p><span class="bold"><strong>Requires</strong></span>: pos1 > size() and s points to an array of at least traits::length(s) + 1 elements of CharT.</p>
1274 <p><span class="bold"><strong>Throws</strong></span>: out_of_range if pos1 > size()</p>
1275 <p><span class="bold"><strong>Returns</strong></span>: basic_string(*this, pos, n1).compare(basic_string(s, n2)). </p>
1281 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
1282 <td align="left"></td>
1283 <td align="right"><div class="copyright-footer">Copyright © 2009-2018 Ion Gaztanaga<p>
1284 Distributed under the Boost Software License, Version 1.0. (See accompanying
1285 file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
1290 <div class="spirit-nav">
1291 <a accesskey="p" href="swap_idm45666066660352.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_container_header_reference.html#header.boost.container.string_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="string.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>