diff options
Diffstat (limited to 'classllfio__v2__xxx_1_1path__view.html')
-rw-r--r-- | classllfio__v2__xxx_1_1path__view.html | 14 |
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 </td><td class="memItemRight" valign="bottom"><a class="el" href= constexpr void </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> &o) noexcept</td></tr> <tr class="memdesc:ab7ae611a6aa7fed01b4447a3f5133c14"><td class="mdescLeft"> </td><td class="mdescRight">Swap the view with another. <br /></td></tr> <tr class="separator:ab7ae611a6aa7fed01b4447a3f5133c14"><td class="memSeparator" colspan="2"> </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> * </td><td class="memItemRight" valign="bottom"><b>_raw_data</b> () const noexcept</td></tr> +<tr class="separator:a99db0dd434afa24ee6f2b6ae9287ecb2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a35074d82517e50c28aa99f4a13e8c501"><td class="memItemLeft" align="right" valign="top"><a id="a35074d82517e50c28aa99f4a13e8c501"></a> LLFIO_NODISCARD LLFIO_PATH_VIEW_CONSTEXPR bool </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"> </td><td class="mdescRight">True if empty. <br /></td></tr> @@ -333,7 +336,6 @@ std::ostream & </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<></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 & </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>  : _state(v, len, is_zero_terminated)</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>  {</div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>  }</div></div><!-- fragment --> +<div class="fragment"><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>  : _state(v, len, is_zero_terminated)</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>  {</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>  }</div></div><!-- fragment --> </div> </div> <a id="a0d5e676b565090269032a91908a8c0bf"></a> @@ -418,7 +420,7 @@ std::ostream & </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>  : <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>  {</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>  }</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>  : <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>  {</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>  }</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 & </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>  : <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>  {</div><div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>  }</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>  : <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>  {</div><div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>  }</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 & </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<T, Delete, _internal_buffer_size></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>  { <span class="keywordflow">return</span> compare<T, Deleter, _internal_buffer_size>(path_view_component(s)); }</div></div><!-- fragment --> +<div class="fragment"><div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>  { <span class="keywordflow">return</span> compare<T, Deleter, _internal_buffer_size>(path_view_component(s)); }</div></div><!-- fragment --> </div> </div> <a id="a1080207b46f1b48f0ee656995a506646"></a> @@ -547,7 +549,7 @@ std::ostream & </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>  : <span class="keyword">public</span> path_view_component::c_str<T, Deleter, _internal_buffer_size></div><div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>  {<span class="comment"></span></div><div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> <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> <span class="comment"></span> <span class="keyword">using</span> _base = path_view_component::c_str<T, Deleter, _internal_buffer_size>;<span class="comment"></span></div><div class="line"><a name="l01330"></a><span class="lineno"> 1330</span> <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> <span class="comment"> */</span></div><div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>  <span class="keyword">template</span> <<span class="keyword">class</span> U></div><div class="line"><a name="l01333"></a><span class="lineno"> 1333</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, U &&allocate)</div><div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>  : _base(view._state, no_zero_terminate, static_cast<U &&>(allocate))</div><div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>  {</div><div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>  }<span class="comment"></span></div><div class="line"><a name="l01337"></a><span class="lineno"> 1337</span> <span class="comment"> //! \overload</span></div><div class="line"><a name="l01338"></a><span class="lineno"> 1338</span> <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>  : _base(view._state, no_zero_terminate)</div><div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>  {</div><div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>  }</div><div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>  };</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>  : <span class="keyword">public</span> path_view_component::c_str<T, Deleter, _internal_buffer_size></div><div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>  {<span class="comment"></span></div><div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> <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> <span class="comment"></span> <span class="keyword">using</span> _base = path_view_component::c_str<T, Deleter, _internal_buffer_size>;<span class="comment"></span></div><div class="line"><a name="l01331"></a><span class="lineno"> 1331</span> <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> <span class="comment"> */</span></div><div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>  <span class="keyword">template</span> <<span class="keyword">class</span> U></div><div class="line"><a name="l01334"></a><span class="lineno"> 1334</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, U &&allocate)</div><div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>  : _base(view._state, no_zero_terminate, static_cast<U &&>(allocate))</div><div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>  {</div><div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>  }<span class="comment"></span></div><div class="line"><a name="l01338"></a><span class="lineno"> 1338</span> <span class="comment"> //! \overload</span></div><div class="line"><a name="l01339"></a><span class="lineno"> 1339</span> <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>  : _base(view._state, no_zero_terminate)</div><div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>  {</div><div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>  }</div><div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>  };</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> |