3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>Class template basic_string_literal</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="Chapter 1. Boost.Log v2">
8 <link rel="up" href="../../utilities.html#header.boost.log.utility.string_literal_hpp" title="Header <boost/log/utility/string_literal.hpp>">
9 <link rel="prev" href="strictest_lock.html" title="Struct template strictest_lock">
10 <link rel="next" href="operator_idp68340832.html" title="Function template operator<<">
12 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13 <table cellpadding="2" width="100%"><tr><td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td></tr></table>
15 <div class="spirit-nav">
16 <a accesskey="p" href="strictest_lock.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../utilities.html#header.boost.log.utility.string_literal_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="operator_idp68340832.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
18 <div class="refentry">
19 <a name="boost.log.basic_string_literal"></a><div class="titlepage"></div>
20 <div class="refnamediv">
21 <h2><span class="refentrytitle">Class template basic_string_literal</span></h2>
22 <p>boost::log::basic_string_literal — String literal wrapper. </p>
24 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
25 <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="../../utilities.html#header.boost.log.utility.string_literal_hpp" title="Header <boost/log/utility/string_literal.hpp>">boost/log/utility/string_literal.hpp</a>>
27 </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> TraitsT<span class="special">></span>
28 <span class="keyword">class</span> <a class="link" href="basic_string_literal.html" title="Class template basic_string_literal">basic_string_literal</a> <span class="special">{</span>
29 <span class="keyword">public</span><span class="special">:</span>
30 <span class="comment">// types</span>
31 <span class="keyword">typedef</span> <span class="identifier">CharT</span> <a name="boost.log.basic_string_literal.value_type"></a><span class="identifier">value_type</span><span class="special">;</span>
32 <span class="keyword">typedef</span> <span class="identifier">TraitsT</span> <a name="boost.log.basic_string_literal.traits_type"></a><span class="identifier">traits_type</span><span class="special">;</span>
33 <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="boost.log.basic_string_literal.size_type"></a><span class="identifier">size_type</span><span class="special">;</span>
34 <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ptrdiff_t</span> <a name="boost.log.basic_string_literal.difference_type"></a><span class="identifier">difference_type</span><span class="special">;</span>
35 <span class="keyword">typedef</span> <span class="keyword">const</span> <span class="identifier">value_type</span> <span class="special">*</span> <a name="boost.log.basic_string_literal.const_pointer"></a><span class="identifier">const_pointer</span><span class="special">;</span>
36 <span class="keyword">typedef</span> <span class="identifier">value_type</span> <span class="keyword">const</span> <span class="special">&</span> <a name="boost.log.basic_string_literal.const_reference"></a><span class="identifier">const_reference</span><span class="special">;</span>
37 <span class="keyword">typedef</span> <span class="keyword">const</span> <span class="identifier">value_type</span> <span class="special">*</span> <a name="boost.log.basic_string_literal.const_iterator"></a><span class="identifier">const_iterator</span><span class="special">;</span>
38 <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">reverse_iterator</span><span class="special"><</span> <span class="identifier">const_iterator</span> <span class="special">></span> <a name="boost.log.basic_string_literal.const_reverse_iterator"></a><span class="identifier">const_reverse_iterator</span><span class="special">;</span>
39 <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_string</span><span class="special"><</span> <span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">traits_type</span> <span class="special">></span> <a name="boost.log.basic_string_literal.string_type"></a><span class="identifier">string_type</span><span class="special">;</span> <span class="comment">// Corresponding STL string type. </span>
41 <span class="comment">// <a class="link" href="basic_string_literal.html#boost.log.basic_string_literalconstruct-copy-destruct">construct/copy/destruct</a></span>
42 <a class="link" href="basic_string_literal.html#idp68320848-bb"><span class="identifier">basic_string_literal</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
43 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="identifier">size_type</span> LenV<span class="special">></span> <a class="link" href="basic_string_literal.html#idp68322816-bb"><span class="identifier">basic_string_literal</span></a><span class="special">(</span><span class="identifier">T</span><span class="special">(</span><span class="special">&</span><span class="special">)</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
44 <a class="link" href="basic_string_literal.html#idp68327632-bb"><span class="identifier">basic_string_literal</span></a><span class="special">(</span><a class="link" href="basic_string_literal.html" title="Class template basic_string_literal">basic_string_literal</a> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
45 <span class="keyword">constexpr</span> this_type <span class="special">&</span> <a class="link" href="basic_string_literal.html#idp68331008-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span>this_type <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
46 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="identifier">size_type</span> LenV<span class="special">></span>
47 <span class="keyword">constexpr</span> this_type <span class="special">&</span> <a class="link" href="basic_string_literal.html#idp68335120-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="identifier">T</span><span class="special">(</span><span class="special">&</span><span class="special">)</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
49 <span class="comment">// <a class="link" href="basic_string_literal.html#idp68151040-bb">public member functions</a></span>
50 <span class="keyword">bool</span> <a class="link" href="basic_string_literal.html#idp68151600-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span>this_type <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
51 <span class="keyword">bool</span> <a class="link" href="basic_string_literal.html#idp68156016-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="identifier">const_pointer</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
52 <span class="keyword">bool</span> <a class="link" href="basic_string_literal.html#idp68160208-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="identifier">string_type</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
53 <span class="keyword">bool</span> <a class="link" href="basic_string_literal.html#idp68164336-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span>this_type <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
54 <span class="keyword">bool</span> <a class="link" href="basic_string_literal.html#idp68168752-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="identifier">const_pointer</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
55 <span class="keyword">bool</span> <a class="link" href="basic_string_literal.html#idp68172944-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="identifier">string_type</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
56 <span class="keyword">bool</span> <a class="link" href="basic_string_literal.html#idp68177072-bb"><span class="keyword">operator</span><span class="special"><</span></a><span class="special">(</span>this_type <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
57 <span class="keyword">bool</span> <a class="link" href="basic_string_literal.html#idp68181504-bb"><span class="keyword">operator</span><span class="special"><</span></a><span class="special">(</span><span class="identifier">const_pointer</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
58 <span class="keyword">bool</span> <a class="link" href="basic_string_literal.html#idp68185712-bb"><span class="keyword">operator</span><span class="special"><</span></a><span class="special">(</span><span class="identifier">string_type</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
59 <span class="keyword">bool</span> <a class="link" href="basic_string_literal.html#idp68189856-bb"><span class="keyword">operator</span><span class="special"><=</span></a><span class="special">(</span>this_type <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
60 <span class="keyword">bool</span> <a class="link" href="basic_string_literal.html#idp68194288-bb"><span class="keyword">operator</span><span class="special"><=</span></a><span class="special">(</span><span class="identifier">const_pointer</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
61 <span class="keyword">bool</span> <a class="link" href="basic_string_literal.html#idp68198496-bb"><span class="keyword">operator</span><span class="special"><=</span></a><span class="special">(</span><span class="identifier">string_type</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
62 <span class="keyword">bool</span> <a class="link" href="basic_string_literal.html#idp68202640-bb"><span class="keyword">operator</span><span class="special">></span></a><span class="special">(</span>this_type <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
63 <span class="keyword">bool</span> <a class="link" href="basic_string_literal.html#idp68207072-bb"><span class="keyword">operator</span><span class="special">></span></a><span class="special">(</span><span class="identifier">const_pointer</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
64 <span class="keyword">bool</span> <a class="link" href="basic_string_literal.html#idp68211280-bb"><span class="keyword">operator</span><span class="special">></span></a><span class="special">(</span><span class="identifier">string_type</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
65 <span class="keyword">bool</span> <a class="link" href="basic_string_literal.html#idp68215424-bb"><span class="keyword">operator</span><span class="special">>=</span></a><span class="special">(</span>this_type <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
66 <span class="keyword">bool</span> <a class="link" href="basic_string_literal.html#idp68219856-bb"><span class="keyword">operator</span><span class="special">>=</span></a><span class="special">(</span><span class="identifier">const_pointer</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
67 <span class="keyword">bool</span> <a class="link" href="basic_string_literal.html#idp68224064-bb"><span class="keyword">operator</span><span class="special">>=</span></a><span class="special">(</span><span class="identifier">string_type</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
68 <span class="keyword">constexpr</span> <span class="identifier">const_reference</span> <a class="link" href="basic_string_literal.html#idp68228208-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>
69 <span class="identifier">const_reference</span> <a class="link" href="basic_string_literal.html#idp68232320-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>
70 <span class="keyword">constexpr</span> <span class="identifier">const_pointer</span> <a class="link" href="basic_string_literal.html#idp68237360-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>
71 <span class="keyword">constexpr</span> <span class="identifier">const_pointer</span> <a class="link" href="basic_string_literal.html#idp68239344-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>
72 <span class="keyword">constexpr</span> <span class="identifier">size_type</span> <a class="link" href="basic_string_literal.html#idp68241328-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>
73 <span class="keyword">constexpr</span> <span class="identifier">size_type</span> <a class="link" href="basic_string_literal.html#idp68243280-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>
74 <span class="keyword">constexpr</span> <span class="keyword">bool</span> <a class="link" href="basic_string_literal.html#idp68245232-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>
75 <span class="keyword">constexpr</span> <span class="identifier">const_iterator</span> <a class="link" href="basic_string_literal.html#idp68247936-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>
76 <span class="keyword">constexpr</span> <span class="identifier">const_iterator</span> <a class="link" href="basic_string_literal.html#idp68249952-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>
77 <span class="identifier">const_reverse_iterator</span> <a class="link" href="basic_string_literal.html#idp68251968-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>
78 <span class="identifier">const_reverse_iterator</span> <a class="link" href="basic_string_literal.html#idp68253968-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>
79 <span class="identifier">string_type</span> <a class="link" href="basic_string_literal.html#idp68255968-bb"><span class="identifier">str</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
80 <span class="keyword">constexpr</span> <span class="keyword">void</span> <a class="link" href="basic_string_literal.html#idp68257952-bb"><span class="identifier">clear</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
81 <span class="keyword">constexpr</span> <span class="keyword">void</span> <a class="link" href="basic_string_literal.html#idp68260496-bb"><span class="identifier">swap</span></a><span class="special">(</span>this_type <span class="special">&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
82 <span class="keyword">constexpr</span> this_type <span class="special">&</span> <a class="link" href="basic_string_literal.html#idp68263024-bb"><span class="identifier">assign</span></a><span class="special">(</span>this_type <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
83 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="identifier">size_type</span> LenV<span class="special">></span>
84 <span class="keyword">constexpr</span> this_type <span class="special">&</span> <a class="link" href="basic_string_literal.html#idp68267424-bb"><span class="identifier">assign</span></a><span class="special">(</span><span class="identifier">T</span><span class="special">(</span><span class="special">&</span><span class="special">)</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
85 <span class="identifier">size_type</span> <a class="link" href="basic_string_literal.html#idp68273248-bb"><span class="identifier">copy</span></a><span class="special">(</span><span class="identifier">value_type</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>
86 <span class="keyword">int</span> <a class="link" href="basic_string_literal.html#idp68281648-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">const_pointer</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
87 <span class="keyword">int</span> <a class="link" href="basic_string_literal.html#idp68291424-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">const_pointer</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
88 <span class="keyword">int</span> <a class="link" href="basic_string_literal.html#idp68299648-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> this_type <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
89 <span class="keyword">int</span> <a class="link" href="basic_string_literal.html#idp68308112-bb"><span class="identifier">compare</span></a><span class="special">(</span><span class="identifier">const_pointer</span><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>
90 <span class="keyword">int</span> <a class="link" href="basic_string_literal.html#idp68313264-bb"><span class="identifier">compare</span></a><span class="special">(</span><span class="identifier">const_pointer</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
91 <span class="keyword">int</span> <a class="link" href="basic_string_literal.html#idp68316864-bb"><span class="identifier">compare</span></a><span class="special">(</span>this_type <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
92 <span class="special">}</span><span class="special">;</span></pre></div>
93 <div class="refsect1">
94 <a name="idp139520240"></a><h2>Description</h2>
95 <p>The <code class="computeroutput"><a class="link" href="basic_string_literal.html" title="Class template basic_string_literal">basic_string_literal</a></code> is a thin wrapper around a constant string literal. It provides interface similar to STL strings, but because of read-only nature of string literals, lacks ability to modify string contents. However, <code class="computeroutput"><a class="link" href="basic_string_literal.html" title="Class template basic_string_literal">basic_string_literal</a></code> objects can be assigned to and cleared.</p>
96 <p>The main advantage of this class comparing to other string classes is that it doesn't dynamically allocate memory and therefore is fast, thin and exception safe. </p>
97 <div class="refsect2">
98 <a name="idp139524176"></a><h3>
99 <a name="boost.log.basic_string_literalconstruct-copy-destruct"></a><code class="computeroutput">basic_string_literal</code>
101 construct/copy/destruct</h3>
102 <div class="orderedlist"><ol class="orderedlist" type="1">
103 <li class="listitem">
104 <pre class="literallayout"><a name="idp68320848-bb"></a><span class="identifier">basic_string_literal</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
108 <div class="variablelist"><table border="0" class="variablelist compact">
110 <col align="left" valign="top">
114 <td><p><span class="term">Postconditions:</span></p></td>
115 <td><p><code class="computeroutput">empty() == true</code> </p></td>
119 <li class="listitem">
120 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="identifier">size_type</span> LenV<span class="special">></span> <a name="idp68322816-bb"></a><span class="identifier">basic_string_literal</span><span class="special">(</span><span class="identifier">T</span><span class="special">(</span><span class="special">&</span><span class="special">)</span> p<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
121 <p>Constructor from a string literal</p>
125 <div class="variablelist"><table border="0" class="variablelist compact">
127 <col align="left" valign="top">
132 <td><p><span class="term">Parameters:</span></p></td>
133 <td><div class="variablelist"><table border="0" class="variablelist compact">
135 <col align="left" valign="top">
139 <td><p><span class="term"><code class="computeroutput">p</code></span></p></td>
140 <td><p>A zero-terminated constant sequence of characters </p></td>
145 <td><p><span class="term">Postconditions:</span></p></td>
146 <td><p><code class="computeroutput">*this == p</code> </p></td>
151 <li class="listitem">
152 <pre class="literallayout"><a name="idp68327632-bb"></a><span class="identifier">basic_string_literal</span><span class="special">(</span><a class="link" href="basic_string_literal.html" title="Class template basic_string_literal">basic_string_literal</a> <span class="keyword">const</span> <span class="special">&</span> that<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
153 <p>Copy constructor</p>
157 <div class="variablelist"><table border="0" class="variablelist compact">
159 <col align="left" valign="top">
164 <td><p><span class="term">Parameters:</span></p></td>
165 <td><div class="variablelist"><table border="0" class="variablelist compact">
167 <col align="left" valign="top">
171 <td><p><span class="term"><code class="computeroutput">that</code></span></p></td>
172 <td><p>Source literal to copy string from </p></td>
177 <td><p><span class="term">Postconditions:</span></p></td>
178 <td><p><code class="computeroutput">*this == that</code> </p></td>
183 <li class="listitem">
184 <pre class="literallayout"><span class="keyword">constexpr</span> this_type <span class="special">&</span> <a name="idp68331008-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span>this_type <span class="keyword">const</span> <span class="special">&</span> that<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
185 <p>Assignment operator</p>
189 <div class="variablelist"><table border="0" class="variablelist compact">
191 <col align="left" valign="top">
196 <td><p><span class="term">Parameters:</span></p></td>
197 <td><div class="variablelist"><table border="0" class="variablelist compact">
199 <col align="left" valign="top">
203 <td><p><span class="term"><code class="computeroutput">that</code></span></p></td>
204 <td><p>Source literal to copy string from </p></td>
209 <td><p><span class="term">Postconditions:</span></p></td>
210 <td><p><code class="computeroutput">*this == that</code> </p></td>
215 <li class="listitem">
216 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="identifier">size_type</span> LenV<span class="special">></span>
217 <span class="keyword">constexpr</span> this_type <span class="special">&</span> <a name="idp68335120-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="identifier">T</span><span class="special">(</span><span class="special">&</span><span class="special">)</span> p<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
218 <p>Assignment from a string literal</p>
222 <div class="variablelist"><table border="0" class="variablelist compact">
224 <col align="left" valign="top">
229 <td><p><span class="term">Parameters:</span></p></td>
230 <td><div class="variablelist"><table border="0" class="variablelist compact">
232 <col align="left" valign="top">
236 <td><p><span class="term"><code class="computeroutput">p</code></span></p></td>
237 <td><p>A zero-terminated constant sequence of characters </p></td>
242 <td><p><span class="term">Postconditions:</span></p></td>
243 <td><p><code class="computeroutput">*this == p</code> </p></td>
250 <div class="refsect2">
251 <a name="idp139589808"></a><h3>
252 <a name="idp68151040-bb"></a><code class="computeroutput">basic_string_literal</code> public member functions</h3>
253 <div class="orderedlist"><ol class="orderedlist" type="1">
254 <li class="listitem">
255 <pre class="literallayout"><span class="keyword">bool</span> <a name="idp68151600-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span>this_type <span class="keyword">const</span> <span class="special">&</span> that<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
256 <p>Lexicographical comparison (equality)</p>
260 <div class="variablelist"><table border="0" class="variablelist compact">
262 <col align="left" valign="top">
267 <td><p><span class="term">Parameters:</span></p></td>
268 <td><div class="variablelist"><table border="0" class="variablelist compact">
270 <col align="left" valign="top">
274 <td><p><span class="term"><code class="computeroutput">that</code></span></p></td>
275 <td><p>Comparand </p></td>
280 <td><p><span class="term">Returns:</span></p></td>
281 <td><p><code class="computeroutput">true</code> if the comparand string equals to this string, <code class="computeroutput">false</code> otherwise </p></td>
286 <li class="listitem">
287 <pre class="literallayout"><span class="keyword">bool</span> <a name="idp68156016-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="identifier">const_pointer</span> str<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
288 <p>Lexicographical comparison (equality)</p>
292 <div class="variablelist"><table border="0" class="variablelist compact">
294 <col align="left" valign="top">
299 <td><p><span class="term">Parameters:</span></p></td>
300 <td><div class="variablelist"><table border="0" class="variablelist compact">
302 <col align="left" valign="top">
306 <td><p><span class="term"><code class="computeroutput">str</code></span></p></td>
307 <td><p>Comparand. Must point to a zero-terminated sequence of characters, must not be NULL. </p></td>
312 <td><p><span class="term">Returns:</span></p></td>
313 <td><p><code class="computeroutput">true</code> if the comparand string equals to this string, <code class="computeroutput">false</code> otherwise </p></td>
318 <li class="listitem">
319 <pre class="literallayout"><span class="keyword">bool</span> <a name="idp68160208-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="identifier">string_type</span> <span class="keyword">const</span> <span class="special">&</span> that<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
320 <p>Lexicographical comparison (equality)</p>
324 <div class="variablelist"><table border="0" class="variablelist compact">
326 <col align="left" valign="top">
331 <td><p><span class="term">Parameters:</span></p></td>
332 <td><div class="variablelist"><table border="0" class="variablelist compact">
334 <col align="left" valign="top">
338 <td><p><span class="term"><code class="computeroutput">that</code></span></p></td>
339 <td><p>Comparand </p></td>
344 <td><p><span class="term">Returns:</span></p></td>
345 <td><p><code class="computeroutput">true</code> if the comparand string equals to this string, <code class="computeroutput">false</code> otherwise </p></td>
350 <li class="listitem">
351 <pre class="literallayout"><span class="keyword">bool</span> <a name="idp68164336-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span>this_type <span class="keyword">const</span> <span class="special">&</span> that<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
352 <p>Lexicographical comparison (inequality)</p>
356 <div class="variablelist"><table border="0" class="variablelist compact">
358 <col align="left" valign="top">
363 <td><p><span class="term">Parameters:</span></p></td>
364 <td><div class="variablelist"><table border="0" class="variablelist compact">
366 <col align="left" valign="top">
370 <td><p><span class="term"><code class="computeroutput">that</code></span></p></td>
371 <td><p>Comparand </p></td>
376 <td><p><span class="term">Returns:</span></p></td>
377 <td><p><code class="computeroutput">true</code> if the comparand string is not equal to this string, <code class="computeroutput">false</code> otherwise </p></td>
382 <li class="listitem">
383 <pre class="literallayout"><span class="keyword">bool</span> <a name="idp68168752-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="identifier">const_pointer</span> str<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
384 <p>Lexicographical comparison (inequality)</p>
388 <div class="variablelist"><table border="0" class="variablelist compact">
390 <col align="left" valign="top">
395 <td><p><span class="term">Parameters:</span></p></td>
396 <td><div class="variablelist"><table border="0" class="variablelist compact">
398 <col align="left" valign="top">
402 <td><p><span class="term"><code class="computeroutput">str</code></span></p></td>
403 <td><p>Comparand. Must point to a zero-terminated sequence of characters, must not be NULL. </p></td>
408 <td><p><span class="term">Returns:</span></p></td>
409 <td><p><code class="computeroutput">true</code> if the comparand string is not equal to this string, <code class="computeroutput">false</code> otherwise </p></td>
414 <li class="listitem">
415 <pre class="literallayout"><span class="keyword">bool</span> <a name="idp68172944-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="identifier">string_type</span> <span class="keyword">const</span> <span class="special">&</span> that<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
416 <p>Lexicographical comparison (inequality)</p>
420 <div class="variablelist"><table border="0" class="variablelist compact">
422 <col align="left" valign="top">
427 <td><p><span class="term">Parameters:</span></p></td>
428 <td><div class="variablelist"><table border="0" class="variablelist compact">
430 <col align="left" valign="top">
434 <td><p><span class="term"><code class="computeroutput">that</code></span></p></td>
435 <td><p>Comparand </p></td>
440 <td><p><span class="term">Returns:</span></p></td>
441 <td><p><code class="computeroutput">true</code> if the comparand string is not equal to this string, <code class="computeroutput">false</code> otherwise </p></td>
446 <li class="listitem">
447 <pre class="literallayout"><span class="keyword">bool</span> <a name="idp68177072-bb"></a><span class="keyword">operator</span><span class="special"><</span><span class="special">(</span>this_type <span class="keyword">const</span> <span class="special">&</span> that<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
448 <p>Lexicographical comparison (less ordering)</p>
452 <div class="variablelist"><table border="0" class="variablelist compact">
454 <col align="left" valign="top">
459 <td><p><span class="term">Parameters:</span></p></td>
460 <td><div class="variablelist"><table border="0" class="variablelist compact">
462 <col align="left" valign="top">
466 <td><p><span class="term"><code class="computeroutput">that</code></span></p></td>
467 <td><p>Comparand </p></td>
472 <td><p><span class="term">Returns:</span></p></td>
473 <td><p><code class="computeroutput">true</code> if this string is less than the comparand, <code class="computeroutput">false</code> otherwise </p></td>
478 <li class="listitem">
479 <pre class="literallayout"><span class="keyword">bool</span> <a name="idp68181504-bb"></a><span class="keyword">operator</span><span class="special"><</span><span class="special">(</span><span class="identifier">const_pointer</span> str<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
480 <p>Lexicographical comparison (less ordering)</p>
484 <div class="variablelist"><table border="0" class="variablelist compact">
486 <col align="left" valign="top">
491 <td><p><span class="term">Parameters:</span></p></td>
492 <td><div class="variablelist"><table border="0" class="variablelist compact">
494 <col align="left" valign="top">
498 <td><p><span class="term"><code class="computeroutput">str</code></span></p></td>
499 <td><p>Comparand. Must point to a zero-terminated sequence of characters, must not be NULL. </p></td>
504 <td><p><span class="term">Returns:</span></p></td>
505 <td><p><code class="computeroutput">true</code> if this string is less than the comparand, <code class="computeroutput">false</code> otherwise </p></td>
510 <li class="listitem">
511 <pre class="literallayout"><span class="keyword">bool</span> <a name="idp68185712-bb"></a><span class="keyword">operator</span><span class="special"><</span><span class="special">(</span><span class="identifier">string_type</span> <span class="keyword">const</span> <span class="special">&</span> that<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
512 <p>Lexicographical comparison (less ordering)</p>
516 <div class="variablelist"><table border="0" class="variablelist compact">
518 <col align="left" valign="top">
523 <td><p><span class="term">Parameters:</span></p></td>
524 <td><div class="variablelist"><table border="0" class="variablelist compact">
526 <col align="left" valign="top">
530 <td><p><span class="term"><code class="computeroutput">that</code></span></p></td>
531 <td><p>Comparand </p></td>
536 <td><p><span class="term">Returns:</span></p></td>
537 <td><p><code class="computeroutput">true</code> if this string is less than the comparand, <code class="computeroutput">false</code> otherwise </p></td>
542 <li class="listitem">
543 <pre class="literallayout"><span class="keyword">bool</span> <a name="idp68189856-bb"></a><span class="keyword">operator</span><span class="special"><=</span><span class="special">(</span>this_type <span class="keyword">const</span> <span class="special">&</span> that<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
544 <p>Lexicographical comparison (less or equal ordering)</p>
548 <div class="variablelist"><table border="0" class="variablelist compact">
550 <col align="left" valign="top">
555 <td><p><span class="term">Parameters:</span></p></td>
556 <td><div class="variablelist"><table border="0" class="variablelist compact">
558 <col align="left" valign="top">
562 <td><p><span class="term"><code class="computeroutput">that</code></span></p></td>
563 <td><p>Comparand </p></td>
568 <td><p><span class="term">Returns:</span></p></td>
569 <td><p><code class="computeroutput">true</code> if this string is less or equal to the comparand, <code class="computeroutput">false</code> otherwise </p></td>
574 <li class="listitem">
575 <pre class="literallayout"><span class="keyword">bool</span> <a name="idp68194288-bb"></a><span class="keyword">operator</span><span class="special"><=</span><span class="special">(</span><span class="identifier">const_pointer</span> str<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
576 <p>Lexicographical comparison (less or equal ordering)</p>
580 <div class="variablelist"><table border="0" class="variablelist compact">
582 <col align="left" valign="top">
587 <td><p><span class="term">Parameters:</span></p></td>
588 <td><div class="variablelist"><table border="0" class="variablelist compact">
590 <col align="left" valign="top">
594 <td><p><span class="term"><code class="computeroutput">str</code></span></p></td>
595 <td><p>Comparand. Must point to a zero-terminated sequence of characters, must not be NULL. </p></td>
600 <td><p><span class="term">Returns:</span></p></td>
601 <td><p><code class="computeroutput">true</code> if this string is less or equal to the comparand, <code class="computeroutput">false</code> otherwise </p></td>
606 <li class="listitem">
607 <pre class="literallayout"><span class="keyword">bool</span> <a name="idp68198496-bb"></a><span class="keyword">operator</span><span class="special"><=</span><span class="special">(</span><span class="identifier">string_type</span> <span class="keyword">const</span> <span class="special">&</span> that<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
608 <p>Lexicographical comparison (less or equal ordering)</p>
612 <div class="variablelist"><table border="0" class="variablelist compact">
614 <col align="left" valign="top">
619 <td><p><span class="term">Parameters:</span></p></td>
620 <td><div class="variablelist"><table border="0" class="variablelist compact">
622 <col align="left" valign="top">
626 <td><p><span class="term"><code class="computeroutput">that</code></span></p></td>
627 <td><p>Comparand </p></td>
632 <td><p><span class="term">Returns:</span></p></td>
633 <td><p><code class="computeroutput">true</code> if this string is less or equal to the comparand, <code class="computeroutput">false</code> otherwise </p></td>
638 <li class="listitem">
639 <pre class="literallayout"><span class="keyword">bool</span> <a name="idp68202640-bb"></a><span class="keyword">operator</span><span class="special">></span><span class="special">(</span>this_type <span class="keyword">const</span> <span class="special">&</span> that<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
640 <p>Lexicographical comparison (greater ordering)</p>
644 <div class="variablelist"><table border="0" class="variablelist compact">
646 <col align="left" valign="top">
651 <td><p><span class="term">Parameters:</span></p></td>
652 <td><div class="variablelist"><table border="0" class="variablelist compact">
654 <col align="left" valign="top">
658 <td><p><span class="term"><code class="computeroutput">that</code></span></p></td>
659 <td><p>Comparand </p></td>
664 <td><p><span class="term">Returns:</span></p></td>
665 <td><p><code class="computeroutput">true</code> if this string is greater than the comparand, <code class="computeroutput">false</code> otherwise </p></td>
670 <li class="listitem">
671 <pre class="literallayout"><span class="keyword">bool</span> <a name="idp68207072-bb"></a><span class="keyword">operator</span><span class="special">></span><span class="special">(</span><span class="identifier">const_pointer</span> str<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
672 <p>Lexicographical comparison (greater ordering)</p>
676 <div class="variablelist"><table border="0" class="variablelist compact">
678 <col align="left" valign="top">
683 <td><p><span class="term">Parameters:</span></p></td>
684 <td><div class="variablelist"><table border="0" class="variablelist compact">
686 <col align="left" valign="top">
690 <td><p><span class="term"><code class="computeroutput">str</code></span></p></td>
691 <td><p>Comparand. Must point to a zero-terminated sequence of characters, must not be NULL. </p></td>
696 <td><p><span class="term">Returns:</span></p></td>
697 <td><p><code class="computeroutput">true</code> if this string is greater than the comparand, <code class="computeroutput">false</code> otherwise </p></td>
702 <li class="listitem">
703 <pre class="literallayout"><span class="keyword">bool</span> <a name="idp68211280-bb"></a><span class="keyword">operator</span><span class="special">></span><span class="special">(</span><span class="identifier">string_type</span> <span class="keyword">const</span> <span class="special">&</span> that<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
704 <p>Lexicographical comparison (greater ordering)</p>
708 <div class="variablelist"><table border="0" class="variablelist compact">
710 <col align="left" valign="top">
715 <td><p><span class="term">Parameters:</span></p></td>
716 <td><div class="variablelist"><table border="0" class="variablelist compact">
718 <col align="left" valign="top">
722 <td><p><span class="term"><code class="computeroutput">that</code></span></p></td>
723 <td><p>Comparand </p></td>
728 <td><p><span class="term">Returns:</span></p></td>
729 <td><p><code class="computeroutput">true</code> if this string is greater than the comparand, <code class="computeroutput">false</code> otherwise </p></td>
734 <li class="listitem">
735 <pre class="literallayout"><span class="keyword">bool</span> <a name="idp68215424-bb"></a><span class="keyword">operator</span><span class="special">>=</span><span class="special">(</span>this_type <span class="keyword">const</span> <span class="special">&</span> that<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
736 <p>Lexicographical comparison (greater or equal ordering)</p>
740 <div class="variablelist"><table border="0" class="variablelist compact">
742 <col align="left" valign="top">
747 <td><p><span class="term">Parameters:</span></p></td>
748 <td><div class="variablelist"><table border="0" class="variablelist compact">
750 <col align="left" valign="top">
754 <td><p><span class="term"><code class="computeroutput">that</code></span></p></td>
755 <td><p>Comparand </p></td>
760 <td><p><span class="term">Returns:</span></p></td>
761 <td><p><code class="computeroutput">true</code> if this string is greater or equal to the comparand, <code class="computeroutput">false</code> otherwise </p></td>
766 <li class="listitem">
767 <pre class="literallayout"><span class="keyword">bool</span> <a name="idp68219856-bb"></a><span class="keyword">operator</span><span class="special">>=</span><span class="special">(</span><span class="identifier">const_pointer</span> str<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
768 <p>Lexicographical comparison (greater or qual ordering)</p>
772 <div class="variablelist"><table border="0" class="variablelist compact">
774 <col align="left" valign="top">
779 <td><p><span class="term">Parameters:</span></p></td>
780 <td><div class="variablelist"><table border="0" class="variablelist compact">
782 <col align="left" valign="top">
786 <td><p><span class="term"><code class="computeroutput">str</code></span></p></td>
787 <td><p>Comparand. Must point to a zero-terminated sequence of characters, must not be NULL. </p></td>
792 <td><p><span class="term">Returns:</span></p></td>
793 <td><p><code class="computeroutput">true</code> if this string is greater or equal to the comparand, <code class="computeroutput">false</code> otherwise </p></td>
798 <li class="listitem">
799 <pre class="literallayout"><span class="keyword">bool</span> <a name="idp68224064-bb"></a><span class="keyword">operator</span><span class="special">>=</span><span class="special">(</span><span class="identifier">string_type</span> <span class="keyword">const</span> <span class="special">&</span> that<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
800 <p>Lexicographical comparison (greater or equal ordering)</p>
804 <div class="variablelist"><table border="0" class="variablelist compact">
806 <col align="left" valign="top">
811 <td><p><span class="term">Parameters:</span></p></td>
812 <td><div class="variablelist"><table border="0" class="variablelist compact">
814 <col align="left" valign="top">
818 <td><p><span class="term"><code class="computeroutput">that</code></span></p></td>
819 <td><p>Comparand </p></td>
824 <td><p><span class="term">Returns:</span></p></td>
825 <td><p><code class="computeroutput">true</code> if this string is greater or equal to the comparand, <code class="computeroutput">false</code> otherwise </p></td>
830 <li class="listitem">
831 <pre class="literallayout"><span class="keyword">constexpr</span> <span class="identifier">const_reference</span> <a name="idp68228208-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> i<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
832 <p>Subscript operator</p>
837 <div class="variablelist"><table border="0" class="variablelist compact">
839 <col align="left" valign="top">
844 <td><p><span class="term">Parameters:</span></p></td>
845 <td><div class="variablelist"><table border="0" class="variablelist compact">
847 <col align="left" valign="top">
851 <td><p><span class="term"><code class="computeroutput">i</code></span></p></td>
852 <td><p>Requested character index </p></td>
857 <td><p><span class="term">Requires:</span></p></td>
858 <td><p><code class="computeroutput">i < size()</code> </p></td>
861 <td><p><span class="term">Returns:</span></p></td>
862 <td><p>Constant reference to the requested character </p></td>
867 <li class="listitem">
868 <pre class="literallayout"><span class="identifier">const_reference</span> <a name="idp68232320-bb"></a><span class="identifier">at</span><span class="special">(</span><span class="identifier">size_type</span> i<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
869 <p>Checked subscript</p>
872 <span class="bold"><strong>Throws:</strong></span> An <code class="computeroutput">std::exception</code>-based exception if index <span class="emphasis"><em>i</em></span> is out of string boundaries </p>
873 <div class="variablelist"><table border="0" class="variablelist compact">
875 <col align="left" valign="top">
880 <td><p><span class="term">Parameters:</span></p></td>
881 <td><div class="variablelist"><table border="0" class="variablelist compact">
883 <col align="left" valign="top">
887 <td><p><span class="term"><code class="computeroutput">i</code></span></p></td>
888 <td><p>Requested character index </p></td>
893 <td><p><span class="term">Returns:</span></p></td>
894 <td><p>Constant reference to the requested character</p></td>
899 <li class="listitem">
900 <pre class="literallayout"><span class="keyword">constexpr</span> <span class="identifier">const_pointer</span> <a name="idp68237360-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>
903 <div class="variablelist"><table border="0" class="variablelist compact">
905 <col align="left" valign="top">
909 <td><p><span class="term">Returns:</span></p></td>
910 <td><p>Pointer to the beginning of the literal </p></td>
914 <li class="listitem">
915 <pre class="literallayout"><span class="keyword">constexpr</span> <span class="identifier">const_pointer</span> <a name="idp68239344-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>
918 <div class="variablelist"><table border="0" class="variablelist compact">
920 <col align="left" valign="top">
924 <td><p><span class="term">Returns:</span></p></td>
925 <td><p>Pointer to the beginning of the literal </p></td>
929 <li class="listitem">
930 <pre class="literallayout"><span class="keyword">constexpr</span> <span class="identifier">size_type</span> <a name="idp68241328-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>
933 <div class="variablelist"><table border="0" class="variablelist compact">
935 <col align="left" valign="top">
939 <td><p><span class="term">Returns:</span></p></td>
940 <td><p>Length of the literal </p></td>
944 <li class="listitem">
945 <pre class="literallayout"><span class="keyword">constexpr</span> <span class="identifier">size_type</span> <a name="idp68243280-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>
948 <div class="variablelist"><table border="0" class="variablelist compact">
950 <col align="left" valign="top">
954 <td><p><span class="term">Returns:</span></p></td>
955 <td><p>Length of the literal </p></td>
959 <li class="listitem">
960 <pre class="literallayout"><span class="keyword">constexpr</span> <span class="keyword">bool</span> <a name="idp68245232-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>
963 <div class="variablelist"><table border="0" class="variablelist compact">
965 <col align="left" valign="top">
969 <td><p><span class="term">Returns:</span></p></td>
970 <td><p><code class="computeroutput">true</code> if the literal is an empty string, <code class="computeroutput">false</code> otherwise </p></td>
974 <li class="listitem">
975 <pre class="literallayout"><span class="keyword">constexpr</span> <span class="identifier">const_iterator</span> <a name="idp68247936-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>
978 <div class="variablelist"><table border="0" class="variablelist compact">
980 <col align="left" valign="top">
984 <td><p><span class="term">Returns:</span></p></td>
985 <td><p>Iterator that points to the first character of the literal </p></td>
989 <li class="listitem">
990 <pre class="literallayout"><span class="keyword">constexpr</span> <span class="identifier">const_iterator</span> <a name="idp68249952-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>
993 <div class="variablelist"><table border="0" class="variablelist compact">
995 <col align="left" valign="top">
999 <td><p><span class="term">Returns:</span></p></td>
1000 <td><p>Iterator that points after the last character of the literal </p></td>
1004 <li class="listitem">
1005 <pre class="literallayout"><span class="identifier">const_reverse_iterator</span> <a name="idp68251968-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>
1008 <div class="variablelist"><table border="0" class="variablelist compact">
1010 <col align="left" valign="top">
1014 <td><p><span class="term">Returns:</span></p></td>
1015 <td><p>Reverse iterator that points to the last character of the literal </p></td>
1019 <li class="listitem">
1020 <pre class="literallayout"><span class="identifier">const_reverse_iterator</span> <a name="idp68253968-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>
1023 <div class="variablelist"><table border="0" class="variablelist compact">
1025 <col align="left" valign="top">
1029 <td><p><span class="term">Returns:</span></p></td>
1030 <td><p>Reverse iterator that points before the first character of the literal </p></td>
1034 <li class="listitem">
1035 <pre class="literallayout"><span class="identifier">string_type</span> <a name="idp68255968-bb"></a><span class="identifier">str</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1038 <div class="variablelist"><table border="0" class="variablelist compact">
1040 <col align="left" valign="top">
1044 <td><p><span class="term">Returns:</span></p></td>
1045 <td><p>STL string constructed from the literal </p></td>
1049 <li class="listitem">
1050 <pre class="literallayout"><span class="keyword">constexpr</span> <span class="keyword">void</span> <a name="idp68257952-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>
1051 <p>The method clears the literal</p>
1054 <div class="variablelist"><table border="0" class="variablelist compact">
1056 <col align="left" valign="top">
1060 <td><p><span class="term">Postconditions:</span></p></td>
1061 <td><p><code class="computeroutput">empty() == true</code> </p></td>
1065 <li class="listitem">
1066 <pre class="literallayout"><span class="keyword">constexpr</span> <span class="keyword">void</span> <a name="idp68260496-bb"></a><span class="identifier">swap</span><span class="special">(</span>this_type <span class="special">&</span> that<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
1067 <p>The method swaps two literals </p>
1069 <li class="listitem">
1070 <pre class="literallayout"><span class="keyword">constexpr</span> this_type <span class="special">&</span> <a name="idp68263024-bb"></a><span class="identifier">assign</span><span class="special">(</span>this_type <span class="keyword">const</span> <span class="special">&</span> that<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
1071 <p>Assignment from another literal</p>
1075 <div class="variablelist"><table border="0" class="variablelist compact">
1077 <col align="left" valign="top">
1082 <td><p><span class="term">Parameters:</span></p></td>
1083 <td><div class="variablelist"><table border="0" class="variablelist compact">
1085 <col align="left" valign="top">
1089 <td><p><span class="term"><code class="computeroutput">that</code></span></p></td>
1090 <td><p>Source literal to copy string from </p></td>
1095 <td><p><span class="term">Postconditions:</span></p></td>
1096 <td><p><code class="computeroutput">*this == that</code> </p></td>
1101 <li class="listitem">
1102 <pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="identifier">size_type</span> LenV<span class="special">></span>
1103 <span class="keyword">constexpr</span> this_type <span class="special">&</span> <a name="idp68267424-bb"></a><span class="identifier">assign</span><span class="special">(</span><span class="identifier">T</span><span class="special">(</span><span class="special">&</span><span class="special">)</span> p<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
1104 <p>Assignment from another literal</p>
1108 <div class="variablelist"><table border="0" class="variablelist compact">
1110 <col align="left" valign="top">
1115 <td><p><span class="term">Parameters:</span></p></td>
1116 <td><div class="variablelist"><table border="0" class="variablelist compact">
1118 <col align="left" valign="top">
1122 <td><p><span class="term"><code class="computeroutput">p</code></span></p></td>
1123 <td><p>A zero-terminated constant sequence of characters </p></td>
1128 <td><p><span class="term">Postconditions:</span></p></td>
1129 <td><p><code class="computeroutput">*this == p</code> </p></td>
1134 <li class="listitem">
1135 <pre class="literallayout"><span class="identifier">size_type</span> <a name="idp68273248-bb"></a><span class="identifier">copy</span><span class="special">(</span><span class="identifier">value_type</span> <span class="special">*</span> str<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>
1136 <p>The method copies the literal or its portion to an external buffer</p>
1140 <span class="bold"><strong>Throws:</strong></span> An <code class="computeroutput">std::exception</code>-based exception if <span class="emphasis"><em>pos</em></span> is out of range. </p>
1141 <div class="variablelist"><table border="0" class="variablelist compact">
1143 <col align="left" valign="top">
1148 <td><p><span class="term">Parameters:</span></p></td>
1149 <td><div class="variablelist"><table border="0" class="variablelist compact">
1151 <col align="left" valign="top">
1156 <td><p><span class="term"><code class="computeroutput">n</code></span></p></td>
1157 <td><p>Maximum number of characters to copy </p></td>
1160 <td><p><span class="term"><code class="computeroutput">pos</code></span></p></td>
1161 <td><p>Starting position to start copying from </p></td>
1164 <td><p><span class="term"><code class="computeroutput">str</code></span></p></td>
1165 <td><p>Pointer to the external buffer beginning. Must not be NULL. The buffer must have enough capacity to accommodate the requested number of characters. </p></td>
1171 <td><p><span class="term">Requires:</span></p></td>
1172 <td><p><code class="computeroutput">pos <= size()</code> </p></td>
1175 <td><p><span class="term">Returns:</span></p></td>
1176 <td><p>Number of characters copied</p></td>
1181 <li class="listitem">
1182 <pre class="literallayout"><span class="keyword">int</span> <a name="idp68281648-bb"></a><span class="identifier">compare</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">const_pointer</span> str<span class="special">,</span> <span class="identifier">size_type</span> len<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
1183 <p>Lexicographically compares the argument string to a part of this string</p>
1187 <span class="bold"><strong>Throws:</strong></span> An <code class="computeroutput">std::exception</code>-based exception if <span class="emphasis"><em>pos</em></span> is out of range. </p>
1188 <div class="variablelist"><table border="0" class="variablelist compact">
1190 <col align="left" valign="top">
1195 <td><p><span class="term">Parameters:</span></p></td>
1196 <td><div class="variablelist"><table border="0" class="variablelist compact">
1198 <col align="left" valign="top">
1203 <td><p><span class="term"><code class="computeroutput">len</code></span></p></td>
1204 <td><p>Number of characters in the sequence <span class="emphasis"><em>str</em></span>. </p></td>
1207 <td><p><span class="term"><code class="computeroutput">n</code></span></p></td>
1208 <td><p>Length of the substring of this string to perform comparison to </p></td>
1211 <td><p><span class="term"><code class="computeroutput">pos</code></span></p></td>
1212 <td><p>Starting position within this string to perform comparison to </p></td>
1215 <td><p><span class="term"><code class="computeroutput">str</code></span></p></td>
1216 <td><p>Comparand. Must point to a sequence of characters, must not be NULL. </p></td>
1222 <td><p><span class="term">Requires:</span></p></td>
1223 <td><p><code class="computeroutput">pos <= size()</code> </p></td>
1226 <td><p><span class="term">Returns:</span></p></td>
1227 <td><p>Zero if the comparand equals this string, a negative value if this string is less than the comparand, a positive value if this string is greater than the comparand.</p></td>
1232 <li class="listitem">
1233 <pre class="literallayout"><span class="keyword">int</span> <a name="idp68291424-bb"></a><span class="identifier">compare</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">const_pointer</span> str<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
1234 <p>Lexicographically compares the argument string to a part of this string</p>
1238 <span class="bold"><strong>Throws:</strong></span> An <code class="computeroutput">std::exception</code>-based exception if <span class="emphasis"><em>pos</em></span> is out of range. </p>
1239 <div class="variablelist"><table border="0" class="variablelist compact">
1241 <col align="left" valign="top">
1246 <td><p><span class="term">Parameters:</span></p></td>
1247 <td><div class="variablelist"><table border="0" class="variablelist compact">
1249 <col align="left" valign="top">
1254 <td><p><span class="term"><code class="computeroutput">n</code></span></p></td>
1255 <td><p>Length of the substring of this string to perform comparison to </p></td>
1258 <td><p><span class="term"><code class="computeroutput">pos</code></span></p></td>
1259 <td><p>Starting position within this string to perform comparison to </p></td>
1262 <td><p><span class="term"><code class="computeroutput">str</code></span></p></td>
1263 <td><p>Comparand. Must point to a zero-terminated sequence of characters, must not be NULL. </p></td>
1269 <td><p><span class="term">Requires:</span></p></td>
1270 <td><p><code class="computeroutput">pos <= size()</code> </p></td>
1273 <td><p><span class="term">Returns:</span></p></td>
1274 <td><p>Zero if the comparand equals this string, a negative value if this string is less than the comparand, a positive value if this string is greater than the comparand.</p></td>
1279 <li class="listitem">
1280 <pre class="literallayout"><span class="keyword">int</span> <a name="idp68299648-bb"></a><span class="identifier">compare</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> this_type <span class="keyword">const</span> <span class="special">&</span> that<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
1281 <p>Lexicographically compares the argument string literal to a part of this string</p>
1285 <span class="bold"><strong>Throws:</strong></span> An <code class="computeroutput">std::exception</code>-based exception if <span class="emphasis"><em>pos</em></span> is out of range. </p>
1286 <div class="variablelist"><table border="0" class="variablelist compact">
1288 <col align="left" valign="top">
1293 <td><p><span class="term">Parameters:</span></p></td>
1294 <td><div class="variablelist"><table border="0" class="variablelist compact">
1296 <col align="left" valign="top">
1301 <td><p><span class="term"><code class="computeroutput">n</code></span></p></td>
1302 <td><p>Length of the substring of this string to perform comparison to </p></td>
1305 <td><p><span class="term"><code class="computeroutput">pos</code></span></p></td>
1306 <td><p>Starting position within this string to perform comparison to </p></td>
1309 <td><p><span class="term"><code class="computeroutput">that</code></span></p></td>
1310 <td><p>Comparand </p></td>
1316 <td><p><span class="term">Requires:</span></p></td>
1317 <td><p><code class="computeroutput">pos <= size()</code> </p></td>
1320 <td><p><span class="term">Returns:</span></p></td>
1321 <td><p>Zero if the comparand equals this string, a negative value if this string is less than the comparand, a positive value if this string is greater than the comparand.</p></td>
1326 <li class="listitem">
1327 <pre class="literallayout"><span class="keyword">int</span> <a name="idp68308112-bb"></a><span class="identifier">compare</span><span class="special">(</span><span class="identifier">const_pointer</span> str<span class="special">,</span> <span class="identifier">size_type</span> len<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
1328 <p>Lexicographically compares the argument string to this string</p>
1332 <div class="variablelist"><table border="0" class="variablelist compact">
1334 <col align="left" valign="top">
1339 <td><p><span class="term">Parameters:</span></p></td>
1340 <td><div class="variablelist"><table border="0" class="variablelist compact">
1342 <col align="left" valign="top">
1347 <td><p><span class="term"><code class="computeroutput">len</code></span></p></td>
1348 <td><p>Number of characters in the sequence <span class="emphasis"><em>str</em></span>. </p></td>
1351 <td><p><span class="term"><code class="computeroutput">str</code></span></p></td>
1352 <td><p>Comparand. Must point to a sequence of characters, must not be NULL. </p></td>
1358 <td><p><span class="term">Returns:</span></p></td>
1359 <td><p>Zero if the comparand equals this string, a negative value if this string is less than the comparand, a positive value if this string is greater than the comparand. </p></td>
1364 <li class="listitem">
1365 <pre class="literallayout"><span class="keyword">int</span> <a name="idp68313264-bb"></a><span class="identifier">compare</span><span class="special">(</span><span class="identifier">const_pointer</span> str<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
1366 <p>Lexicographically compares the argument string to this string</p>
1370 <div class="variablelist"><table border="0" class="variablelist compact">
1372 <col align="left" valign="top">
1377 <td><p><span class="term">Parameters:</span></p></td>
1378 <td><div class="variablelist"><table border="0" class="variablelist compact">
1380 <col align="left" valign="top">
1384 <td><p><span class="term"><code class="computeroutput">str</code></span></p></td>
1385 <td><p>Comparand. Must point to a zero-terminated sequence of characters, must not be NULL. </p></td>
1390 <td><p><span class="term">Returns:</span></p></td>
1391 <td><p>Zero if the comparand equals this string, a negative value if this string is less than the comparand, a positive value if this string is greater than the comparand. </p></td>
1396 <li class="listitem">
1397 <pre class="literallayout"><span class="keyword">int</span> <a name="idp68316864-bb"></a><span class="identifier">compare</span><span class="special">(</span>this_type <span class="keyword">const</span> <span class="special">&</span> that<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
1398 <p>Lexicographically compares the argument string to this string</p>
1402 <div class="variablelist"><table border="0" class="variablelist compact">
1404 <col align="left" valign="top">
1409 <td><p><span class="term">Parameters:</span></p></td>
1410 <td><div class="variablelist"><table border="0" class="variablelist compact">
1412 <col align="left" valign="top">
1416 <td><p><span class="term"><code class="computeroutput">that</code></span></p></td>
1417 <td><p>Comparand </p></td>
1422 <td><p><span class="term">Returns:</span></p></td>
1423 <td><p>Zero if the comparand equals this string, a negative value if this string is less than the comparand, a positive value if this string is greater than the comparand. </p></td>
1432 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
1433 <td align="left"></td>
1434 <td align="right"><div class="copyright-footer">Copyright © 2007-2016 Andrey Semashev<p>
1435 Distributed under the Boost Software License, Version 1.0. (See accompanying
1436 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>).
1441 <div class="spirit-nav">
1442 <a accesskey="p" href="strictest_lock.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../utilities.html#header.boost.log.utility.string_literal_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="operator_idp68340832.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>