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 <boost/container/string.hpp>"> 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: <<a class="link" href="../../boost_container_header_reference.html#header.boost.container.string_hpp" title="Header <boost/container/string.hpp>">boost/container/string.hpp</a>> 34 35</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> CharT<span class="special">,</span> <span class="keyword">typename</span> Traits <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">char_traits</span><span class="special"><</span><span class="identifier">CharT</span><span class="special">></span><span class="special">,</span> 36 <span class="keyword">typename</span> Allocator <span class="special">=</span> <span class="keyword">void</span><span class="special">></span> 37<span class="keyword">class</span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">:</span> 38 <span class="keyword">private</span> <span class="identifier">dtl</span><span class="special">::</span><span class="identifier">basic_string_base</span><span class="special"><</span> <span class="identifier">real_allocator</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <span class="special">></span> 39<span class="special">{</span> 40<span class="keyword">public</span><span class="special">:</span> 41 <span class="comment">// types</span> 42 <span class="keyword">typedef</span> <span class="identifier">Traits</span> <a name="boost.container.basic_string.traits_type"></a><span class="identifier">traits_type</span><span class="special">;</span> 43 <span class="keyword">typedef</span> <span class="identifier">CharT</span> <a name="boost.container.basic_string.value_type"></a><span class="identifier">value_type</span><span class="special">;</span> 44 <span class="keyword">typedef</span> <span class="identifier">real_allocator</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Allocator</span> <span class="special">></span><span class="special">::</span><span class="identifier">type</span> <a name="boost.container.basic_string.allocator_type"></a><span class="identifier">allocator_type</span><span class="special">;</span> 45 <span class="keyword">typedef</span> <span class="special">::</span><a class="link" href="allocator_traits.html" title="Struct template allocator_traits">boost::container::allocator_traits</a><span class="special"><</span> <span class="identifier">allocator_type</span> <span class="special">></span><span class="special">::</span><span class="identifier">pointer</span> <a name="boost.container.basic_string.pointer"></a><span class="identifier">pointer</span><span class="special">;</span> 46 <span class="keyword">typedef</span> <span class="special">::</span><a class="link" href="allocator_traits.html" title="Struct template allocator_traits">boost::container::allocator_traits</a><span class="special"><</span> <span class="identifier">allocator_type</span> <span class="special">></span><span class="special">::</span><span class="identifier">const_pointer</span> <a name="boost.container.basic_string.const_pointer"></a><span class="identifier">const_pointer</span><span class="special">;</span> 47 <span class="keyword">typedef</span> <span class="special">::</span><a class="link" href="allocator_traits.html" title="Struct template allocator_traits">boost::container::allocator_traits</a><span class="special"><</span> <span class="identifier">allocator_type</span> <span class="special">></span><span class="special">::</span><span class="identifier">reference</span> <a name="boost.container.basic_string.reference"></a><span class="identifier">reference</span><span class="special">;</span> 48 <span class="keyword">typedef</span> <span class="special">::</span><a class="link" href="allocator_traits.html" title="Struct template allocator_traits">boost::container::allocator_traits</a><span class="special"><</span> <span class="identifier">allocator_type</span> <span class="special">></span><span class="special">::</span><span class="identifier">const_reference</span> <a name="boost.container.basic_string.const_reference"></a><span class="identifier">const_reference</span><span class="special">;</span> 49 <span class="keyword">typedef</span> <span class="special">::</span><a class="link" href="allocator_traits.html" title="Struct template allocator_traits">boost::container::allocator_traits</a><span class="special"><</span> <span class="identifier">allocator_type</span> <span class="special">></span><span class="special">::</span><span class="identifier">size_type</span> <a name="boost.container.basic_string.size_type"></a><span class="identifier">size_type</span><span class="special">;</span> 50 <span class="keyword">typedef</span> <span class="special">::</span><a class="link" href="allocator_traits.html" title="Struct template allocator_traits">boost::container::allocator_traits</a><span class="special"><</span> <span class="identifier">allocator_type</span> <span class="special">></span><span class="special">::</span><span class="identifier">difference_type</span> <a name="boost.container.basic_string.difference_type"></a><span class="identifier">difference_type</span><span class="special">;</span> 51 <span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <a name="boost.container.basic_string.stored_allocator_type"></a><span class="identifier">stored_allocator_type</span><span class="special">;</span> 52 <span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <a name="boost.container.basic_string.iterator"></a><span class="identifier">iterator</span><span class="special">;</span> 53 <span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <a name="boost.container.basic_string.const_iterator"></a><span class="identifier">const_iterator</span><span class="special">;</span> 54 <span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <a name="boost.container.basic_string.reverse_iterator"></a><span class="identifier">reverse_iterator</span><span class="special">;</span> 55 <span class="keyword">typedef</span> <span class="identifier">implementation_defined</span> <a name="boost.container.basic_string.const_reverse_iterator"></a><span class="identifier">const_reverse_iterator</span><span class="special">;</span> 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"><</span> <span class="identifier">allocator_type</span> <span class="special">></span><span class="special">::</span><span class="identifier">value</span><span class="special">)</span><span class="special">)</span><span class="special">;</span> 59 <span class="keyword">explicit</span> <a class="link" href="basic_string.html#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">&</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">&</span><span class="special">)</span><span class="special">;</span> 61 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 62 <span class="keyword">explicit</span> <a class="link" href="basic_string.html#idm45641208458560-bb"><span class="identifier">basic_string</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">,</span> 63 <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span> <span class="special">=</span> <span class="identifier">allocator_type</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span> 64 <a class="link" href="basic_string.html#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">&&</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">&</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> 66 <a class="link" href="basic_string.html#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">&&</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> 67 <a class="link" href="basic_string.html#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">&</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">&</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> 69 <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> 70 <a class="link" href="basic_string.html#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">&</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">&</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">&</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">&</span><span class="special">)</span><span class="special">;</span> 78 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> InputIterator<span class="special">></span> <a class="link" href="basic_string.html#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"><</span><span class="keyword">typename</span> InputIterator<span class="special">></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">&</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"><</span> <span class="identifier">value_type</span> <span class="special">></span><span class="special">,</span> 82 <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span> <span class="special">=</span> <span class="identifier">allocator_type</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span> 83 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#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">&</span><span class="special">)</span><span class="special">;</span> 84 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> 85 <a class="link" href="basic_string.html#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">&&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">(</span><span class="identifier">allocator_traits_type</span><span class="special">::</span><span class="identifier">propagate_on_container_move_assignment</span><span class="special">::</span><span class="identifier">value</span><span class="special">||</span><span class="identifier">allocator_traits_type</span><span class="special">::</span><span class="identifier">is_always_equal</span><span class="special">::</span><span class="identifier">value</span><span class="special">)</span><span class="special">)</span><span class="special">;</span> 86 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#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">&</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"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 89 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45641208366960-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">)</span><span class="special">;</span> 90 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#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"><</span> <span class="identifier">CharT</span> <span class="special">></span><span class="special">)</span><span class="special">;</span> 91 <a class="link" href="basic_string.html#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">&</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">&</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">&</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">&</span><span class="special">)</span><span class="special">;</span> 128 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 129 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45641209042848-bb"><span class="keyword">operator</span><span class="special">+=</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">)</span><span class="special">;</span> 130 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#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">&</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">&</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"><</span> <span class="identifier">CharT</span> <span class="special">></span><span class="special">)</span><span class="special">;</span> 133 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#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">&</span><span class="special">)</span><span class="special">;</span> 134 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 135 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45641209024208-bb"><span class="identifier">append</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">)</span><span class="special">;</span> 136 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#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">&</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span><span class="special">;</span> 137 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#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">&</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">&</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"><</span><span class="keyword">typename</span> InputIter<span class="special">></span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#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">&</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"><</span> <span class="identifier">CharT</span> <span class="special">></span><span class="special">)</span><span class="special">;</span> 142 <span class="keyword">void</span> <a class="link" href="basic_string.html#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">&</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">&</span><span class="special">)</span><span class="special">;</span> 144 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 145 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#idm45641208981712-bb"><span class="identifier">assign</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">)</span><span class="special">;</span> 146 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#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">&&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span> 147 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#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">&</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">)</span><span class="special">;</span> 148 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#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">&</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">&</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">&</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"><</span><span class="keyword">typename</span> InputIter<span class="special">></span> <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#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">&</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"><</span> <span class="identifier">CharT</span> <span class="special">></span><span class="special">)</span><span class="special">;</span> 154 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#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">&</span><span class="special">)</span><span class="special">;</span> 155 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> 156 <a class="link" href="basic_string.html#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">&</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span><span class="special">;</span> 157 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#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">&</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">&</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"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 161 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#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"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">)</span><span class="special">;</span> 162 <span class="identifier">iterator</span> <a class="link" href="basic_string.html#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"><</span><span class="keyword">typename</span> InputIter<span class="special">></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"><</span> <span class="identifier">CharT</span> <span class="special">></span><span class="special">)</span><span class="special">;</span> 167 <span class="keyword">void</span> <a class="link" href="basic_string.html#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">&</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">&</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">&</span><span class="special">)</span><span class="special">;</span> 173 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 174 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> 175 <a class="link" href="basic_string.html#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"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">)</span><span class="special">;</span> 176 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> 177 <a class="link" href="basic_string.html#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">&</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> 178 <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span><span class="special">;</span> 179 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 180 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> 181 <a class="link" href="basic_string.html#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"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> 182 <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span><span class="special">;</span> 183 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a class="link" href="basic_string.html#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">&</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">&</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">&</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">&</span><span class="special">)</span><span class="special">;</span> 187 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> 188 <a class="link" href="basic_string.html#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">&</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">&</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"><</span><span class="keyword">typename</span> InputIter<span class="special">></span> 192 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> 193 <a class="link" href="basic_string.html#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"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 195 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> 196 <a class="link" href="basic_string.html#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"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">)</span><span class="special">;</span> 197 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> 198 <a class="link" href="basic_string.html#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"><</span> <span class="identifier">CharT</span> <span class="special">></span><span class="special">)</span><span class="special">;</span> 199 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#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">&</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"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 205 <a class="link" href="basic_string.html#idm45641208722176-bb"><span class="keyword">operator</span> <span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span> 206 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> BasicStringView<span class="special">></span> <span class="identifier">BasicStringView</span> <a class="link" href="basic_string.html#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">&</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> 208 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 209 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45641208707072-bb"><span class="identifier">find</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> 210 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#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">&</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> 214 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 215 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45641208677840-bb"><span class="identifier">rfind</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> 216 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#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">&</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> 220 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 221 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45641208648640-bb"><span class="identifier">find_first_of</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> 222 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#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">&</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> 226 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 227 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45641208618544-bb"><span class="identifier">find_last_of</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> 228 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#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">&</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> 232 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 233 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45641208589360-bb"><span class="identifier">find_first_not_of</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">,</span> 234 <span class="identifier">size_type</span> <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> 235 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#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">&</span><span class="special">,</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> 239 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 240 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#idm45641208560144-bb"><span class="identifier">find_last_not_of</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">,</span> 241 <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> 242 <span class="identifier">size_type</span> <a class="link" href="basic_string.html#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">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> 247 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 248 <span class="keyword">int</span> <a class="link" href="basic_string.html#idm45641208524928-bb"><span class="identifier">compare</span></a><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> 249 <span class="keyword">int</span> <a class="link" href="basic_string.html#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">&</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> 250 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 251 <span class="keyword">int</span> <a class="link" href="basic_string.html#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"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> 252 <span class="keyword">int</span> <a class="link" href="basic_string.html#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">&</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">,</span> 253 <span class="identifier">size_type</span> <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> 254 <span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 255 <span class="keyword">int</span> <a class="link" href="basic_string.html#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"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">,</span> 256 <span class="identifier">size_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> 257 <span class="keyword">int</span> <a class="link" href="basic_string.html#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<>, 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"><</span><span class="identifier">CharT</span><span class="special">></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"><</span> <span class="identifier">allocator_type</span> <span class="special">></span><span class="special">::</span><span class="identifier">value</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre> 299<p><span class="bold"><strong>Effects</strong></span>: Default constructs a <code class="computeroutput"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a></code>.</p> 300<p><span class="bold"><strong>Throws</strong></span>: If allocator_type's default constructor throws. </p> 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">&</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">&</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"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 315 <span class="keyword">explicit</span> <a name="idm45641208458560-bb"></a><span class="identifier">basic_string</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">,</span> 316 <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span> a <span class="special">=</span> <span class="identifier">allocator_type</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre> 317<p><span class="bold"><strong>Effects</strong></span>: Same as <code class="computeroutput"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a></code>(sv.data(), sv.size(), a).</p> 318<p><span class="bold"><strong>Throws</strong></span>: If allocator_type's default constructor or allocation throws. </p> 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">&&</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">&</span> s<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span> a<span class="special">)</span><span class="special">;</span></pre> 328<p><span class="bold"><strong>Effects</strong></span>: Copy constructs a <code class="computeroutput"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a></code> using the specified allocator.</p> 329<p><span class="bold"><strong>Postcondition</strong></span>: x == *this.</p> 330<p><span class="bold"><strong>Throws</strong></span>: If allocation throws. </p> 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">&&</span> s<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span> a<span class="special">)</span><span class="special">;</span></pre> 334<p><span class="bold"><strong>Effects</strong></span>: Move constructor using the specified allocator. Moves s's resources to *this.</p> 335<p><span class="bold"><strong>Throws</strong></span>: If allocation throws.</p> 336<p><span class="bold"><strong>Complexity</strong></span>: Constant if a == s.get_allocator(), linear otherwise. </p> 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">&</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">&</span> s<span class="special">,</span> <span class="identifier">size_type</span> pos<span class="special">,</span> <span class="identifier">size_type</span> n<span class="special">,</span> 344 <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span> a<span class="special">)</span><span class="special">;</span></pre> 345<p><span class="bold"><strong>Effects</strong></span>: Constructs a <code class="computeroutput"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a></code> taking the allocator as parameter, and is initialized by a specific number of characters of the s string. </p> 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">&</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">&</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">&</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">&</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"><</span><span class="keyword">typename</span> InputIterator<span class="special">></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"><</span><span class="keyword">typename</span> InputIterator<span class="special">></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">&</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"><</span> <span class="identifier">value_type</span> <span class="special">></span> il<span class="special">,</span> 391 <span class="keyword">const</span> <span class="identifier">allocator_type</span> <span class="special">&</span> a <span class="special">=</span> <span class="identifier">allocator_type</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre> 392<p><span class="bold"><strong>Effects</strong></span>: Same as <code class="computeroutput"><a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a></code>(il.begin(), il.end(), a). </p> 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">&</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">&</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">&</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">&&</span> x<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">(</span><span class="identifier">allocator_traits_type</span><span class="special">::</span><span class="identifier">propagate_on_container_move_assignment</span><span class="special">::</span><span class="identifier">value</span><span class="special">||</span><span class="identifier">allocator_traits_type</span><span class="special">::</span><span class="identifier">is_always_equal</span><span class="special">::</span><span class="identifier">value</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre> 403<p><span class="bold"><strong>Effects</strong></span>: Move constructor. Moves x's resources to *this.</p> 404<p><span class="bold"><strong>Throws</strong></span>: If allocator_traits_type::propagate_on_container_move_assignment is false and allocation throws</p> 405<p><span class="bold"><strong>Complexity</strong></span>: Constant if allocator_traits_type:: propagate_on_container_move_assignment is true or this->get>allocator() == x.get_allocator(). Linear otherwise. </p> 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">&</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">&</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"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 417 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45641208366960-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">)</span><span class="special">;</span></pre> 418<p><span class="bold"><strong>Effects</strong></span>: Equivalent to return assign(sv). </p> 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">&</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"><</span> <span class="identifier">CharT</span> <span class="special">></span> il<span class="special">)</span><span class="special">;</span></pre> 422<p><span class="bold"><strong>Effects</strong></span>: Returns *this = basic_string(il); </p> 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">&</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">&</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() > 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() > 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() > n.</p> 633<p><span class="bold"><strong>Effects</strong></span>: Returns a reference to the nth element from the beginning of the container.</p> 634<p><span class="bold"><strong>Throws</strong></span>: std::range_error if n >= size()</p> 635<p><span class="bold"><strong>Complexity</strong></span>: Constant. </p> 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() > n.</p> 640<p><span class="bold"><strong>Effects</strong></span>: Returns a const reference to the nth element from the beginning of the container.</p> 641<p><span class="bold"><strong>Throws</strong></span>: std::range_error if n >= size()</p> 642<p><span class="bold"><strong>Complexity</strong></span>: Constant. </p> 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">&</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">&</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"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 651 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45641209042848-bb"></a><span class="keyword">operator</span><span class="special">+=</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">)</span><span class="special">;</span></pre> 652<p><span class="bold"><strong>Effects</strong></span>: Same as <code class="computeroutput">return append(sv)</code>. </p> 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">&</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">&</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">&</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"><</span> <span class="identifier">CharT</span> <span class="special">></span> il<span class="special">)</span><span class="special">;</span></pre> 666<p><span class="bold"><strong>Effects</strong></span>: Returns append(il) </p> 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">&</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">&</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"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 675 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45641209024208-bb"></a><span class="identifier">append</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">)</span><span class="special">;</span></pre> 676<p><span class="bold"><strong>Effects</strong></span>: Same as return append(sv.data(), sv.size()). </p> 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">&</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">&</span> s<span class="special">,</span> <span class="identifier">size_type</span> pos<span class="special">,</span> <span class="identifier">size_type</span> n <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span><span class="special">;</span></pre> 681<p><span class="bold"><strong>Requires</strong></span>: pos <= str.size()</p> 682<p><span class="bold"><strong>Effects</strong></span>: Determines the effective length rlen of the string to append as the smaller of n and str.size() - pos and calls append(str.data() + pos, rlen).</p> 683<p><span class="bold"><strong>Throws</strong></span>: If memory allocation throws and out_of_range if pos > str.size()</p> 684<p><span class="bold"><strong>Returns</strong></span>: *this </p> 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">&</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 > 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">&</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">&</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"><</span><span class="keyword">typename</span> InputIter<span class="special">></span> 706 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="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">&</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"><</span> <span class="identifier">CharT</span> <span class="special">></span> il<span class="special">)</span><span class="special">;</span></pre> 713<p><span class="bold"><strong>Effects</strong></span>: Returns append(il.begin(), il.size()). </p> 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<size_type>(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">&</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">&</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"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 726 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="idm45641208981712-bb"></a><span class="identifier">assign</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">)</span><span class="special">;</span></pre> 727<p><span class="bold"><strong>Effects</strong></span>: Equivalent to return assign(sv.data(), sv.size()).</p> 728<p><span class="bold"><strong>Returns</strong></span>: *this </p> 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">&</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">&&</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">&</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">&</span> s<span class="special">,</span> <span class="identifier">size_type</span> pos<span class="special">,</span> <span class="identifier">size_type</span> n<span class="special">)</span><span class="special">;</span></pre> 738<p><span class="bold"><strong>Requires</strong></span>: pos <= str.size()</p> 739<p><span class="bold"><strong>Effects</strong></span>: Determines the effective length rlen of the string to assign as the smaller of n and str.size() - pos and calls assign(str.data() + pos rlen).</p> 740<p><span class="bold"><strong>Throws</strong></span>: If memory allocation throws or out_of_range if pos > str.size().</p> 741<p><span class="bold"><strong>Returns</strong></span>: *this </p> 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">&</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 > 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">&</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">&</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">&</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"><</span><span class="keyword">typename</span> InputIter<span class="special">></span> 767 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="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">&</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"><</span> <span class="identifier">CharT</span> <span class="special">></span> il<span class="special">)</span><span class="special">;</span></pre> 773<p><span class="bold"><strong>Effects</strong></span>: Returns assign(il.begin(), il.size()). </p> 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">&</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">&</span> s<span class="special">)</span><span class="special">;</span></pre> 777<p><span class="bold"><strong>Requires</strong></span>: pos <= size().</p> 778<p><span class="bold"><strong>Effects</strong></span>: Calls insert(pos, str.data(), str.size()).</p> 779<p><span class="bold"><strong>Throws</strong></span>: If memory allocation throws or out_of_range if pos > size().</p> 780<p><span class="bold"><strong>Returns</strong></span>: *this </p> 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">&</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">&</span> s<span class="special">,</span> <span class="identifier">size_type</span> pos2<span class="special">,</span> 785 <span class="identifier">size_type</span> n <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span><span class="special">;</span></pre> 786<p><span class="bold"><strong>Requires</strong></span>: pos1 <= size() and pos2 <= str.size()</p> 787<p><span class="bold"><strong>Effects</strong></span>: Determines the effective length rlen of the string to insert as the smaller of n and str.size() - pos2 and calls insert(pos1, str.data() + pos2, rlen).</p> 788<p><span class="bold"><strong>Throws</strong></span>: If memory allocation throws or out_of_range if pos1 > size() or pos2 > str.size().</p> 789<p><span class="bold"><strong>Returns</strong></span>: *this </p> 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">&</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 <= size().</p> 794<p><span class="bold"><strong>Effects</strong></span>: Replaces the string controlled by *this with a string of length size() + n whose first pos elements are a copy of the initial elements of the original string controlled by *this and whose next n elements are a copy of the elements in s and whose remaining elements are a copy of the remaining elements of the original string controlled by *this.</p> 795<p><span class="bold"><strong>Throws</strong></span>: If memory allocation throws, out_of_range if pos > size() or length_error if size() + n > max_size().</p> 796<p><span class="bold"><strong>Returns</strong></span>: *this </p> 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">&</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 <= size() and s points to an array of at least traits::length(s) + 1 elements of CharT</p> 801<p><span class="bold"><strong>Effects</strong></span>: Calls insert(pos, s, traits::length(s)).</p> 802<p><span class="bold"><strong>Throws</strong></span>: If memory allocation throws, out_of_range if pos > size() length_error if size() > max_size() - Traits::length(s)</p> 803<p><span class="bold"><strong>Returns</strong></span>: *this </p> 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">&</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 > size() length_error if size() > 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"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 813 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> <a name="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"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">)</span><span class="special">;</span></pre> 814<p><span class="bold"><strong>Effects</strong></span>: Same as <code class="computeroutput">return insert(pos, sv.data(), sv.size())</code>. </p> 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"><</span><span class="keyword">typename</span> InputIter<span class="special">></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"><</span> <span class="identifier">CharT</span> <span class="special">></span> il<span class="special">)</span><span class="special">;</span></pre> 837<p><span class="bold"><strong>Effects</strong></span>: As if by insert(p, il.begin(), il.end()).</p> 838<p><span class="bold"><strong>Returns</strong></span>: An iterator which refers to the copy of the first inserted character, or p if i1 is empty. </p> 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">&</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 <= size()</p> 849<p><span class="bold"><strong>Effects</strong></span>: Determines the effective length xlen of the string to be removed as the smaller of n and size() - pos. The function then replaces the string controlled by *this with a string of length size() - xlen whose first pos elements are a copy of the initial elements of the original string controlled by *this, and whose remaining elements are a copy of the elements of the original string controlled by *this beginning at position pos + xlen.</p> 850<p><span class="bold"><strong>Throws</strong></span>: out_of_range if pos > size().</p> 851<p><span class="bold"><strong>Returns</strong></span>: *this </p> 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">&</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">&</span> str<span class="special">)</span><span class="special">;</span></pre> 874<p><span class="bold"><strong>Requires</strong></span>: pos1 <= size().</p> 875<p><span class="bold"><strong>Effects</strong></span>: Calls replace(pos1, n1, str.data(), str.size()).</p> 876<p><span class="bold"><strong>Throws</strong></span>: if memory allocation throws or out_of_range if pos1 > size().</p> 877<p><span class="bold"><strong>Returns</strong></span>: *this </p> 878</li> 879<li class="listitem"> 880<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 881 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> 882 <a name="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"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">)</span><span class="special">;</span></pre> 883<p><span class="bold"><strong>Effects</strong></span>: Calls <code class="computeroutput">return replace(pos1, n1, sv.data(), sv.size());</code>. </p> 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">&</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">&</span> str<span class="special">,</span> 888 <span class="identifier">size_type</span> pos2<span class="special">,</span> <span class="identifier">size_type</span> n2 <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span><span class="special">;</span></pre> 889<p><span class="bold"><strong>Requires</strong></span>: pos1 <= size() and pos2 <= str.size().</p> 890<p><span class="bold"><strong>Effects</strong></span>: Determines the effective length rlen of the string to be inserted as the smaller of n2 and str.size() - pos2 and calls replace(pos1, n1, str.data() + pos2, rlen).</p> 891<p><span class="bold"><strong>Throws</strong></span>: if memory allocation throws, out_of_range if pos1 > size() or pos2 > str.size().</p> 892<p><span class="bold"><strong>Returns</strong></span>: *this </p> 893</li> 894<li class="listitem"> 895<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 896 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> 897 <a name="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"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">,</span> 898 <span class="identifier">size_type</span> pos2<span class="special">,</span> <span class="identifier">size_type</span> n2 <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span><span class="special">;</span></pre> 899<p><span class="bold"><strong>Throws</strong></span>: out_of_range if pos1 > size() or pos2 > sv.size().</p> 900<p><span class="bold"><strong>Effects</strong></span>: Determines the effective length rlen of the string to be inserted as the smaller of n2 and sv.size() - pos2 and calls <code class="computeroutput">replace(pos1, n1, sv.data() + pos2, rlen)</code>.</p> 901<p><span class="bold"><strong>Returns</strong></span>: *this. </p> 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">&</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 <= size() and s points to an array of at least n2 elements of CharT.</p> 907<p><span class="bold"><strong>Effects</strong></span>: Determines the effective length xlen of the string to be removed as the smaller of n1 and size() - pos1. If size() - xlen >= max_size() - n2 throws length_error. Otherwise, the function replaces the string controlled by *this with a string of length size() - xlen + n2 whose first pos1 elements are a copy of the initial elements of the original string controlled by *this, whose next n2 elements are a copy of the initial n2 elements of s, and whose remaining elements are a copy of the elements of the original string controlled by *this beginning at position pos + xlen.</p> 908<p><span class="bold"><strong>Throws</strong></span>: if memory allocation throws, out_of_range if pos1 > size() or length_error if the length of the resulting string would exceed max_size()</p> 909<p><span class="bold"><strong>Returns</strong></span>: *this </p> 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">&</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 <= size() and s points to an array of at least n2 elements of CharT.</p> 914<p><span class="bold"><strong>Effects</strong></span>: Determines the effective length xlen of the string to be removed as the smaller of n1 and size() - pos1. If size() - xlen >= max_size() - n2 throws length_error. Otherwise, the function replaces the string controlled by *this with a string of length size() - xlen + n2 whose first pos1 elements are a copy of the initial elements of the original string controlled by *this, whose next n2 elements are a copy of the initial n2 elements of s, and whose remaining elements are a copy of the elements of the original string controlled by *this beginning at position pos + xlen.</p> 915<p><span class="bold"><strong>Throws</strong></span>: if memory allocation throws, out_of_range if pos1 > size() or length_error if the length of the resulting string would exceed max_size()</p> 916<p><span class="bold"><strong>Returns</strong></span>: *this </p> 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">&</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 <= size().</p> 921<p><span class="bold"><strong>Effects</strong></span>: Equivalent to replace(pos1, n1, basic_string(n2, c)).</p> 922<p><span class="bold"><strong>Throws</strong></span>: if memory allocation throws, out_of_range if pos1 > size() or length_error if the length of the resulting string would exceed max_size()</p> 923<p><span class="bold"><strong>Returns</strong></span>: *this </p> 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">&</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">&</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">&</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">&</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">&</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"><</span><span class="keyword">typename</span> InputIter<span class="special">></span> 958 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> 959 <a name="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"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 967 <a class="link" href="basic_string.html" title="Class template basic_string">basic_string</a> <span class="special">&</span> 968 <a name="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"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">)</span><span class="special">;</span></pre> 970<p><span class="bold"><strong>Requires</strong></span>: [begin(), i1) and [i1, i2) are valid ranges.</p> 971<p><span class="bold"><strong>Effects</strong></span>: Calls <code class="computeroutput">replace(i1 - begin(), i2 - i1, sv).</code>.</p> 972<p><span class="bold"><strong>Returns</strong></span>: *this. </p> 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">&</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"><</span> <span class="identifier">CharT</span> <span class="special">></span> il<span class="special">)</span><span class="special">;</span></pre> 978<p><span class="bold"><strong>Requires</strong></span>: [begin(), i1) and [i1, i2) are valid ranges.</p> 979<p><span class="bold"><strong>Effects</strong></span>: Calls replace(i1 - begin(), i2 - i1, il.begin(), il.size()).</p> 980<p><span class="bold"><strong>Returns</strong></span>: *this. </p> 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 <= size()</p> 985<p><span class="bold"><strong>Effects</strong></span>: Determines the effective length rlen of the string to copy as the smaller of n and size() - pos. s shall designate an array of at least rlen elements. The function then replaces the string designated by s with a string of length rlen whose elements are a copy of the string controlled by *this beginning at position pos. The function does not append a null object to the string designated by s.</p> 986<p><span class="bold"><strong>Throws</strong></span>: if memory allocation throws, out_of_range if pos > size().</p> 987<p><span class="bold"><strong>Returns</strong></span>: rlen </p> 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">&</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 == &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 == &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 == &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"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 1013 <a name="idm45641208722176-bb"></a><span class="keyword">operator</span> <span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre> 1014<p><span class="bold"><strong>Returns</strong></span>: a string_view to the characters in the string.</p> 1015<p><span class="bold"><strong>Complexity</strong></span>: constant time. </p> 1016</li> 1017<li class="listitem"> 1018<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> BasicStringView<span class="special">></span> <span class="identifier">BasicStringView</span> <a name="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">&</span> s<span class="special">,</span> <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> 1025<p><span class="bold"><strong>Effects</strong></span>: Determines the lowest position xpos, if possible, such that both of the following conditions hold: 1) pos <= xpos and xpos + str.size() <= size(); 2) traits::eq(at(xpos+I), str.at(I)) for all elements I of the string controlled by str.</p> 1026<p><span class="bold"><strong>Throws</strong></span>: Nothing</p> 1027<p><span class="bold"><strong>Returns</strong></span>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </p> 1028</li> 1029<li class="listitem"> 1030<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 1031 <span class="identifier">size_type</span> <a name="idm45641208707072-bb"></a><span class="identifier">find</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">,</span> <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> 1032<p><span class="bold"><strong>Effects</strong></span>: Determines the lowest position xpos, if possible, such that both of the following conditions hold: 1) pos <= xpos and xpos + sv.size() <= size(); 2) traits::eq(at(xpos+I), sv.at(I)) for all elements I of the string controlled by sv.</p> 1033<p><span class="bold"><strong>Throws</strong></span>: Nothing</p> 1034<p><span class="bold"><strong>Returns</strong></span>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </p> 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<CharT,traits,allocator_type>(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<CharT,traits,allocator_type>(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">&</span> str<span class="special">,</span> <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> 1055<p><span class="bold"><strong>Effects</strong></span>: Determines the highest position xpos, if possible, such that both of the following conditions obtain: a) xpos <= pos and xpos + str.size() <= size(); b) traits::eq(at(xpos+I), str.at(I)) for all elements I of the string controlled by str.</p> 1056<p><span class="bold"><strong>Throws</strong></span>: Nothing</p> 1057<p><span class="bold"><strong>Returns</strong></span>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </p> 1058</li> 1059<li class="listitem"> 1060<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 1061 <span class="identifier">size_type</span> <a name="idm45641208677840-bb"></a><span class="identifier">rfind</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">,</span> <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> 1062<p><span class="bold"><strong>Effects</strong></span>: Determines the highest position xpos, if possible, such that both of the following conditions obtain: a) xpos <= pos and xpos + sv.size() <= size(); b) traits::eq(at(xpos+I), sv.at(I)) for all elements I of the string controlled by sv.</p> 1063<p><span class="bold"><strong>Throws</strong></span>: Nothing</p> 1064<p><span class="bold"><strong>Returns</strong></span>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </p> 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 <= 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<CharT,traits,allocator_type>(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">&</span> str<span class="special">,</span> <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> 1085<p><span class="bold"><strong>Effects</strong></span>: Determines the lowest position xpos, if possible, such that both of the following conditions obtain: a) pos <= xpos and xpos < size(); b) traits::eq(at(xpos), str.at(I)) for some element I of the string controlled by str.</p> 1086<p><span class="bold"><strong>Throws</strong></span>: Nothing</p> 1087<p><span class="bold"><strong>Returns</strong></span>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </p> 1088</li> 1089<li class="listitem"> 1090<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 1091 <span class="identifier">size_type</span> <a name="idm45641208648640-bb"></a><span class="identifier">find_first_of</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">,</span> 1092 <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> 1093<p><span class="bold"><strong>Effects</strong></span>: Determines the lowest position xpos, if possible, such that both of the following conditions obtain: a) pos <= xpos and xpos < size(); b) traits::eq(at(xpos), sv.at(I)) for some element I of the string controlled by sv.</p> 1094<p><span class="bold"><strong>Throws</strong></span>: Nothing</p> 1095<p><span class="bold"><strong>Returns</strong></span>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </p> 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<CharT,traits,allocator_type>(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">&</span> str<span class="special">,</span> <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> 1117<p><span class="bold"><strong>Effects</strong></span>: Determines the highest position xpos, if possible, such that both of the following conditions obtain: a) xpos <= pos and xpos < size(); b) traits::eq(at(xpos), str.at(I)) for some element I of the string controlled by str.</p> 1118<p><span class="bold"><strong>Throws</strong></span>: Nothing</p> 1119<p><span class="bold"><strong>Returns</strong></span>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </p> 1120</li> 1121<li class="listitem"> 1122<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 1123 <span class="identifier">size_type</span> <a name="idm45641208618544-bb"></a><span class="identifier">find_last_of</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">,</span> 1124 <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> 1125<p><span class="bold"><strong>Effects</strong></span>: Determines the highest position xpos, if possible, such that both of the following conditions obtain: a) xpos <= pos and xpos < size(); b) traits::eq(at(xpos), str.at(I)) for some element I of the string controlled by str.</p> 1126<p><span class="bold"><strong>Throws</strong></span>: Nothing</p> 1127<p><span class="bold"><strong>Returns</strong></span>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </p> 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<CharT,traits,allocator_type>(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">&</span> str<span class="special">,</span> <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> 1148<p><span class="bold"><strong>Effects</strong></span>: Determines the lowest position xpos, if possible, such that both of the following conditions obtain: a) pos <= xpos and xpos < size(); b) traits::eq(at(xpos), str.at(I)) for no element I of the string controlled by str.</p> 1149<p><span class="bold"><strong>Throws</strong></span>: Nothing</p> 1150<p><span class="bold"><strong>Returns</strong></span>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </p> 1151</li> 1152<li class="listitem"> 1153<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 1154 <span class="identifier">size_type</span> <a name="idm45641208589360-bb"></a><span class="identifier">find_first_not_of</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">,</span> 1155 <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="number">0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> 1156<p><span class="bold"><strong>Effects</strong></span>: Determines the lowest position xpos, if possible, such that both of the following conditions obtain: a) pos <= xpos and xpos < size(); b) traits::eq(at(xpos), sv.at(I)) for no element I of the string controlled by sv.</p> 1157<p><span class="bold"><strong>Throws</strong></span>: Nothing</p> 1158<p><span class="bold"><strong>Returns</strong></span>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </p> 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">&</span> str<span class="special">,</span> <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> 1179<p><span class="bold"><strong>Effects</strong></span>: Determines the highest position xpos, if possible, such that both of the following conditions obtain: a) xpos <= pos and xpos < size(); b) traits::eq(at(xpos), str.at(I)) for no element I of the string controlled by str.</p> 1180<p><span class="bold"><strong>Throws</strong></span>: Nothing</p> 1181<p><span class="bold"><strong>Returns</strong></span>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </p> 1182</li> 1183<li class="listitem"> 1184<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 1185 <span class="identifier">size_type</span> <a name="idm45641208560144-bb"></a><span class="identifier">find_last_not_of</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">,</span> 1186 <span class="identifier">size_type</span> pos <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> 1187<p><span class="bold"><strong>Effects</strong></span>: Determines the highest position xpos, if possible, such that both of the following conditions obtain: a) xpos <= pos and xpos < size(); b) traits::eq(at(xpos), sv.at(I)) for no element I of the string controlled by sv.</p> 1188<p><span class="bold"><strong>Throws</strong></span>: Nothing</p> 1189<p><span class="bold"><strong>Returns</strong></span>: xpos if the function can determine such a value for xpos. Otherwise, returns npos. </p> 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 <= size()</p> 1211<p><span class="bold"><strong>Effects</strong></span>: Determines the effective length rlen of the string to copy as the smaller of n and size() - pos.</p> 1212<p><span class="bold"><strong>Throws</strong></span>: If memory allocation throws or out_of_range if pos > size().</p> 1213<p><span class="bold"><strong>Returns</strong></span>: basic_string<CharT,traits,allocator_type>(data()+pos,rlen). </p> 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">&</span> str<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> 1217<p><span class="bold"><strong>Effects</strong></span>: Determines the effective length rlen of the string to compare as the smaller of size() and str.size(). The function then compares the two strings by calling traits::compare(data(), str.data(), rlen).</p> 1218<p><span class="bold"><strong>Throws</strong></span>: Nothing</p> 1219<p><span class="bold"><strong>Returns</strong></span>: The nonzero result if the result of the comparison is nonzero. Otherwise, returns a value < 0 if size() < str.size(), a 0 value if size() == str.size(), and value > 0 if size() > str.size() </p> 1220</li> 1221<li class="listitem"> 1222<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 1223 <span class="keyword">int</span> <a name="idm45641208524928-bb"></a><span class="identifier">compare</span><span class="special">(</span><span class="identifier">BasicStringView</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> 1224<p><span class="bold"><strong>Throws</strong></span>: Nothing</p> 1225<p><span class="bold"><strong>Returns</strong></span>: compare(basic_string(sv)). </p> 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">&</span> str<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> 1229<p><span class="bold"><strong>Requires</strong></span>: pos1 <= size()</p> 1230<p><span class="bold"><strong>Effects</strong></span>: Determines the effective length rlen of the string to compare as the smaller of (this->size() - pos1), n1 and str.size(). The function then compares the two strings by calling traits::compare(data()+pos1, str.data(), rlen).</p> 1231<p><span class="bold"><strong>Throws</strong></span>: out_of_range if pos1 > size()</p> 1232<p><span class="bold"><strong>Returns</strong></span>:basic_string(*this,pos1,n1).compare(str). </p> 1233</li> 1234<li class="listitem"> 1235<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 1236 <span class="keyword">int</span> <a name="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"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> 1238<p><span class="bold"><strong>Requires</strong></span>: pos1 <= size()</p> 1239<p><span class="bold"><strong>Throws</strong></span>: out_of_range if pos1 > size()</p> 1240<p><span class="bold"><strong>Returns</strong></span>:basic_string(*this,pos1,n1).compare(sv). </p> 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">&</span> str<span class="special">,</span> 1244 <span class="identifier">size_type</span> pos2<span class="special">,</span> <span class="identifier">size_type</span> n2 <span class="special">=</span> <span class="identifier">npos</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> 1245<p><span class="bold"><strong>Requires</strong></span>: pos1 <= size() and pos2 <= str.size()</p> 1246<p><span class="bold"><strong>Effects</strong></span>: Determines the effective length rlen of the string to copy as the smaller of</p> 1247<p><span class="bold"><strong>Throws</strong></span>: out_of_range if pos1 > size() or pos2 > str.size()</p> 1248<p><span class="bold"><strong>Returns</strong></span>: basic_string(*this, pos1, n1).compare(basic_string(str, pos2, n2)). </p> 1249</li> 1250<li class="listitem"> 1251<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">template</span><span class="special"><</span> <span class="keyword">class</span><span class="special">,</span> <span class="keyword">class</span> <span class="special">></span> <span class="keyword">class</span> BasicStringView<span class="special">></span> 1252 <span class="keyword">int</span> <a name="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"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">Traits</span> <span class="special">></span> sv<span class="special">,</span> <span class="identifier">size_type</span> pos2<span class="special">,</span> 1254 <span class="identifier">size_type</span> n2<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre> 1255<p><span class="bold"><strong>Requires</strong></span>: pos1 <= size() and pos2 <= str.size()</p> 1256<p><span class="bold"><strong>Effects</strong></span>: Determines the effective length rlen of the string to copy as the smaller of</p> 1257<p><span class="bold"><strong>Throws</strong></span>: out_of_range if pos1 > size() or pos2 > sv.size()</p> 1258<p><span class="bold"><strong>Returns</strong></span>: basic_string(*this, pos1, n1).compare(BasicStringView<CharT, Traits>(sv, pos2, n2)). </p> 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 > size() and s points to an array of at least n2 elements of CharT.</p> 1268<p><span class="bold"><strong>Throws</strong></span>: out_of_range if pos1 > size()</p> 1269<p><span class="bold"><strong>Returns</strong></span>: basic_string(*this, pos, n1).compare(basic_string(s, n2)). </p> 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 > size() and s points to an array of at least traits::length(s) + 1 elements of CharT.</p> 1274<p><span class="bold"><strong>Throws</strong></span>: out_of_range if pos1 > size()</p> 1275<p><span class="bold"><strong>Returns</strong></span>: basic_string(*this, pos, n1).compare(basic_string(s, n2)). </p> 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