1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>basic_static_string::replace (2 of 14 overloads)</title> 5<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> 6<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> 7<link rel="home" href="../../../../index.html" title="Boost.StaticString"> 8<link rel="up" href="../replace.html" title="basic_static_string::replace"> 9<link rel="prev" href="overload1.html" title="basic_static_string::replace (1 of 14 overloads)"> 10<link rel="next" href="overload3.html" title="basic_static_string::replace (3 of 14 overloads)"> 11</head> 12<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> 13<table cellpadding="2" width="100%"><tr> 14<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td> 15<td align="center"><a href="../../../../../../../../index.html">Home</a></td> 16<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> 17<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> 18<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> 19<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td> 20</tr></table> 21<hr> 22<div class="spirit-nav"> 23<a accesskey="p" href="overload1.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../replace.html"><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="overload3.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> 24</div> 25<div class="section"> 26<div class="titlepage"><div><div><h5 class="title"> 27<a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload2"></a><a class="link" href="overload2.html" title="basic_static_string::replace (2 of 14 overloads)">basic_static_string::replace 28 (2 of 14 overloads)</a> 29</h5></div></div></div> 30<p> 31 Replace a part of the string. 32 </p> 33<h6> 34<a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload2.h0"></a> 35 <span class="phrase"><a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload2.synopsis"></a></span><a class="link" href="overload2.html#static_string.ref.boost__static_strings__basic_static_string.replace.overload2.synopsis">Synopsis</a> 36 </h6> 37<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> 38 <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">M</span><span class="special">></span> 39<span class="keyword">constexpr</span> <span class="identifier">basic_static_string</span><span class="special">&</span> 40<span class="identifier">replace</span><span class="special">(</span> 41 <span class="identifier">size_type</span> <span class="identifier">pos1</span><span class="special">,</span> 42 <span class="identifier">size_type</span> <span class="identifier">n1</span><span class="special">,</span> 43 <span class="keyword">const</span> <span class="identifier">basic_static_string</span><span class="special"><</span> <span class="identifier">M</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="identifier">str</span><span class="special">,</span> 44 <span class="identifier">size_type</span> <span class="identifier">pos2</span><span class="special">,</span> 45 <span class="identifier">size_type</span> <span class="identifier">n2</span> <span class="special">=</span> <a class="link" href="../npos.html" title="basic_static_string::npos">npos</a><span class="special">);</span> 46</pre> 47<h6> 48<a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload2.h1"></a> 49 <span class="phrase"><a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload2.description"></a></span><a class="link" href="overload2.html#static_string.ref.boost__static_strings__basic_static_string.replace.overload2.description">Description</a> 50 </h6> 51<p> 52 Replaces <code class="computeroutput"><span class="identifier">rcount</span></code> characters 53 starting at index <code class="computeroutput"><span class="identifier">pos1</span></code> 54 with those of <code class="computeroutput"><span class="identifier">str</span><span class="special">.</span><span class="identifier">subview</span><span class="special">(</span><span class="identifier">pos2</span><span class="special">,</span> <span class="identifier">n2</span><span class="special">)</span></code>, 55 where <code class="computeroutput"><span class="identifier">rcount</span></code> is std::min(n1, 56 <a class="link" href="../size.html" title="basic_static_string::size"><code class="computeroutput"><span class="identifier">size</span><span class="special">()</span></code></a> 57 - pos1). 58 </p> 59<h6> 60<a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload2.h2"></a> 61 <span class="phrase"><a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload2.exception_safety"></a></span><a class="link" href="overload2.html#static_string.ref.boost__static_strings__basic_static_string.replace.overload2.exception_safety">Exception 62 Safety</a> 63 </h6> 64<p> 65 Strong guarantee. 66 </p> 67<h6> 68<a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload2.h3"></a> 69 <span class="phrase"><a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload2.remarks"></a></span><a class="link" href="overload2.html#static_string.ref.boost__static_strings__basic_static_string.replace.overload2.remarks">Remarks</a> 70 </h6> 71<p> 72 The replacement is done unchecked when the capacity of <code class="computeroutput"><span class="identifier">str</span></code> differs from that of the string 73 the function is called on. All references, pointers, or iterators referring 74 to contained elements are invalidated. Any past-the-end iterators are 75 also invalidated. 76 </p> 77<h6> 78<a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload2.h4"></a> 79 <span class="phrase"><a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload2.return_value"></a></span><a class="link" href="overload2.html#static_string.ref.boost__static_strings__basic_static_string.replace.overload2.return_value">Return 80 Value</a> 81 </h6> 82<p> 83 <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> 84 </p> 85<h6> 86<a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload2.h5"></a> 87 <span class="phrase"><a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload2.parameters"></a></span><a class="link" href="overload2.html#static_string.ref.boost__static_strings__basic_static_string.replace.overload2.parameters">Parameters</a> 88 </h6> 89<div class="informaltable"><table class="table"> 90<colgroup> 91<col> 92<col> 93</colgroup> 94<thead><tr> 95<th> 96 <p> 97 Name 98 </p> 99 </th> 100<th> 101 <p> 102 Description 103 </p> 104 </th> 105</tr></thead> 106<tbody> 107<tr> 108<td> 109 <p> 110 <code class="computeroutput"><span class="identifier">pos1</span></code> 111 </p> 112 </td> 113<td> 114 <p> 115 The index to replace at. 116 </p> 117 </td> 118</tr> 119<tr> 120<td> 121 <p> 122 <code class="computeroutput"><span class="identifier">n1</span></code> 123 </p> 124 </td> 125<td> 126 <p> 127 The number of characters to replace. 128 </p> 129 </td> 130</tr> 131<tr> 132<td> 133 <p> 134 <code class="computeroutput"><span class="identifier">str</span></code> 135 </p> 136 </td> 137<td> 138 <p> 139 The string to replace with. 140 </p> 141 </td> 142</tr> 143<tr> 144<td> 145 <p> 146 <code class="computeroutput"><span class="identifier">pos2</span></code> 147 </p> 148 </td> 149<td> 150 <p> 151 The index to begin the substring. 152 </p> 153 </td> 154</tr> 155<tr> 156<td> 157 <p> 158 <code class="computeroutput"><span class="identifier">n2</span></code> 159 </p> 160 </td> 161<td> 162 <p> 163 The length of the substring. The default argument for this 164 parameter is <a class="link" href="../npos.html" title="basic_static_string::npos"><code class="computeroutput"><span class="identifier">npos</span></code></a>. 165 </p> 166 </td> 167</tr> 168</tbody> 169</table></div> 170<h6> 171<a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload2.h6"></a> 172 <span class="phrase"><a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload2.exceptions"></a></span><a class="link" href="overload2.html#static_string.ref.boost__static_strings__basic_static_string.replace.overload2.exceptions">Exceptions</a> 173 </h6> 174<div class="informaltable"><table class="table"> 175<colgroup> 176<col> 177<col> 178</colgroup> 179<thead><tr> 180<th> 181 <p> 182 Type 183 </p> 184 </th> 185<th> 186 <p> 187 Thrown On 188 </p> 189 </th> 190</tr></thead> 191<tbody> 192<tr> 193<td> 194 <p> 195 <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">length_error</span></code> 196 </p> 197 </td> 198<td> 199 <p> 200 <a class="link" href="../size.html" title="basic_static_string::size"><code class="computeroutput"><span class="identifier">size</span><span class="special">()</span></code></a> 201 + (std::min(str.size(), n2) - rcount) > <a class="link" href="../max_size.html" title="basic_static_string::max_size"><code class="computeroutput"><span class="identifier">max_size</span><span class="special">()</span></code></a> 202 </p> 203 </td> 204</tr> 205<tr> 206<td> 207 <p> 208 <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">out_of_range</span></code> 209 </p> 210 </td> 211<td> 212 <p> 213 pos1 > <a class="link" href="../size.html" title="basic_static_string::size"><code class="computeroutput"><span class="identifier">size</span><span class="special">()</span></code></a> 214 </p> 215 </td> 216</tr> 217<tr> 218<td> 219 <p> 220 <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">out_of_range</span></code> 221 </p> 222 </td> 223<td> 224 <p> 225 <code class="computeroutput"><span class="identifier">pos2</span> <span class="special">></span> 226 <span class="identifier">str</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span></code> 227 </p> 228 </td> 229</tr> 230</tbody> 231</table></div> 232</div> 233<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 234<td align="left"></td> 235<td align="right"><div class="copyright-footer">Copyright © 2019, 2020 Krystian Stasiowski<br>Copyright © 2016-2019 Vinnie 236 Falco<p> 237 Distributed under the Boost Software License, Version 1.0. (See accompanying 238 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>) 239 </p> 240</div></td> 241</tr></table> 242<hr> 243<div class="spirit-nav"> 244<a accesskey="p" href="overload1.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../replace.html"><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="overload3.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> 245</div> 246</body> 247</html> 248