Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/windirstat/llfio.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'classllfio__v2__xxx_1_1path__view.html')
-rw-r--r--classllfio__v2__xxx_1_1path__view.html14
1 files changed, 8 insertions, 6 deletions
diff --git a/classllfio__v2__xxx_1_1path__view.html b/classllfio__v2__xxx_1_1path__view.html
index 13e13196..323f1230 100644
--- a/classllfio__v2__xxx_1_1path__view.html
+++ b/classllfio__v2__xxx_1_1path__view.html
@@ -185,6 +185,9 @@ constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href=
constexpr void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ab7ae611a6aa7fed01b4447a3f5133c14">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> &amp;o) noexcept</td></tr>
<tr class="memdesc:ab7ae611a6aa7fed01b4447a3f5133c14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap the view with another. <br /></td></tr>
<tr class="separator:ab7ae611a6aa7fed01b4447a3f5133c14"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a99db0dd434afa24ee6f2b6ae9287ecb2"><td class="memItemLeft" align="right" valign="top"><a id="a99db0dd434afa24ee6f2b6ae9287ecb2"></a>
+const <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a1aaf2407fed87b3b4c077e71495039ca">byte</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>_raw_data</b> () const noexcept</td></tr>
+<tr class="separator:a99db0dd434afa24ee6f2b6ae9287ecb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35074d82517e50c28aa99f4a13e8c501"><td class="memItemLeft" align="right" valign="top"><a id="a35074d82517e50c28aa99f4a13e8c501"></a>
LLFIO_NODISCARD LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a35074d82517e50c28aa99f4a13e8c501">empty</a> () const noexcept</td></tr>
<tr class="memdesc:a35074d82517e50c28aa99f4a13e8c501"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if empty. <br /></td></tr>
@@ -333,7 +336,6 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<div class="textblock"><p>A borrowed view of a path. A lightweight trivial-type alternative to <code>std::filesystem::path</code>. </p>
<p>LLFIO is sufficiently fast that <code>std::filesystem::path</code> as a wrapper of an underlying <code>std::basic_string&lt;&gt;</code> can be problematically expensive for some filing system operations due to the potential memory allocation. LLFIO therefore works exclusively with borrowed views of other path storage.</p>
<p>Some of the API for <code>std::filesystem::path</code> is replicated here, however any APIs which modify the path other than taking subsets are obviously not possible with borrowed views.</p>
-<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000003">Todo:</a></b></dt><dd>Lots of member functions remain to be implemented. <code>char8_t</code> and <code>char16_t</code> support is not implemented yet.</dd></dl>
<p>Each consumer of <code>path_view</code> defines what the "native platform transport" and "native platform encoding" is. For LLFIO, the native platform transport is defined to be <code>std::filesystem::path::value_type</code>, which is as follows:</p>
<ul>
<li>POSIX: The native platform transport is <code>char</code>.</li>
@@ -391,7 +393,7 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
</table>
</div><div class="memdoc">
<p>Constructs a path view from a lengthed array of one of <code>byte</code>, <code>char</code>, <code>wchar_t</code>, <code>char8_t</code> or <code>char16_t</code>. The input string MUST continue to exist for this view to be valid. </p>
-<div class="fragment"><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160; : _state(v, len, is_zero_terminated)</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160; {</div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160; }</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160; : _state(v, len, is_zero_terminated)</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160; {</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160; }</div></div><!-- fragment -->
</div>
</div>
<a id="a0d5e676b565090269032a91908a8c0bf"></a>
@@ -418,7 +420,7 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
</table>
</div><div class="memdoc">
<p>Constructs from a basic string if the character type is one of <code>char</code>, <code>wchar_t</code>, <code>char8_t</code> or <code>char16_t</code>. </p>
-<div class="fragment"><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160; : <a class="code" href="classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339">path_view</a>(v.data(), v.size(), <span class="keyword">true</span>)</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160; {</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1path__view_html_a91540ade852194b9507184cdcaed3339"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339">llfio_v2_xxx::path_view::path_view</a></div><div class="ttdeci">constexpr path_view()</div><div class="ttdoc">Constructs an empty path view. </div><div class="ttdef"><b>Definition:</b> path_view.hpp:997</div></div>
+<div class="fragment"><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160; : <a class="code" href="classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339">path_view</a>(v.data(), v.size(), <span class="keyword">true</span>)</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160; {</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1path__view_html_a91540ade852194b9507184cdcaed3339"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339">llfio_v2_xxx::path_view::path_view</a></div><div class="ttdeci">constexpr path_view()</div><div class="ttdoc">Constructs an empty path view. </div><div class="ttdef"><b>Definition:</b> path_view.hpp:996</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -446,7 +448,7 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
</table>
</div><div class="memdoc">
<p>Constructs from a basic string view if the character type is one of <code>char</code>, <code>wchar_t</code>, <code>char8_t</code> or <code>char16_t</code>. </p>
-<div class="fragment"><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160; : <a class="code" href="classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339">path_view</a>(v.data(), v.size(), is_zero_terminated)</div><div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160; {</div><div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1path__view_html_a91540ade852194b9507184cdcaed3339"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339">llfio_v2_xxx::path_view::path_view</a></div><div class="ttdeci">constexpr path_view()</div><div class="ttdoc">Constructs an empty path view. </div><div class="ttdef"><b>Definition:</b> path_view.hpp:997</div></div>
+<div class="fragment"><div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160; : <a class="code" href="classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339">path_view</a>(v.data(), v.size(), is_zero_terminated)</div><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160; {</div><div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1path__view_html_a91540ade852194b9507184cdcaed3339"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339">llfio_v2_xxx::path_view::path_view</a></div><div class="ttdeci">constexpr path_view()</div><div class="ttdoc">Constructs an empty path view. </div><div class="ttdef"><b>Definition:</b> path_view.hpp:996</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -500,7 +502,7 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<p>If the source encodings of the two path views are compatible, a lexicographical comparison is performed. If they are incompatible, either or both views are converted to the destination encoding using <code>c_str&lt;T, Delete, _internal_buffer_size&gt;</code>, and then a lexicographical comparison is performed.</p>
<p>This can, for obvious reasons, be expensive. It can also throw exceptions, as <code>c_str</code> does.</p>
<p>If the destination encoding is <code>byte</code>, <code>memcmp()</code> is used, and <code>c_str</code> is never invoked as the two sources are byte compared directly.This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>&#160; { <span class="keywordflow">return</span> compare&lt;T, Deleter, _internal_buffer_size&gt;(path_view_component(s)); }</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160; { <span class="keywordflow">return</span> compare&lt;T, Deleter, _internal_buffer_size&gt;(path_view_component(s)); }</div></div><!-- fragment -->
</div>
</div>
<a id="a1080207b46f1b48f0ee656995a506646"></a>
@@ -547,7 +549,7 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<p>Number of characters, excluding zero terminating char, at buffer</p>
<p>See constructor for <code>path_view_component::c_str</code>.</p>
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
-<div class="fragment"><div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160; : <span class="keyword">public</span> path_view_component::c_str&lt;T, Deleter, _internal_buffer_size&gt;</div><div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160; {<span class="comment"></span></div><div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160;<span class="comment"> //! Number of characters, excluding zero terminating char, at buffer</span></div><div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160;<span class="comment"></span> <span class="keyword">using</span> _base = path_view_component::c_str&lt;T, Deleter, _internal_buffer_size&gt;;<span class="comment"></span></div><div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160;<span class="comment"> /*! See constructor for `path_view_component::c_str`.</span></div><div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> U&gt;</div><div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160; c_str(<a class="code" href="classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339">path_view</a> view, <span class="keywordtype">bool</span> no_zero_terminate, U &amp;&amp;allocate)</div><div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160; : _base(view._state, no_zero_terminate, static_cast&lt;U &amp;&amp;&gt;(allocate))</div><div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160; {</div><div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160; }<span class="comment"></span></div><div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160;<span class="comment"> //! \overload</span></div><div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160;<span class="comment"></span> c_str(<a class="code" href="classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339">path_view</a> view, <span class="keywordtype">bool</span> no_zero_terminate = <span class="keyword">false</span>)</div><div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160; : _base(view._state, no_zero_terminate)</div><div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160; {</div><div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160; }</div><div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160; };</div><div class="ttc" id="classllfio__v2__xxx_1_1path__view_html_a91540ade852194b9507184cdcaed3339"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339">llfio_v2_xxx::path_view::path_view</a></div><div class="ttdeci">constexpr path_view()</div><div class="ttdoc">Constructs an empty path view. </div><div class="ttdef"><b>Definition:</b> path_view.hpp:997</div></div>
+<div class="fragment"><div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160; : <span class="keyword">public</span> path_view_component::c_str&lt;T, Deleter, _internal_buffer_size&gt;</div><div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160; {<span class="comment"></span></div><div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160;<span class="comment"> //! Number of characters, excluding zero terminating char, at buffer</span></div><div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160;<span class="comment"></span> <span class="keyword">using</span> _base = path_view_component::c_str&lt;T, Deleter, _internal_buffer_size&gt;;<span class="comment"></span></div><div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>&#160;<span class="comment"> /*! See constructor for `path_view_component::c_str`.</span></div><div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> U&gt;</div><div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160; c_str(<a class="code" href="classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339">path_view</a> view, <span class="keywordtype">bool</span> no_zero_terminate, U &amp;&amp;allocate)</div><div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160; : _base(view._state, no_zero_terminate, static_cast&lt;U &amp;&amp;&gt;(allocate))</div><div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160; {</div><div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160; }<span class="comment"></span></div><div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160;<span class="comment"> //! \overload</span></div><div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160;<span class="comment"></span> c_str(<a class="code" href="classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339">path_view</a> view, <span class="keywordtype">bool</span> no_zero_terminate = <span class="keyword">false</span>)</div><div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160; : _base(view._state, no_zero_terminate)</div><div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160; {</div><div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160; }</div><div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160; };</div><div class="ttc" id="classllfio__v2__xxx_1_1path__view_html_a91540ade852194b9507184cdcaed3339"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339">llfio_v2_xxx::path_view::path_view</a></div><div class="ttdeci">constexpr path_view()</div><div class="ttdoc">Constructs an empty path view. </div><div class="ttdef"><b>Definition:</b> path_view.hpp:996</div></div>
</div><!-- fragment -->
</div>
</div>