1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>basic_static_string::replace (8 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="overload7.html" title="basic_static_string::replace (7 of 14 overloads)"> 10<link rel="next" href="overload9.html" title="basic_static_string::replace (9 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="overload7.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="overload9.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.overload8"></a><a class="link" href="overload8.html" title="basic_static_string::replace (8 of 14 overloads)">basic_static_string::replace 28 (8 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.overload8.h0"></a> 35 <span class="phrase"><a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload8.synopsis"></a></span><a class="link" href="overload8.html#static_string.ref.boost__static_strings__basic_static_string.replace.overload8.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">const_iterator</span> <span class="identifier">i1</span><span class="special">,</span> 42 <span class="identifier">const_iterator</span> <span class="identifier">i2</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</pre> 45<h6> 46<a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload8.h1"></a> 47 <span class="phrase"><a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload8.description"></a></span><a class="link" href="overload8.html#static_string.ref.boost__static_strings__basic_static_string.replace.overload8.description">Description</a> 48 </h6> 49<p> 50 Replaces the characters in the range <code class="computeroutput"><span class="special">{</span><span class="identifier">i1</span><span class="special">,</span> <span class="identifier">i2</span><span class="special">)</span></code> 51 with those of <code class="computeroutput"><span class="identifier">str</span></code>. 52 </p> 53<h6> 54<a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload8.h2"></a> 55 <span class="phrase"><a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload8.precondition"></a></span><a class="link" href="overload8.html#static_string.ref.boost__static_strings__basic_static_string.replace.overload8.precondition">Precondition</a> 56 </h6> 57<p> 58 <code class="computeroutput"><span class="special">{</span><span class="identifier">i1</span><span class="special">,</span> <span class="identifier">i2</span><span class="special">)</span></code>is a valid range. 59 </p> 60<h6> 61<a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload8.h3"></a> 62 <span class="phrase"><a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload8.exception_safety"></a></span><a class="link" href="overload8.html#static_string.ref.boost__static_strings__basic_static_string.replace.overload8.exception_safety">Exception 63 Safety</a> 64 </h6> 65<p> 66 Strong guarantee. 67 </p> 68<h6> 69<a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload8.h4"></a> 70 <span class="phrase"><a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload8.remarks"></a></span><a class="link" href="overload8.html#static_string.ref.boost__static_strings__basic_static_string.replace.overload8.remarks">Remarks</a> 71 </h6> 72<p> 73 The replacement is done unchecked when the capacity of <code class="computeroutput"><span class="identifier">str</span></code> differs from that of the string 74 the function is called on. All references, pointers, or iterators referring 75 to contained elements are invalidated. Any past-the-end iterators are 76 also invalidated. 77 </p> 78<h6> 79<a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload8.h5"></a> 80 <span class="phrase"><a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload8.template_parameters"></a></span><a class="link" href="overload8.html#static_string.ref.boost__static_strings__basic_static_string.replace.overload8.template_parameters">Template 81 Parameters</a> 82 </h6> 83<div class="informaltable"><table class="table"> 84<colgroup> 85<col> 86<col> 87</colgroup> 88<thead><tr> 89<th> 90 <p> 91 Type 92 </p> 93 </th> 94<th> 95 <p> 96 Description 97 </p> 98 </th> 99</tr></thead> 100<tbody><tr> 101<td> 102 <p> 103 <code class="computeroutput"><span class="identifier">M</span></code> 104 </p> 105 </td> 106<td> 107 <p> 108 The size of the input string. 109 </p> 110 </td> 111</tr></tbody> 112</table></div> 113<h6> 114<a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload8.h6"></a> 115 <span class="phrase"><a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload8.return_value"></a></span><a class="link" href="overload8.html#static_string.ref.boost__static_strings__basic_static_string.replace.overload8.return_value">Return 116 Value</a> 117 </h6> 118<p> 119 <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> 120 </p> 121<h6> 122<a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload8.h7"></a> 123 <span class="phrase"><a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload8.parameters"></a></span><a class="link" href="overload8.html#static_string.ref.boost__static_strings__basic_static_string.replace.overload8.parameters">Parameters</a> 124 </h6> 125<div class="informaltable"><table class="table"> 126<colgroup> 127<col> 128<col> 129</colgroup> 130<thead><tr> 131<th> 132 <p> 133 Name 134 </p> 135 </th> 136<th> 137 <p> 138 Description 139 </p> 140 </th> 141</tr></thead> 142<tbody> 143<tr> 144<td> 145 <p> 146 <code class="computeroutput"><span class="identifier">i1</span></code> 147 </p> 148 </td> 149<td> 150 <p> 151 An iterator referring to the first character to replace. 152 </p> 153 </td> 154</tr> 155<tr> 156<td> 157 <p> 158 <code class="computeroutput"><span class="identifier">i2</span></code> 159 </p> 160 </td> 161<td> 162 <p> 163 An iterator referring past the end of the last character to 164 replace. 165 </p> 166 </td> 167</tr> 168<tr> 169<td> 170 <p> 171 <code class="computeroutput"><span class="identifier">str</span></code> 172 </p> 173 </td> 174<td> 175 <p> 176 The string to replace with. 177 </p> 178 </td> 179</tr> 180</tbody> 181</table></div> 182<h6> 183<a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload8.h8"></a> 184 <span class="phrase"><a name="static_string.ref.boost__static_strings__basic_static_string.replace.overload8.exceptions"></a></span><a class="link" href="overload8.html#static_string.ref.boost__static_strings__basic_static_string.replace.overload8.exceptions">Exceptions</a> 185 </h6> 186<div class="informaltable"><table class="table"> 187<colgroup> 188<col> 189<col> 190</colgroup> 191<thead><tr> 192<th> 193 <p> 194 Type 195 </p> 196 </th> 197<th> 198 <p> 199 Thrown On 200 </p> 201 </th> 202</tr></thead> 203<tbody><tr> 204<td> 205 <p> 206 <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">length_error</span></code> 207 </p> 208 </td> 209<td> 210 <p> 211 <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> 212 + (str.size() - std::distance(i1, i2)) > <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> 213 </p> 214 </td> 215</tr></tbody> 216</table></div> 217</div> 218<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 219<td align="left"></td> 220<td align="right"><div class="copyright-footer">Copyright © 2019, 2020 Krystian Stasiowski<br>Copyright © 2016-2019 Vinnie 221 Falco<p> 222 Distributed under the Boost Software License, Version 1.0. (See accompanying 223 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>) 224 </p> 225</div></td> 226</tr></table> 227<hr> 228<div class="spirit-nav"> 229<a accesskey="p" href="overload7.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="overload9.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> 230</div> 231</body> 232</html> 233