• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<html>
3<head>
4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
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 &lt;boost/container/string.hpp&gt;">
10<link rel="prev" href="swap_idm45641209231392.html" title="Function template swap">
11<link rel="next" href="string.html" title="Type definition string">
12</head>
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>
21</tr></table>
22<hr>
23<div class="spirit-nav">
24<a accesskey="p" href="swap_idm45641209231392.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>
25</div>
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>
31</div>
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: &lt;<a class="link" href="../../boost_container_header_reference.html#header.boost.container.string_hpp" title="Header &lt;boost/container/string.hpp&gt;">boost/container/string.hpp</a>&gt;
34
35</span><span class="keyword">template</span><span class="special">&lt;</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">&lt;</span><span class="identifier">CharT</span><span class="special">&gt;</span><span class="special">,</span>
36         <span class="keyword">typename</span> Allocator <span class="special">=</span> <span class="keyword">void</span><span class="special">&gt;</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">&lt;</span> <span class="identifier">real_allocator</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <span class="special">&gt;</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">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">&gt;</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">&lt;</span> <span class="identifier">allocator_type</span> <span class="special">&gt;</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">&lt;</span> <span class="identifier">allocator_type</span> <span class="special">&gt;</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">&lt;</span> <span class="identifier">allocator_type</span> <span class="special">&gt;</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">&lt;</span> <span class="identifier">allocator_type</span> <span class="special">&gt;</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">&lt;</span> <span class="identifier">allocator_type</span> <span class="special">&gt;</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">&lt;</span> <span class="identifier">allocator_type</span> <span class="special">&gt;</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>
56
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#idm45641208470752-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">&lt;</span> <span class="identifier">allocator_type</span> <span class="special">&gt;</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#idm45641208467536-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">&amp;</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
60  <a class="link" href="basic_string.html#idm45641208463440-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">&amp;</span><span class="special">)</span><span class="special">;</span>
61  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
62    <span class="keyword">explicit</span> <a class="link" href="basic_string.html#idm45641208458560-bb"><span class="identifier">basic_string</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</span><span class="special">,</span>
63                          <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&amp;</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#idm45641208452544-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">&amp;&amp;</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
65  <a class="link" href="basic_string.html#idm45641208448304-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">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
66  <a class="link" href="basic_string.html#idm45641208442752-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">&amp;&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
67  <a class="link" href="basic_string.html#idm45641208438016-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">&amp;</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#idm45641208433120-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">&amp;</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">&amp;</span><span class="special">)</span><span class="special">;</span>
70  <a class="link" href="basic_string.html#idm45641208427824-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#idm45641208424352-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">&amp;</span><span class="special">)</span><span class="special">;</span>
72  <a class="link" href="basic_string.html#idm45641208420192-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#idm45641208417424-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">&amp;</span><span class="special">)</span><span class="special">;</span>
74  <a class="link" href="basic_string.html#idm45641208413968-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#idm45641208410528-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">&amp;</span><span class="special">)</span><span class="special">;</span>
76  <a class="link" href="basic_string.html#idm45641208406400-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#idm45641208402816-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">&amp;</span><span class="special">)</span><span class="special">;</span>
78  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> InputIterator<span class="special">&gt;</span> <a class="link" href="basic_string.html#idm45641208398544-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">&lt;</span><span class="keyword">typename</span> InputIterator<span class="special">&gt;</span>
80    <a class="link" href="basic_string.html#idm45641208394272-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">&amp;</span><span class="special">)</span><span class="special">;</span>
81  <a class="link" href="basic_string.html#idm45641208389312-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">&lt;</span> <span class="identifier">value_type</span> <span class="special">&gt;</span><span class="special">,</span>
82               <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&amp;</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">&amp;</span> <a class="link" href="basic_string.html#idm45641208381904-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">&amp;</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">&amp;</span>
85  <a class="link" href="basic_string.html#idm45641208377200-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">&amp;&amp;</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">&amp;</span> <a class="link" href="basic_string.html#idm45641208372064-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">&amp;</span> <a class="link" href="basic_string.html#idm45641208369504-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">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
89    <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&amp;</span> <a class="link" href="basic_string.html#idm45641208366960-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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">&amp;</span> <a class="link" href="basic_string.html#idm45641208363248-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">&lt;</span> <span class="identifier">CharT</span> <span class="special">&gt;</span><span class="special">)</span><span class="special">;</span>
91  <a class="link" href="basic_string.html#idm45641208385616-bb"><span class="special">~</span><span class="identifier">basic_string</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
92
93  <span class="comment">// <a class="link" href="basic_string.html#idm45641209188944-bb">public member functions</a></span>
94  <span class="identifier">allocator_type</span> <a class="link" href="basic_string.html#idm45641209188384-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">&amp;</span> <a class="link" href="basic_string.html#idm45641209184528-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">&amp;</span> <a class="link" href="basic_string.html#idm45641209179840-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#idm45641209175136-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#idm45641209171296-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#idm45641209167440-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#idm45641209163616-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#idm45641209159792-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#idm45641209155936-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#idm45641209152080-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#idm45641209148224-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#idm45641209144368-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#idm45641209140512-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#idm45641209136688-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#idm45641209132832-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#idm45641209128976-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#idm45641209125152-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#idm45641209121312-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#idm45641209117472-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#idm45641209113648-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#idm45641209108592-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#idm45641209104224-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#idm45641209098208-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#idm45641209094320-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#idm45641209090656-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#idm45641209087040-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#idm45641209082352-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#idm45641209077664-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#idm45641209072976-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#idm45641209068288-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#idm45641209062896-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#idm45641209057504-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#idm45641209052368-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">&amp;</span> <a class="link" href="basic_string.html#idm45641209046960-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">&amp;</span><span class="special">)</span><span class="special">;</span>
128  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
129    <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&amp;</span> <a class="link" href="basic_string.html#idm45641209042848-bb"><span class="keyword">operator</span><span class="special">+=</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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">&amp;</span> <a class="link" href="basic_string.html#idm45641209038432-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">&amp;</span> <a class="link" href="basic_string.html#idm45641209034784-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">&amp;</span> <a class="link" href="basic_string.html#idm45641209031136-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">&lt;</span> <span class="identifier">CharT</span> <span class="special">&gt;</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">&amp;</span> <a class="link" href="basic_string.html#idm45641209028320-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">&amp;</span><span class="special">)</span><span class="special">;</span>
134  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
135    <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&amp;</span> <a class="link" href="basic_string.html#idm45641209024208-bb"><span class="identifier">append</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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">&amp;</span> <a class="link" href="basic_string.html#idm45641209020208-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">&amp;</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">&amp;</span> <a class="link" href="basic_string.html#idm45641209012576-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">&amp;</span> <a class="link" href="basic_string.html#idm45641209006240-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">&amp;</span> <a class="link" href="basic_string.html#idm45641209001664-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">&lt;</span><span class="keyword">typename</span> InputIter<span class="special">&gt;</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&amp;</span> <a class="link" href="basic_string.html#idm45641208997296-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">&amp;</span> <a class="link" href="basic_string.html#idm45641208991216-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">&lt;</span> <span class="identifier">CharT</span> <span class="special">&gt;</span><span class="special">)</span><span class="special">;</span>
142  <span class="keyword">void</span> <a class="link" href="basic_string.html#idm45641208988368-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">&amp;</span> <a class="link" href="basic_string.html#idm45641208985824-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">&amp;</span><span class="special">)</span><span class="special">;</span>
144  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
145    <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&amp;</span> <a class="link" href="basic_string.html#idm45641208981712-bb"><span class="identifier">assign</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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">&amp;</span> <a class="link" href="basic_string.html#idm45641208976864-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">&amp;&amp;</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">&amp;</span> <a class="link" href="basic_string.html#idm45641208971632-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">&amp;</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">&amp;</span> <a class="link" href="basic_string.html#idm45641208964288-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">&amp;</span> <a class="link" href="basic_string.html#idm45641208958080-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">&amp;</span> <a class="link" href="basic_string.html#idm45641208953504-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">&amp;</span> <a class="link" href="basic_string.html#idm45641208949136-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">&lt;</span><span class="keyword">typename</span> InputIter<span class="special">&gt;</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&amp;</span> <a class="link" href="basic_string.html#idm45641208944896-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">&amp;</span> <a class="link" href="basic_string.html#idm45641208939680-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">&lt;</span> <span class="identifier">CharT</span> <span class="special">&gt;</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">&amp;</span> <a class="link" href="basic_string.html#idm45641208936832-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">&amp;</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">&amp;</span>
156  <a class="link" href="basic_string.html#idm45641208930272-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">&amp;</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">&amp;</span> <a class="link" href="basic_string.html#idm45641208921904-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">&amp;</span> <a class="link" href="basic_string.html#idm45641208914704-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">&amp;</span> <a class="link" href="basic_string.html#idm45641208908464-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">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
161    <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&amp;</span> <a class="link" href="basic_string.html#idm45641208902480-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">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</span><span class="special">)</span><span class="special">;</span>
162  <span class="identifier">iterator</span> <a class="link" href="basic_string.html#idm45641208897344-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#idm45641208892336-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">&lt;</span><span class="keyword">typename</span> InputIter<span class="special">&gt;</span>
165    <span class="identifier">iterator</span> <a class="link" href="basic_string.html#idm45641208886640-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#idm45641208880064-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">&lt;</span> <span class="identifier">CharT</span> <span class="special">&gt;</span><span class="special">)</span><span class="special">;</span>
167  <span class="keyword">void</span> <a class="link" href="basic_string.html#idm45641208875888-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">&amp;</span> <a class="link" href="basic_string.html#idm45641208872064-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#idm45641208865024-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#idm45641208860384-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#idm45641208854144-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">&amp;</span> <a class="link" href="basic_string.html#idm45641208850288-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">&amp;</span><span class="special">)</span><span class="special">;</span>
173  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
174    <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&amp;</span>
175    <a class="link" href="basic_string.html#idm45641208843040-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">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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">&amp;</span>
177  <a class="link" href="basic_string.html#idm45641208837216-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">&amp;</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">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
180    <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&amp;</span>
181    <a class="link" href="basic_string.html#idm45641208828144-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">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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">&amp;</span> <a class="link" href="basic_string.html#idm45641208818816-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">&amp;</span> <a class="link" href="basic_string.html#idm45641208810656-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">&amp;</span> <a class="link" href="basic_string.html#idm45641208803184-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">&amp;</span> <a class="link" href="basic_string.html#idm45641208795616-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">&amp;</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">&amp;</span>
188  <a class="link" href="basic_string.html#idm45641208788368-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">&amp;</span> <a class="link" href="basic_string.html#idm45641208780832-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">&amp;</span> <a class="link" href="basic_string.html#idm45641208773936-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">&lt;</span><span class="keyword">typename</span> InputIter<span class="special">&gt;</span>
192    <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&amp;</span>
193    <a class="link" href="basic_string.html#idm45641208766432-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">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
195    <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&amp;</span>
196    <a class="link" href="basic_string.html#idm45641208758080-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">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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">&amp;</span>
198  <a class="link" href="basic_string.html#idm45641208750544-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">&lt;</span> <span class="identifier">CharT</span> <span class="special">&gt;</span><span class="special">)</span><span class="special">;</span>
199  <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45641208744576-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#idm45641208737152-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">&amp;</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#idm45641208733024-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#idm45641208729104-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#idm45641208725184-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">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
205    <a class="link" href="basic_string.html#idm45641208722176-bb"><span class="keyword">operator</span> <span class="identifier">BasicStringView</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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">&lt;</span><span class="keyword">typename</span> BasicStringView<span class="special">&gt;</span> <span class="identifier">BasicStringView</span> <a class="link" href="basic_string.html#idm45641208718032-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#idm45641208713264-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">&amp;</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">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
209    <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45641208707072-bb"><span class="identifier">find</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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#idm45641208700160-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#idm45641208694224-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#idm45641208688688-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#idm45641208684032-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">&amp;</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">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
215    <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45641208677840-bb"><span class="identifier">rfind</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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#idm45641208670928-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#idm45641208665024-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#idm45641208659472-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#idm45641208654816-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">&amp;</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">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
221    <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45641208648640-bb"><span class="identifier">find_first_of</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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#idm45641208641744-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#idm45641208635824-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#idm45641208630288-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#idm45641208624720-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">&amp;</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">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
227    <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45641208618544-bb"><span class="identifier">find_last_of</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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#idm45641208611648-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#idm45641208605728-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#idm45641208600160-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#idm45641208595536-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">&amp;</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">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
233    <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45641208589360-bb"><span class="identifier">find_first_not_of</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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#idm45641208582464-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#idm45641208576512-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#idm45641208570960-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#idm45641208566320-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">&amp;</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">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
240    <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45641208560144-bb"><span class="identifier">find_last_not_of</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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#idm45641208553248-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#idm45641208547328-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#idm45641208541776-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#idm45641208537136-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#idm45641208530224-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">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
247  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
248    <span class="keyword">int</span> <a class="link" href="basic_string.html#idm45641208524928-bb"><span class="identifier">compare</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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#idm45641208520112-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">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
250  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
251    <span class="keyword">int</span> <a class="link" href="basic_string.html#idm45641208512704-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">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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#idm45641208505632-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">&amp;</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">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
255    <span class="keyword">int</span> <a class="link" href="basic_string.html#idm45641208496656-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">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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#idm45641208487232-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#idm45641208483584-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#idm45641208476912-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>
260
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&lt;&gt;, 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>
272<p>
273</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>
280</li>
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">&lt;</span><span class="identifier">CharT</span><span class="special">&gt;</span></pre>
283<p>The Character Traits type, which encapsulates basic character operations </p>
284</li>
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>
288</li>
289</ol></div>
290</div>
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>
294        public
295       construct/copy/destruct</h3>
296<div class="orderedlist"><ol class="orderedlist" type="1">
297<li class="listitem">
298<pre class="literallayout"><a name="idm45641208470752-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">&lt;</span> <span class="identifier">allocator_type</span> <span class="special">&gt;</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>
301</li>
302<li class="listitem">
303<pre class="literallayout"><span class="keyword">explicit</span> <a name="idm45641208467536-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">&amp;</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>
306</li>
307<li class="listitem">
308<pre class="literallayout"><a name="idm45641208463440-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">&amp;</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>
312</li>
313<li class="listitem">
314<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
315  <span class="keyword">explicit</span> <a name="idm45641208458560-bb"></a><span class="identifier">basic_string</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</span> sv<span class="special">,</span>
316                        <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&amp;</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>
319</li>
320<li class="listitem">
321<pre class="literallayout"><a name="idm45641208452544-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">&amp;&amp;</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>
325</li>
326<li class="listitem">
327<pre class="literallayout"><a name="idm45641208448304-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">&amp;</span> s<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&amp;</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>
331</li>
332<li class="listitem">
333<pre class="literallayout"><a name="idm45641208442752-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">&amp;&amp;</span> s<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&amp;</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>
337</li>
338<li class="listitem">
339<pre class="literallayout"><a name="idm45641208438016-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">&amp;</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>
341</li>
342<li class="listitem">
343<pre class="literallayout"><a name="idm45641208433120-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">&amp;</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">&amp;</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>
346</li>
347<li class="listitem">
348<pre class="literallayout"><a name="idm45641208427824-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>
350</li>
351<li class="listitem">
352<pre class="literallayout"><a name="idm45641208424352-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">&amp;</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>
354</li>
355<li class="listitem">
356<pre class="literallayout"><a name="idm45641208420192-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>
358</li>
359<li class="listitem">
360<pre class="literallayout"><a name="idm45641208417424-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">&amp;</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>
362</li>
363<li class="listitem">
364<pre class="literallayout"><a name="idm45641208413968-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>
366</li>
367<li class="listitem">
368<pre class="literallayout"><a name="idm45641208410528-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">&amp;</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>
370</li>
371<li class="listitem">
372<pre class="literallayout"><a name="idm45641208406400-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>
374</li>
375<li class="listitem">
376<pre class="literallayout"><a name="idm45641208402816-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">&amp;</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>
378</li>
379<li class="listitem">
380<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> InputIterator<span class="special">&gt;</span>
381  <a name="idm45641208398544-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>
383</li>
384<li class="listitem">
385<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> InputIterator<span class="special">&gt;</span>
386  <a name="idm45641208394272-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">&amp;</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>
388</li>
389<li class="listitem">
390<pre class="literallayout"><a name="idm45641208389312-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">&lt;</span> <span class="identifier">value_type</span> <span class="special">&gt;</span> il<span class="special">,</span>
391             <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&amp;</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>
393</li>
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">&amp;</span> <a name="idm45641208381904-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">&amp;</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>
399</li>
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">&amp;</span>
402<a name="idm45641208377200-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">&amp;&amp;</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-&gt;get&gt;allocator() == x.get_allocator(). Linear otherwise. </p>
406</li>
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">&amp;</span> <a name="idm45641208372064-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>
410</li>
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">&amp;</span> <a name="idm45641208369504-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>
414</li>
415<li class="listitem">
416<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
417  <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&amp;</span> <a name="idm45641208366960-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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>
419</li>
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">&amp;</span> <a name="idm45641208363248-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">&lt;</span> <span class="identifier">CharT</span> <span class="special">&gt;</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>
423</li>
424<li class="listitem">
425<pre class="literallayout"><a name="idm45641208385616-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>
429</li>
430</ol></div>
431</div>
432<div class="refsect2">
433<a name="id-1.3.10.14.39.3.4.11"></a><h3>
434<a name="idm45641209188944-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="idm45641209188384-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>
441</li>
442<li class="listitem">
443<pre class="literallayout"><span class="identifier">stored_allocator_type</span> <span class="special">&amp;</span> <a name="idm45641209184528-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>
448</li>
449<li class="listitem">
450<pre class="literallayout"><span class="keyword">const</span> <span class="identifier">stored_allocator_type</span> <span class="special">&amp;</span> <a name="idm45641209179840-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>
455</li>
456<li class="listitem">
457<pre class="literallayout"><span class="identifier">iterator</span> <a name="idm45641209175136-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>
461</li>
462<li class="listitem">
463<pre class="literallayout"><span class="identifier">const_iterator</span> <a name="idm45641209171296-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>
467</li>
468<li class="listitem">
469<pre class="literallayout"><span class="identifier">iterator</span> <a name="idm45641209167440-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>
473</li>
474<li class="listitem">
475<pre class="literallayout"><span class="identifier">const_iterator</span> <a name="idm45641209163616-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>
479</li>
480<li class="listitem">
481<pre class="literallayout"><span class="identifier">reverse_iterator</span> <a name="idm45641209159792-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>
485</li>
486<li class="listitem">
487<pre class="literallayout"><span class="identifier">const_reverse_iterator</span> <a name="idm45641209155936-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>
491</li>
492<li class="listitem">
493<pre class="literallayout"><span class="identifier">reverse_iterator</span> <a name="idm45641209152080-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>
497</li>
498<li class="listitem">
499<pre class="literallayout"><span class="identifier">const_reverse_iterator</span> <a name="idm45641209148224-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>
503</li>
504<li class="listitem">
505<pre class="literallayout"><span class="identifier">const_iterator</span> <a name="idm45641209144368-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>
509</li>
510<li class="listitem">
511<pre class="literallayout"><span class="identifier">const_iterator</span> <a name="idm45641209140512-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>
515</li>
516<li class="listitem">
517<pre class="literallayout"><span class="identifier">const_reverse_iterator</span> <a name="idm45641209136688-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>
521</li>
522<li class="listitem">
523<pre class="literallayout"><span class="identifier">const_reverse_iterator</span> <a name="idm45641209132832-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>
527</li>
528<li class="listitem">
529<pre class="literallayout"><span class="keyword">bool</span> <a name="idm45641209128976-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>
533</li>
534<li class="listitem">
535<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45641209125152-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>
539</li>
540<li class="listitem">
541<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45641209121312-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>
545</li>
546<li class="listitem">
547<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45641209117472-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>
551</li>
552<li class="listitem">
553<pre class="literallayout"><span class="keyword">void</span> <a name="idm45641209113648-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>
557</li>
558<li class="listitem">
559<pre class="literallayout"><span class="keyword">void</span> <a name="idm45641209108592-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>
563</li>
564<li class="listitem">
565<pre class="literallayout"><span class="keyword">void</span> <a name="idm45641209104224-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>
570</li>
571<li class="listitem">
572<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45641209098208-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>
576</li>
577<li class="listitem">
578<pre class="literallayout"><span class="keyword">void</span> <a name="idm45641209094320-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>
581</li>
582<li class="listitem">
583<pre class="literallayout"><span class="keyword">void</span> <a name="idm45641209090656-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>
587</li>
588<li class="listitem">
589<pre class="literallayout"><span class="identifier">reference</span> <a name="idm45641209087040-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>
594</li>
595<li class="listitem">
596<pre class="literallayout"><span class="identifier">const_reference</span> <a name="idm45641209082352-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>
601</li>
602<li class="listitem">
603<pre class="literallayout"><span class="identifier">reference</span> <a name="idm45641209077664-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>
608</li>
609<li class="listitem">
610<pre class="literallayout"><span class="identifier">const_reference</span> <a name="idm45641209072976-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>
615</li>
616<li class="listitem">
617<pre class="literallayout"><span class="identifier">reference</span> <a name="idm45641209068288-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() &gt; 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>
622</li>
623<li class="listitem">
624<pre class="literallayout"><span class="identifier">const_reference</span> <a name="idm45641209062896-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() &gt; 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>
629</li>
630<li class="listitem">
631<pre class="literallayout"><span class="identifier">reference</span> <a name="idm45641209057504-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() &gt; 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 &gt;= size()</p>
635<p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
636</li>
637<li class="listitem">
638<pre class="literallayout"><span class="identifier">const_reference</span> <a name="idm45641209052368-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() &gt; 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 &gt;= size()</p>
642<p><span class="bold"><strong>Complexity</strong></span>: Constant. </p>
643</li>
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">&amp;</span> <a name="idm45641209046960-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">&amp;</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>
648</li>
649<li class="listitem">
650<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
651  <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&amp;</span> <a name="idm45641209042848-bb"></a><span class="keyword">operator</span><span class="special">+=</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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>
653</li>
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">&amp;</span> <a name="idm45641209038432-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>
658</li>
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">&amp;</span> <a name="idm45641209034784-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>
663</li>
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">&amp;</span> <a name="idm45641209031136-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">&lt;</span> <span class="identifier">CharT</span> <span class="special">&gt;</span> il<span class="special">)</span><span class="special">;</span></pre>
666<p><span class="bold"><strong>Effects</strong></span>: Returns append(il) </p>
667</li>
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">&amp;</span> <a name="idm45641209028320-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">&amp;</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>
672</li>
673<li class="listitem">
674<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
675  <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&amp;</span> <a name="idm45641209024208-bb"></a><span class="identifier">append</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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>
677</li>
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">&amp;</span>
680<a name="idm45641209020208-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">&amp;</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 &lt;= 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 &gt; str.size()</p>
684<p><span class="bold"><strong>Returns</strong></span>: *this </p>
685</li>
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">&amp;</span> <a name="idm45641209012576-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 &gt; max_size().</p>
691<p><span class="bold"><strong>Returns</strong></span>: *this </p>
692</li>
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">&amp;</span> <a name="idm45641209006240-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>
698</li>
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">&amp;</span> <a name="idm45641209001664-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>
703</li>
704<li class="listitem">
705<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> InputIter<span class="special">&gt;</span>
706  <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&amp;</span> <a name="idm45641208997296-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>
710</li>
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">&amp;</span> <a name="idm45641208991216-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">&lt;</span> <span class="identifier">CharT</span> <span class="special">&gt;</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>
714</li>
715<li class="listitem">
716<pre class="literallayout"><span class="keyword">void</span> <a name="idm45641208988368-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&lt;size_type&gt;(1), c). </p>
718</li>
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">&amp;</span> <a name="idm45641208985824-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">&amp;</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>
723</li>
724<li class="listitem">
725<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
726  <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&amp;</span> <a name="idm45641208981712-bb"></a><span class="identifier">assign</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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>
729</li>
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">&amp;</span> <a name="idm45641208976864-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">&amp;&amp;</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>
735</li>
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">&amp;</span> <a name="idm45641208971632-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">&amp;</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 &lt;= 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 &gt; str.size().</p>
741<p><span class="bold"><strong>Returns</strong></span>: *this </p>
742</li>
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">&amp;</span> <a name="idm45641208964288-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 &gt; max_size().</p>
748<p><span class="bold"><strong>Returns</strong></span>: *this </p>
749</li>
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">&amp;</span> <a name="idm45641208958080-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>
755</li>
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">&amp;</span> <a name="idm45641208953504-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>
760</li>
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">&amp;</span> <a name="idm45641208949136-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>
764</li>
765<li class="listitem">
766<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> InputIter<span class="special">&gt;</span>
767  <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&amp;</span> <a name="idm45641208944896-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>
770</li>
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">&amp;</span> <a name="idm45641208939680-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">&lt;</span> <span class="identifier">CharT</span> <span class="special">&gt;</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>
774</li>
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">&amp;</span> <a name="idm45641208936832-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">&amp;</span> s<span class="special">)</span><span class="special">;</span></pre>
777<p><span class="bold"><strong>Requires</strong></span>: pos &lt;= 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 &gt; size().</p>
780<p><span class="bold"><strong>Returns</strong></span>: *this </p>
781</li>
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">&amp;</span>
784<a name="idm45641208930272-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">&amp;</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 &lt;= size() and pos2 &lt;= 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 &gt; size() or pos2 &gt; str.size().</p>
789<p><span class="bold"><strong>Returns</strong></span>: *this </p>
790</li>
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">&amp;</span> <a name="idm45641208921904-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 &lt;= 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 &gt; size() or length_error if size() + n &gt; max_size().</p>
796<p><span class="bold"><strong>Returns</strong></span>: *this </p>
797</li>
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">&amp;</span> <a name="idm45641208914704-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 &lt;= 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 &gt; size() length_error if size() &gt; max_size() - Traits::length(s)</p>
803<p><span class="bold"><strong>Returns</strong></span>: *this </p>
804</li>
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">&amp;</span> <a name="idm45641208908464-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 &gt; size() length_error if size() &gt; max_size() - n</p>
809<p><span class="bold"><strong>Returns</strong></span>: *this </p>
810</li>
811<li class="listitem">
812<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
813  <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&amp;</span> <a name="idm45641208902480-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">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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>
815</li>
816<li class="listitem">
817<pre class="literallayout"><span class="identifier">iterator</span> <a name="idm45641208897344-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>
821</li>
822<li class="listitem">
823<pre class="literallayout"><span class="identifier">iterator</span> <a name="idm45641208892336-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>
827</li>
828<li class="listitem">
829<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> InputIter<span class="special">&gt;</span>
830  <span class="identifier">iterator</span> <a name="idm45641208886640-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>
834</li>
835<li class="listitem">
836<pre class="literallayout"><span class="identifier">iterator</span> <a name="idm45641208880064-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">&lt;</span> <span class="identifier">CharT</span> <span class="special">&gt;</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>
839</li>
840<li class="listitem">
841<pre class="literallayout"><span class="keyword">void</span> <a name="idm45641208875888-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>
845</li>
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">&amp;</span> <a name="idm45641208872064-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 &lt;= 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 &gt; size().</p>
851<p><span class="bold"><strong>Returns</strong></span>: *this </p>
852</li>
853<li class="listitem">
854<pre class="literallayout"><span class="identifier">iterator</span> <a name="idm45641208865024-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>
858</li>
859<li class="listitem">
860<pre class="literallayout"><span class="identifier">iterator</span> <a name="idm45641208860384-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>
865</li>
866<li class="listitem">
867<pre class="literallayout"><span class="keyword">void</span> <a name="idm45641208854144-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>
871</li>
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">&amp;</span> <a name="idm45641208850288-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">&amp;</span> str<span class="special">)</span><span class="special">;</span></pre>
874<p><span class="bold"><strong>Requires</strong></span>: pos1 &lt;= 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 &gt; size().</p>
877<p><span class="bold"><strong>Returns</strong></span>: *this </p>
878</li>
879<li class="listitem">
880<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
881  <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&amp;</span>
882  <a name="idm45641208843040-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">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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>
884</li>
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">&amp;</span>
887<a name="idm45641208837216-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">&amp;</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 &lt;= size() and pos2 &lt;= 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 &gt; size() or pos2 &gt; str.size().</p>
892<p><span class="bold"><strong>Returns</strong></span>: *this </p>
893</li>
894<li class="listitem">
895<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
896  <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&amp;</span>
897  <a name="idm45641208828144-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">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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 &gt; size() or pos2 &gt; 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>
902</li>
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">&amp;</span>
905<a name="idm45641208818816-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 &lt;= 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 &gt;= 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 &gt; 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>
910</li>
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">&amp;</span> <a name="idm45641208810656-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 &lt;= 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 &gt;= 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 &gt; 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>
917</li>
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">&amp;</span> <a name="idm45641208803184-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 &lt;= 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 &gt; 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>
924</li>
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">&amp;</span>
927<a name="idm45641208795616-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">&amp;</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>
932</li>
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">&amp;</span>
935<a name="idm45641208788368-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>
940</li>
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">&amp;</span> <a name="idm45641208780832-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>
947</li>
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">&amp;</span>
950<a name="idm45641208773936-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>
955</li>
956<li class="listitem">
957<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> InputIter<span class="special">&gt;</span>
958  <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&amp;</span>
959  <a name="idm45641208766432-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>
964</li>
965<li class="listitem">
966<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
967  <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&amp;</span>
968  <a name="idm45641208758080-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">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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>
973</li>
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">&amp;</span>
976<a name="idm45641208750544-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">&lt;</span> <span class="identifier">CharT</span> <span class="special">&gt;</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>
981</li>
982<li class="listitem">
983<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45641208744576-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 &lt;= 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 &gt; size().</p>
987<p><span class="bold"><strong>Returns</strong></span>: rlen </p>
988</li>
989<li class="listitem">
990<pre class="literallayout"><span class="keyword">void</span> <a name="idm45641208737152-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">&amp;</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>
993</li>
994<li class="listitem">
995<pre class="literallayout"><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> <a name="idm45641208733024-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 == &amp;operator[](i) for each i in [0,size()].</p>
998<p><span class="bold"><strong>Complexity</strong></span>: constant time. </p>
999</li>
1000<li class="listitem">
1001<pre class="literallayout"><span class="keyword">const</span> <span class="identifier">CharT</span> <span class="special">*</span> <a name="idm45641208729104-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 == &amp;operator[](i) for each i in [0,size()].</p>
1004<p><span class="bold"><strong>Complexity</strong></span>: constant time. </p>
1005</li>
1006<li class="listitem">
1007<pre class="literallayout"><span class="identifier">CharT</span> <span class="special">*</span> <a name="idm45641208725184-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 == &amp;operator[](i) for each i in [0,size()].</p>
1009<p><span class="bold"><strong>Complexity</strong></span>: constant time. </p>
1010</li>
1011<li class="listitem">
1012<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
1013  <a name="idm45641208722176-bb"></a><span class="keyword">operator</span> <span class="identifier">BasicStringView</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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>
1016</li>
1017<li class="listitem">
1018<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> BasicStringView<span class="special">&gt;</span> <span class="identifier">BasicStringView</span> <a name="idm45641208718032-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>
1022</li>
1023<li class="listitem">
1024<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45641208713264-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">&amp;</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 &lt;= xpos and xpos + str.size() &lt;= 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>
1028</li>
1029<li class="listitem">
1030<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
1031  <span class="identifier">size_type</span> <a name="idm45641208707072-bb"></a><span class="identifier">find</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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 &lt;= xpos and xpos + sv.size() &lt;= 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>
1035</li>
1036<li class="listitem">
1037<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45641208700160-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&lt;CharT,traits,allocator_type&gt;(s,n),pos). </p>
1041</li>
1042<li class="listitem">
1043<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45641208694224-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>
1047</li>
1048<li class="listitem">
1049<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45641208688688-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&lt;CharT,traits,allocator_type&gt;(1,c), pos). </p>
1052</li>
1053<li class="listitem">
1054<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45641208684032-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">&amp;</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 &lt;= pos and xpos + str.size() &lt;= 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>
1058</li>
1059<li class="listitem">
1060<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
1061  <span class="identifier">size_type</span> <a name="idm45641208677840-bb"></a><span class="identifier">rfind</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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 &lt;= pos and xpos + sv.size() &lt;= 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>
1065</li>
1066<li class="listitem">
1067<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45641208670928-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>
1071</li>
1072<li class="listitem">
1073<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45641208665024-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 &lt;= 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>
1077</li>
1078<li class="listitem">
1079<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45641208659472-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&lt;CharT,traits,allocator_type&gt;(1,c),pos). </p>
1082</li>
1083<li class="listitem">
1084<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45641208654816-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">&amp;</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 &lt;= xpos and xpos &lt; 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>
1088</li>
1089<li class="listitem">
1090<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
1091  <span class="identifier">size_type</span> <a name="idm45641208648640-bb"></a><span class="identifier">find_first_of</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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 &lt;= xpos and xpos &lt; 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>
1096</li>
1097<li class="listitem">
1098<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45641208641744-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>
1102</li>
1103<li class="listitem">
1104<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45641208635824-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>
1108</li>
1109<li class="listitem">
1110<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45641208630288-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&lt;CharT,traits,allocator_type&gt;(1,c), pos). </p>
1114</li>
1115<li class="listitem">
1116<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45641208624720-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">&amp;</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 &lt;= pos and xpos &lt; 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>
1120</li>
1121<li class="listitem">
1122<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
1123  <span class="identifier">size_type</span> <a name="idm45641208618544-bb"></a><span class="identifier">find_last_of</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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 &lt;= pos and xpos &lt; 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>
1128</li>
1129<li class="listitem">
1130<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45641208611648-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>
1134</li>
1135<li class="listitem">
1136<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45641208605728-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&lt;CharT,traits,allocator_type&gt;(1,c),pos). </p>
1140</li>
1141<li class="listitem">
1142<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45641208600160-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>
1145</li>
1146<li class="listitem">
1147<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45641208595536-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">&amp;</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 &lt;= xpos and xpos &lt; 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>
1151</li>
1152<li class="listitem">
1153<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
1154  <span class="identifier">size_type</span> <a name="idm45641208589360-bb"></a><span class="identifier">find_first_not_of</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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 &lt;= xpos and xpos &lt; 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>
1159</li>
1160<li class="listitem">
1161<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45641208582464-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>
1165</li>
1166<li class="listitem">
1167<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45641208576512-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>
1171</li>
1172<li class="listitem">
1173<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45641208570960-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>
1176</li>
1177<li class="listitem">
1178<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45641208566320-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">&amp;</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 &lt;= pos and xpos &lt; 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>
1182</li>
1183<li class="listitem">
1184<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
1185  <span class="identifier">size_type</span> <a name="idm45641208560144-bb"></a><span class="identifier">find_last_not_of</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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 &lt;= pos and xpos &lt; 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>
1190</li>
1191<li class="listitem">
1192<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45641208553248-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>
1196</li>
1197<li class="listitem">
1198<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45641208547328-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>
1202</li>
1203<li class="listitem">
1204<pre class="literallayout"><span class="identifier">size_type</span> <a name="idm45641208541776-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>
1207</li>
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="idm45641208537136-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 &lt;= 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 &gt; size().</p>
1213<p><span class="bold"><strong>Returns</strong></span>: basic_string&lt;CharT,traits,allocator_type&gt;(data()+pos,rlen). </p>
1214</li>
1215<li class="listitem">
1216<pre class="literallayout"><span class="keyword">int</span> <a name="idm45641208530224-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">&amp;</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 &lt; 0 if size() &lt; str.size(), a 0 value if size() == str.size(), and value &gt; 0 if size() &gt; str.size() </p>
1220</li>
1221<li class="listitem">
1222<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
1223  <span class="keyword">int</span> <a name="idm45641208524928-bb"></a><span class="identifier">compare</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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>
1226</li>
1227<li class="listitem">
1228<pre class="literallayout"><span class="keyword">int</span> <a name="idm45641208520112-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">&amp;</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 &lt;= 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-&gt;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 &gt; size()</p>
1232<p><span class="bold"><strong>Returns</strong></span>:basic_string(*this,pos1,n1).compare(str). </p>
1233</li>
1234<li class="listitem">
1235<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
1236  <span class="keyword">int</span> <a name="idm45641208512704-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">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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 &lt;= size()</p>
1239<p><span class="bold"><strong>Throws</strong></span>: out_of_range if pos1 &gt; size()</p>
1240<p><span class="bold"><strong>Returns</strong></span>:basic_string(*this,pos1,n1).compare(sv). </p>
1241</li>
1242<li class="listitem">
1243<pre class="literallayout"><span class="keyword">int</span> <a name="idm45641208505632-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">&amp;</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 &lt;= size() and pos2 &lt;= 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 &gt; size() or pos2 &gt; str.size()</p>
1248<p><span class="bold"><strong>Returns</strong></span>: basic_string(*this, pos1, n1).compare(basic_string(str, pos2, n2)). </p>
1249</li>
1250<li class="listitem">
1251<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">&gt;</span> <span class="keyword">class</span> BasicStringView<span class="special">&gt;</span>
1252  <span class="keyword">int</span> <a name="idm45641208496656-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">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">&gt;</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 &lt;= size() and pos2 &lt;= 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 &gt; size() or pos2 &gt; sv.size()</p>
1258<p><span class="bold"><strong>Returns</strong></span>: basic_string(*this, pos1, n1).compare(BasicStringView&lt;CharT, Traits&gt;(sv, pos2, n2)). </p>
1259</li>
1260<li class="listitem">
1261<pre class="literallayout"><span class="keyword">int</span> <a name="idm45641208487232-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>
1264</li>
1265<li class="listitem">
1266<pre class="literallayout"><span class="keyword">int</span> <a name="idm45641208483584-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 &gt; 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 &gt; size()</p>
1269<p><span class="bold"><strong>Returns</strong></span>: basic_string(*this, pos, n1).compare(basic_string(s, n2)). </p>
1270</li>
1271<li class="listitem">
1272<pre class="literallayout"><span class="keyword">int</span> <a name="idm45641208476912-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 &gt; 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 &gt; size()</p>
1275<p><span class="bold"><strong>Returns</strong></span>: basic_string(*this, pos, n1).compare(basic_string(s, n2)). </p>
1276</li>
1277</ol></div>
1278</div>
1279</div>
1280</div>
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>)
1286      </p>
1287</div></td>
1288</tr></table>
1289<hr>
1290<div class="spirit-nav">
1291<a accesskey="p" href="swap_idm45641209231392.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>
1292</div>
1293</body>
1294</html>
1295