1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>basic_static_string::compare (3 of 9 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="../compare.html" title="basic_static_string::compare"> 9<link rel="prev" href="overload2.html" title="basic_static_string::compare (2 of 9 overloads)"> 10<link rel="next" href="overload4.html" title="basic_static_string::compare (4 of 9 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="overload2.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../compare.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="overload4.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.compare.overload3"></a><a class="link" href="overload3.html" title="basic_static_string::compare (3 of 9 overloads)">basic_static_string::compare 28 (3 of 9 overloads)</a> 29</h5></div></div></div> 30<p> 31 Compare a string with the string. 32 </p> 33<h6> 34<a name="static_string.ref.boost__static_strings__basic_static_string.compare.overload3.h0"></a> 35 <span class="phrase"><a name="static_string.ref.boost__static_strings__basic_static_string.compare.overload3.synopsis"></a></span><a class="link" href="overload3.html#static_string.ref.boost__static_strings__basic_static_string.compare.overload3.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="keyword">int</span> 40<span class="identifier">compare</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">count1</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">s</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">count2</span> <span class="special">=</span> <a class="link" href="../npos.html" title="basic_static_string::npos">npos</a><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span> 46</pre> 47<h6> 48<a name="static_string.ref.boost__static_strings__basic_static_string.compare.overload3.h1"></a> 49 <span class="phrase"><a name="static_string.ref.boost__static_strings__basic_static_string.compare.overload3.description"></a></span><a class="link" href="overload3.html#static_string.ref.boost__static_strings__basic_static_string.compare.overload3.description">Description</a> 50 </h6> 51<p> 52 Let <code class="computeroutput"><span class="identifier">sub1</span></code> be <code class="computeroutput"><span class="identifier">substr</span><span class="special">(</span><span class="identifier">pos1</span><span class="special">,</span> <span class="identifier">count1</span><span class="special">)</span></code>, 53 <code class="computeroutput"><span class="identifier">sub2</span></code> be <code class="computeroutput"><span class="identifier">s</span><span class="special">.</span><span class="identifier">substr</span><span class="special">(</span><span class="identifier">pos2</span><span class="special">,</span> <span class="identifier">count2</span><span class="special">)</span></code>, 54 and <code class="computeroutput"><span class="identifier">comp</span></code> be <code class="computeroutput"><span class="identifier">traits_type</span><span class="special">::</span><span class="identifier">compare</span><span class="special">(</span><span class="identifier">sub1</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span> <span class="identifier">sub2</span><span class="special">.</span><span class="identifier">data</span><span class="special">(),</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">min</span><span class="special">(</span><span class="identifier">sub1</span><span class="special">.</span><span class="identifier">size</span><span class="special">(),</span> <span class="identifier">sub2</span><span class="special">.</span><span class="identifier">size</span><span class="special">())</span></code>. 55 If <code class="computeroutput"><span class="identifier">comp</span> <span class="special">!=</span> 56 <span class="number">0</span></code>, then the result is <code class="computeroutput"><span class="identifier">comp</span></code>. Otherwise, the result is <code class="computeroutput"><span class="number">0</span></code> if <code class="computeroutput"><span class="identifier">sub1</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">==</span> <span class="identifier">sub2</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span></code>, 57 <code class="computeroutput"><span class="special">-</span><span class="number">1</span></code> 58 if <code class="computeroutput"><span class="identifier">sub1</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special"><</span> <span class="identifier">sub2</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span></code>, and <code class="computeroutput"><span class="number">1</span></code> 59 otherwise. 60 </p> 61<h6> 62<a name="static_string.ref.boost__static_strings__basic_static_string.compare.overload3.h2"></a> 63 <span class="phrase"><a name="static_string.ref.boost__static_strings__basic_static_string.compare.overload3.complexity"></a></span><a class="link" href="overload3.html#static_string.ref.boost__static_strings__basic_static_string.compare.overload3.complexity">Complexity</a> 64 </h6> 65<p> 66 Linear. 67 </p> 68<h6> 69<a name="static_string.ref.boost__static_strings__basic_static_string.compare.overload3.h3"></a> 70 <span class="phrase"><a name="static_string.ref.boost__static_strings__basic_static_string.compare.overload3.exception_safety"></a></span><a class="link" href="overload3.html#static_string.ref.boost__static_strings__basic_static_string.compare.overload3.exception_safety">Exception 71 Safety</a> 72 </h6> 73<p> 74 Strong guarantee. 75 </p> 76<h6> 77<a name="static_string.ref.boost__static_strings__basic_static_string.compare.overload3.h4"></a> 78 <span class="phrase"><a name="static_string.ref.boost__static_strings__basic_static_string.compare.overload3.return_value"></a></span><a class="link" href="overload3.html#static_string.ref.boost__static_strings__basic_static_string.compare.overload3.return_value">Return 79 Value</a> 80 </h6> 81<p> 82 The result of lexicographically comparing <code class="computeroutput"><span class="identifier">sub1</span></code> 83 and <code class="computeroutput"><span class="identifier">sub2</span></code>. 84 </p> 85<h6> 86<a name="static_string.ref.boost__static_strings__basic_static_string.compare.overload3.h5"></a> 87 <span class="phrase"><a name="static_string.ref.boost__static_strings__basic_static_string.compare.overload3.parameters"></a></span><a class="link" href="overload3.html#static_string.ref.boost__static_strings__basic_static_string.compare.overload3.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 at which to begin the substring. 116 </p> 117 </td> 118</tr> 119<tr> 120<td> 121 <p> 122 <code class="computeroutput"><span class="identifier">count1</span></code> 123 </p> 124 </td> 125<td> 126 <p> 127 The size of the substring. 128 </p> 129 </td> 130</tr> 131<tr> 132<td> 133 <p> 134 <code class="computeroutput"><span class="identifier">s</span></code> 135 </p> 136 </td> 137<td> 138 <p> 139 The string to compare. 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 at which to begin the substring to compare. 152 </p> 153 </td> 154</tr> 155<tr> 156<td> 157 <p> 158 <code class="computeroutput"><span class="identifier">count2</span></code> 159 </p> 160 </td> 161<td> 162 <p> 163 The size of the substring to compare. 164 </p> 165 </td> 166</tr> 167</tbody> 168</table></div> 169<h6> 170<a name="static_string.ref.boost__static_strings__basic_static_string.compare.overload3.h6"></a> 171 <span class="phrase"><a name="static_string.ref.boost__static_strings__basic_static_string.compare.overload3.exceptions"></a></span><a class="link" href="overload3.html#static_string.ref.boost__static_strings__basic_static_string.compare.overload3.exceptions">Exceptions</a> 172 </h6> 173<div class="informaltable"><table class="table"> 174<colgroup> 175<col> 176<col> 177</colgroup> 178<thead><tr> 179<th> 180 <p> 181 Type 182 </p> 183 </th> 184<th> 185 <p> 186 Thrown On 187 </p> 188 </th> 189</tr></thead> 190<tbody> 191<tr> 192<td> 193 <p> 194 <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">out_of_range</span></code> 195 </p> 196 </td> 197<td> 198 <p> 199 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> 200 </p> 201 </td> 202</tr> 203<tr> 204<td> 205 <p> 206 <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">out_of_range</span></code> 207 </p> 208 </td> 209<td> 210 <p> 211 <code class="computeroutput"><span class="identifier">pos2</span> <span class="special">></span> 212 <span class="identifier">s</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span></code> 213 </p> 214 </td> 215</tr> 216</tbody> 217</table></div> 218</div> 219<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 220<td align="left"></td> 221<td align="right"><div class="copyright-footer">Copyright © 2019, 2020 Krystian Stasiowski<br>Copyright © 2016-2019 Vinnie 222 Falco<p> 223 Distributed under the Boost Software License, Version 1.0. (See accompanying 224 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>) 225 </p> 226</div></td> 227</tr></table> 228<hr> 229<div class="spirit-nav"> 230<a accesskey="p" href="overload2.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../compare.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="overload4.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> 231</div> 232</body> 233</html> 234