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.html799
1 files changed, 589 insertions, 210 deletions
diff --git a/classllfio__v2__xxx_1_1path__view.html b/classllfio__v2__xxx_1_1path__view.html
index bff3150b..2b87ba9a 100644
--- a/classllfio__v2__xxx_1_1path__view.html
+++ b/classllfio__v2__xxx_1_1path__view.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::path_view Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -13,9 +13,6 @@
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
@@ -29,7 +26,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LLFIO
- &#160;<span id="projectnumber">v2.00 late alpha</span>
+ &#160;<span id="projectnumber">v2.00 late beta</span>
</div>
</td>
</tr>
@@ -37,18 +34,21 @@
</table>
</div>
<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
+<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
-</script>
+/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -62,7 +62,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
-$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1path__view.html','');});
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1path__view.html',''); initResizable(); });
+/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
@@ -83,6 +85,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1path__view.html
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classllfio__v2__xxx_1_1path__view-members.html">List of all members</a> </div>
@@ -95,11 +98,18 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1path__view.html
<a href="classllfio__v2__xxx_1_1path__view.html#details">More...</a></p>
<p><code>#include &quot;path_view.hpp&quot;</code></p>
+<div class="dynheader">
+Inheritance diagram for llfio_v2_xxx::path_view:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classllfio__v2__xxx_1_1path__view.png" usemap="#llfio_5Fv2_5Fxxx::path_5Fview_map" alt=""/>
+ <map id="llfio_5Fv2_5Fxxx::path_5Fview_map" name="llfio_5Fv2_5Fxxx::path_5Fview_map">
+<area href="classllfio__v2__xxx_1_1path__view__component.html" title="An iterated part of a path_view." alt="llfio_v2_xxx::path_view_component" shape="rect" coords="0,0,209,24"/>
+ </map>
+</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
-<tr class="memitem:ae1cf7b922e5bb83510b787b64479d304"><td class="memItemLeft" align="right" valign="top"><a id="ae1cf7b922e5bb83510b787b64479d304"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>char16_t</b> : unsigned short </td></tr>
-<tr class="separator:ae1cf7b922e5bb83510b787b64479d304"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae064112c51630be49c33bd51e4380cbd"><td class="memItemLeft" align="right" valign="top"><a id="ae064112c51630be49c33bd51e4380cbd"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ae064112c51630be49c33bd51e4380cbd">const_iterator</a> = detail::path_view_iterator</td></tr>
<tr class="memdesc:ae064112c51630be49c33bd51e4380cbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Const iterator type. <br /></td></tr>
@@ -116,18 +126,42 @@ using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cla
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#af613a5a2995dd0fca21d914b59e4aff8">const_reverse_iterator</a> = std::reverse_iterator&lt; <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ae064112c51630be49c33bd51e4380cbd">const_iterator</a> &gt;</td></tr>
<tr class="memdesc:af613a5a2995dd0fca21d914b59e4aff8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Const reverse iterator. <br /></td></tr>
<tr class="separator:af613a5a2995dd0fca21d914b59e4aff8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac797abdc80bbd5f5b94ccb4e30117cbb"><td class="memItemLeft" align="right" valign="top"><a id="ac797abdc80bbd5f5b94ccb4e30117cbb"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ac797abdc80bbd5f5b94ccb4e30117cbb">size_type</a> = std::size_t</td></tr>
-<tr class="memdesc:ac797abdc80bbd5f5b94ccb4e30117cbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size type. <br /></td></tr>
-<tr class="separator:ac797abdc80bbd5f5b94ccb4e30117cbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5144026296227cb66bca4db8057a12f5"><td class="memItemLeft" align="right" valign="top"><a id="a5144026296227cb66bca4db8057a12f5"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a5144026296227cb66bca4db8057a12f5">size_type</a> = <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaddc29d3eb4bd29e2a676ad0eac864c0">path_view_component::size_type</a></td></tr>
+<tr class="memdesc:a5144026296227cb66bca4db8057a12f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size type. <br /></td></tr>
+<tr class="separator:a5144026296227cb66bca4db8057a12f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4e14fc71abee0765b06af857bd6a025"><td class="memItemLeft" align="right" valign="top"><a id="ad4e14fc71abee0765b06af857bd6a025"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ad4e14fc71abee0765b06af857bd6a025">difference_type</a> = std::ptrdiff_t</td></tr>
<tr class="memdesc:ad4e14fc71abee0765b06af857bd6a025"><td class="mdescLeft">&#160;</td><td class="mdescRight">Difference type. <br /></td></tr>
<tr class="separator:ad4e14fc71abee0765b06af857bd6a025"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1aaf2407fed87b3b4c077e71495039ca"><td class="memItemLeft" align="right" valign="top"><a id="a1aaf2407fed87b3b4c077e71495039ca"></a>
-using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a1aaf2407fed87b3b4c077e71495039ca">byte</a> = llfio_v2_xxx::byte</td></tr>
-<tr class="memdesc:a1aaf2407fed87b3b4c077e71495039ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Character type for passthrough input. <br /></td></tr>
-<tr class="separator:a1aaf2407fed87b3b4c077e71495039ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d0688505b971f8ff6f9b9075817d48d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a> : uint8_t { <br />
+&#160;&#160;<b>unknown</b>,
+<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dafc810cf94971424955357c610a506b7b">native_format</a>,
+<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48da570096cfe6db7f309f5932170f5c3455">generic_format</a>,
+<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a>,
+<br />
+&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055">binary_format</a>
+<br />
+ }</td></tr>
+<tr class="memdesc:a3d0688505b971f8ff6f9b9075817d48d"><td class="mdescLeft">&#160;</td><td class="mdescRight">How to interpret separators. <a href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">More...</a><br /></td></tr>
+<tr class="separator:a3d0688505b971f8ff6f9b9075817d48d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a24bb2d232a1aa744c3ba4018f8732e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a> { <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6">zero_terminated</a>,
+<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ea86968f101145830aa8b984150d82392f">not_zero_terminated</a>
+ }</td></tr>
+<tr class="memdesc:a4a24bb2d232a1aa744c3ba4018f8732e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The zero termination to use. <a href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">More...</a><br /></td></tr>
+<tr class="separator:a4a24bb2d232a1aa744c3ba4018f8732e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7663cb908516be3f8bf17b6826da186a"><td class="memItemLeft" align="right" valign="top"><a id="a7663cb908516be3f8bf17b6826da186a"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7663cb908516be3f8bf17b6826da186a">byte</a> = llfio_v2_xxx::byte</td></tr>
+<tr class="memdesc:a7663cb908516be3f8bf17b6826da186a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Character type for passthrough input. <br /></td></tr>
+<tr class="separator:a7663cb908516be3f8bf17b6826da186a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a38ff18893dfc84c562fb36c299702bf5"><td class="memItemLeft" align="right" valign="top"><a id="a38ff18893dfc84c562fb36c299702bf5"></a>
+using&#160;</td><td class="memItemRight" valign="bottom"><b>char16_t</b> = detail::char16_t</td></tr>
+<tr class="separator:a38ff18893dfc84c562fb36c299702bf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaa1116ad357d1c73d1cc26ce28b29c82"><td class="memTemplParams" colspan="2"><a id="aaa1116ad357d1c73d1cc26ce28b29c82"></a>
+template&lt;class T &gt; </td></tr>
+<tr class="memitem:aaa1116ad357d1c73d1cc26ce28b29c82"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaa1116ad357d1c73d1cc26ce28b29c82">default_c_str_deleter</a> = std::default_delete&lt; T &gt;</td></tr>
+<tr class="memdesc:aaa1116ad357d1c73d1cc26ce28b29c82"><td class="mdescLeft">&#160;</td><td class="mdescRight">The default deleter to use. <br /></td></tr>
+<tr class="separator:aaa1116ad357d1c73d1cc26ce28b29c82"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
@@ -135,40 +169,26 @@ Public Member Functions</h2></td></tr>
constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a91540ade852194b9507184cdcaed3339">path_view</a> ()</td></tr>
<tr class="memdesc:a91540ade852194b9507184cdcaed3339"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs an empty path view. <br /></td></tr>
<tr class="separator:a91540ade852194b9507184cdcaed3339"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab423783d2a907166248f3074f3750045"><td class="memItemLeft" align="right" valign="top"><a id="ab423783d2a907166248f3074f3750045"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ab423783d2a907166248f3074f3750045">path_view</a> (const filesystem::path &amp;v) noexcept</td></tr>
-<tr class="memdesc:ab423783d2a907166248f3074f3750045"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implicitly constructs a path view from a path. The input path MUST continue to exist for this view to be valid. <br /></td></tr>
-<tr class="separator:ab423783d2a907166248f3074f3750045"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9bfb80a086ac6f7848639a818de9841a"><td class="memItemLeft" align="right" valign="top"><a id="a9bfb80a086ac6f7848639a818de9841a"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a9bfb80a086ac6f7848639a818de9841a">path_view</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> v) noexcept</td></tr>
-<tr class="memdesc:a9bfb80a086ac6f7848639a818de9841a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implicitly constructs a path view from a path view component. The input path MUST continue to exist for this view to be valid. <br /></td></tr>
-<tr class="separator:a9bfb80a086ac6f7848639a818de9841a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a711521276cb79a9483a27bf5692ab30d"><td class="memItemLeft" align="right" valign="top"><a id="a711521276cb79a9483a27bf5692ab30d"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a711521276cb79a9483a27bf5692ab30d">path_view</a> (const char *v) noexcept</td></tr>
-<tr class="memdesc:a711521276cb79a9483a27bf5692ab30d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implicitly constructs a path view from a zero terminated <code>const char *</code>. Convenience wrapper for the <code>byte</code> constructor. The input string MUST continue to exist for this view to be valid. <br /></td></tr>
-<tr class="separator:a711521276cb79a9483a27bf5692ab30d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a38729f67ca5ce1801b5cf951dcd71a28"><td class="memItemLeft" align="right" valign="top"><a id="a38729f67ca5ce1801b5cf951dcd71a28"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a38729f67ca5ce1801b5cf951dcd71a28">path_view</a> (const wchar_t *v) noexcept</td></tr>
-<tr class="memdesc:a38729f67ca5ce1801b5cf951dcd71a28"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implicitly constructs a path view from a zero terminated <code>const wchar_t *</code>. Convenience wrapper for the <code>byte</code> constructor. The input string MUST continue to exist for this view to be valid. <br /></td></tr>
-<tr class="separator:a38729f67ca5ce1801b5cf951dcd71a28"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab5cf1494522b2422c9b6e645e5837deb"><td class="memItemLeft" align="right" valign="top"><a id="ab5cf1494522b2422c9b6e645e5837deb"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ab5cf1494522b2422c9b6e645e5837deb">path_view</a> (const char8_t *v) noexcept</td></tr>
-<tr class="memdesc:ab5cf1494522b2422c9b6e645e5837deb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implicitly constructs a path view from a zero terminated <code>const char8_t *</code>. Performs a UTF-8 to native encoding if necessary. The input string MUST continue to exist for this view to be valid. <br /></td></tr>
-<tr class="separator:ab5cf1494522b2422c9b6e645e5837deb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5f649112f30854859d95629a460dca23"><td class="memItemLeft" align="right" valign="top"><a id="a5f649112f30854859d95629a460dca23"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a5f649112f30854859d95629a460dca23">path_view</a> (const char16_t *v) noexcept</td></tr>
-<tr class="memdesc:a5f649112f30854859d95629a460dca23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implicitly constructs a path view from a zero terminated <code>const char16_t *</code>. Performs a UTF-16 to native encoding if necessary. The input string MUST continue to exist for this view to be valid. <br /></td></tr>
-<tr class="separator:a5f649112f30854859d95629a460dca23"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0d5e676b565090269032a91908a8c0bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a0d5e676b565090269032a91908a8c0bf">LLFIO_TEMPLATE</a> (class Char) LLFIO_TREQUIRES(LLFIO_TPRED(<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a></td></tr>
-<tr class="separator:a0d5e676b565090269032a91908a8c0bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0d5e676b565090269032a91908a8c0bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a0d5e676b565090269032a91908a8c0bf">LLFIO_TEMPLATE</a> (class Char) LLFIO_TREQUIRES(LLFIO_TPRED(<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a></td></tr>
-<tr class="separator:a0d5e676b565090269032a91908a8c0bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0d5e676b565090269032a91908a8c0bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a0d5e676b565090269032a91908a8c0bf">LLFIO_TEMPLATE</a> (class Char) LLFIO_TREQUIRES(LLFIO_TPRED(<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a></td></tr>
-<tr class="separator:a0d5e676b565090269032a91908a8c0bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a83b86163124a03eadb509e3bb4bcce3e"><td class="memItemLeft" align="right" valign="top"><a id="a83b86163124a03eadb509e3bb4bcce3e"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a83b86163124a03eadb509e3bb4bcce3e">path_view</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> &amp;)=default</td></tr>
-<tr class="memdesc:a83b86163124a03eadb509e3bb4bcce3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default copy constructor. <br /></td></tr>
-<tr class="separator:a83b86163124a03eadb509e3bb4bcce3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad13185e46ea7602e58368e6fc815cc5e"><td class="memItemLeft" align="right" valign="top"><a id="ad13185e46ea7602e58368e6fc815cc5e"></a>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ad13185e46ea7602e58368e6fc815cc5e">path_view</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> p, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a> fmt=<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a>) noexcept</td></tr>
+<tr class="memdesc:ad13185e46ea7602e58368e6fc815cc5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a path view component identical to the input, except with different format interpretation. <br /></td></tr>
+<tr class="separator:ad13185e46ea7602e58368e6fc815cc5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a51f54e918b2ab425cfae17c69acc4559"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a51f54e918b2ab425cfae17c69acc4559">path_view</a> (const filesystem::path &amp;v, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a> fmt=<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a>) noexcept</td></tr>
+<tr class="separator:a51f54e918b2ab425cfae17c69acc4559"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a347bdf25436d0e99f1af1bcc11b4cda4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a347bdf25436d0e99f1af1bcc11b4cda4">LLFIO_TEMPLATE</a> (class Char) LLFIO_TREQUIRES(LLFIO_TPRED(<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3c5feb7fca596c44418f89c9e60b8165">is_source_chartype_acceptable</a>&lt; Char &gt;)) const expr <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a>(const std</td></tr>
+<tr class="separator:a347bdf25436d0e99f1af1bcc11b4cda4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7c6f713611d051664daaa75146b4a2dc"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a7c6f713611d051664daaa75146b4a2dc">path_view</a> (const char *b, size_t l, enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a> zt, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a> fmt=<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a>) noexcept</td></tr>
+<tr class="separator:a7c6f713611d051664daaa75146b4a2dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abf0848bab6bea4f142f1f65c5ed24a0d"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#abf0848bab6bea4f142f1f65c5ed24a0d">path_view</a> (const wchar_t *b, size_t l, enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a> zt, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a> fmt=<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a>) noexcept</td></tr>
+<tr class="separator:abf0848bab6bea4f142f1f65c5ed24a0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5e29d17c4f7714b3a32cf580165c4c0c"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a5e29d17c4f7714b3a32cf580165c4c0c">path_view</a> (const char8_t *b, size_t l, enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a> zt, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a> fmt=<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a>) noexcept</td></tr>
+<tr class="separator:a5e29d17c4f7714b3a32cf580165c4c0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6fc737972479dc5c20ffd4a60aa4c68e"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a6fc737972479dc5c20ffd4a60aa4c68e">path_view</a> (const char16_t *b, size_t l, enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a> zt, <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a> fmt=<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a>) noexcept</td></tr>
+<tr class="separator:a6fc737972479dc5c20ffd4a60aa4c68e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a928116cad46c1e8c21bbfd5bef998d8e"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a928116cad46c1e8c21bbfd5bef998d8e">path_view</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7663cb908516be3f8bf17b6826da186a">byte</a> *b, size_t l, enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a> zt) noexcept</td></tr>
+<tr class="separator:a928116cad46c1e8c21bbfd5bef998d8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a290c98c372e746211245aa5a1e6aef11"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a290c98c372e746211245aa5a1e6aef11">LLFIO_TEMPLATE</a> (class Char) LLFIO_TREQUIRES(LLFIO_TPRED(<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3c5feb7fca596c44418f89c9e60b8165">is_source_chartype_acceptable</a>&lt; Char &gt;)) const expr <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a>(const Char *s</td></tr>
+<tr class="separator:a290c98c372e746211245aa5a1e6aef11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fb290145d390bd9e8cf3b5e2553c266"><td class="memItemLeft" align="right" valign="top"><a id="a4fb290145d390bd9e8cf3b5e2553c266"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a4fb290145d390bd9e8cf3b5e2553c266">path_view</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> &amp;&amp;o) noexcept=default</td></tr>
<tr class="memdesc:a4fb290145d390bd9e8cf3b5e2553c266"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default move constructor. <br /></td></tr>
@@ -181,82 +201,66 @@ constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href=
<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a3cfdc7d5b0557c4f5d1c7f7ca9b0a76f">operator=</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> &amp;&amp;p) noexcept=default</td></tr>
<tr class="memdesc:a3cfdc7d5b0557c4f5d1c7f7ca9b0a76f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default move assignment. <br /></td></tr>
<tr class="separator:a3cfdc7d5b0557c4f5d1c7f7ca9b0a76f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab7ae611a6aa7fed01b4447a3f5133c14"><td class="memItemLeft" align="right" valign="top"><a id="ab7ae611a6aa7fed01b4447a3f5133c14"></a>
-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>
-<tr class="separator:a35074d82517e50c28aa99f4a13e8c501"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a345b745ec73e1a9615a420e9295a0257"><td class="memItemLeft" align="right" valign="top"><a id="a345b745ec73e1a9615a420e9295a0257"></a>
-LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>has_root_path</b> () const noexcept</td></tr>
+LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a345b745ec73e1a9615a420e9295a0257">has_root_path</a> () const noexcept</td></tr>
+<tr class="memdesc:a345b745ec73e1a9615a420e9295a0257"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if has root path. <br /></td></tr>
<tr class="separator:a345b745ec73e1a9615a420e9295a0257"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbd047c290ab91eaf1067036194f1e8f"><td class="memItemLeft" align="right" valign="top"><a id="acbd047c290ab91eaf1067036194f1e8f"></a>
-LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>has_root_name</b> () const noexcept</td></tr>
+LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#acbd047c290ab91eaf1067036194f1e8f">has_root_name</a> () const noexcept</td></tr>
+<tr class="memdesc:acbd047c290ab91eaf1067036194f1e8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if has root name. <br /></td></tr>
<tr class="separator:acbd047c290ab91eaf1067036194f1e8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe52198fb027adfce8f86c5ae8e7a2ad"><td class="memItemLeft" align="right" valign="top"><a id="afe52198fb027adfce8f86c5ae8e7a2ad"></a>
-LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>has_root_directory</b> () const noexcept</td></tr>
+LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#afe52198fb027adfce8f86c5ae8e7a2ad">has_root_directory</a> () const noexcept</td></tr>
+<tr class="memdesc:afe52198fb027adfce8f86c5ae8e7a2ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if has root directory. <br /></td></tr>
<tr class="separator:afe52198fb027adfce8f86c5ae8e7a2ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4ba638203e3fc1e6cbcef9b6c4ca956"><td class="memItemLeft" align="right" valign="top"><a id="ad4ba638203e3fc1e6cbcef9b6c4ca956"></a>
-LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>has_relative_path</b> () const noexcept</td></tr>
+LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ad4ba638203e3fc1e6cbcef9b6c4ca956">has_relative_path</a> () const noexcept</td></tr>
+<tr class="memdesc:ad4ba638203e3fc1e6cbcef9b6c4ca956"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if has relative path. <br /></td></tr>
<tr class="separator:ad4ba638203e3fc1e6cbcef9b6c4ca956"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4f0f2678b636b59e50114a0bcdbc6ca"><td class="memItemLeft" align="right" valign="top"><a id="ae4f0f2678b636b59e50114a0bcdbc6ca"></a>
-LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>has_parent_path</b> () const noexcept</td></tr>
+LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ae4f0f2678b636b59e50114a0bcdbc6ca">has_parent_path</a> () const noexcept</td></tr>
+<tr class="memdesc:ae4f0f2678b636b59e50114a0bcdbc6ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if has parent path. <br /></td></tr>
<tr class="separator:ae4f0f2678b636b59e50114a0bcdbc6ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a257d31cbb37fc019033bab262d01d50e"><td class="memItemLeft" align="right" valign="top"><a id="a257d31cbb37fc019033bab262d01d50e"></a>
-LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>has_filename</b> () const noexcept</td></tr>
+LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a257d31cbb37fc019033bab262d01d50e">has_filename</a> () const noexcept</td></tr>
+<tr class="memdesc:a257d31cbb37fc019033bab262d01d50e"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if has filename. <br /></td></tr>
<tr class="separator:a257d31cbb37fc019033bab262d01d50e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a512962b9588d3d4d15f366ae3cb09d34"><td class="memItemLeft" align="right" valign="top"><a id="a512962b9588d3d4d15f366ae3cb09d34"></a>
-LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>has_stem</b> () const noexcept</td></tr>
-<tr class="separator:a512962b9588d3d4d15f366ae3cb09d34"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4578d185306681fe2bc7996b53396d0f"><td class="memItemLeft" align="right" valign="top"><a id="a4578d185306681fe2bc7996b53396d0f"></a>
-LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>has_extension</b> () const noexcept</td></tr>
-<tr class="separator:a4578d185306681fe2bc7996b53396d0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa764357828bed56ec356828a090aff86"><td class="memItemLeft" align="right" valign="top"><a id="aa764357828bed56ec356828a090aff86"></a>
-constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_absolute</b> () const noexcept</td></tr>
+constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#aa764357828bed56ec356828a090aff86">is_absolute</a> () const noexcept</td></tr>
+<tr class="memdesc:aa764357828bed56ec356828a090aff86"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if absolute. <br /></td></tr>
<tr class="separator:aa764357828bed56ec356828a090aff86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9532a152294cc91153584a909210b30"><td class="memItemLeft" align="right" valign="top"><a id="ae9532a152294cc91153584a909210b30"></a>
-constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_relative</b> () const noexcept</td></tr>
+constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ae9532a152294cc91153584a909210b30">is_relative</a> () const noexcept</td></tr>
+<tr class="memdesc:ae9532a152294cc91153584a909210b30"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if relative. <br /></td></tr>
<tr class="separator:ae9532a152294cc91153584a909210b30"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1ac23fffe202146b4aecfb82a99c9a77"><td class="memItemLeft" align="right" valign="top"><a id="a1ac23fffe202146b4aecfb82a99c9a77"></a>
-LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>contains_glob</b> () const noexcept</td></tr>
-<tr class="separator:a1ac23fffe202146b4aecfb82a99c9a77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8efb8be3b3f3b224680e9f10149bb2da"><td class="memItemLeft" align="right" valign="top"><a id="a8efb8be3b3f3b224680e9f10149bb2da"></a>
constexpr <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ae064112c51630be49c33bd51e4380cbd">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a8efb8be3b3f3b224680e9f10149bb2da">cbegin</a> () const noexcept</td></tr>
<tr class="memdesc:a8efb8be3b3f3b224680e9f10149bb2da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the first path component. <br /></td></tr>
<tr class="separator:a8efb8be3b3f3b224680e9f10149bb2da"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad732574572c44177bd661456a542f50a"><td class="memItemLeft" align="right" valign="top"><a id="ad732574572c44177bd661456a542f50a"></a>
-constexpr <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ae064112c51630be49c33bd51e4380cbd">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ad732574572c44177bd661456a542f50a">begin</a> () const noexcept</td></tr>
-<tr class="memdesc:ad732574572c44177bd661456a542f50a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the first path component. <br /></td></tr>
-<tr class="separator:ad732574572c44177bd661456a542f50a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a61cb7bbf03f090213d899ca28598b891"><td class="memItemLeft" align="right" valign="top"><a id="a61cb7bbf03f090213d899ca28598b891"></a>
-constexpr <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a7bfb0a79057416a10f43cf25b4c6c57a">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a61cb7bbf03f090213d899ca28598b891">begin</a> () noexcept</td></tr>
-<tr class="memdesc:a61cb7bbf03f090213d899ca28598b891"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the first path component. <br /></td></tr>
-<tr class="separator:a61cb7bbf03f090213d899ca28598b891"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af0a910127745883a07bc7418112d6c0c"><td class="memItemLeft" align="right" valign="top"><a id="af0a910127745883a07bc7418112d6c0c"></a>
+constexpr <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ae064112c51630be49c33bd51e4380cbd">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#af0a910127745883a07bc7418112d6c0c">begin</a> () const noexcept</td></tr>
+<tr class="memdesc:af0a910127745883a07bc7418112d6c0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the first path component. <br /></td></tr>
+<tr class="separator:af0a910127745883a07bc7418112d6c0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab4d29045b8005b679b21e50d66f96b0b"><td class="memItemLeft" align="right" valign="top"><a id="ab4d29045b8005b679b21e50d66f96b0b"></a>
+constexpr <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a7bfb0a79057416a10f43cf25b4c6c57a">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ab4d29045b8005b679b21e50d66f96b0b">begin</a> () noexcept</td></tr>
+<tr class="memdesc:ab4d29045b8005b679b21e50d66f96b0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to the first path component. <br /></td></tr>
+<tr class="separator:ab4d29045b8005b679b21e50d66f96b0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37beaa71c1df79c40133a0548e8d0042"><td class="memItemLeft" align="right" valign="top"><a id="a37beaa71c1df79c40133a0548e8d0042"></a>
constexpr <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ae064112c51630be49c33bd51e4380cbd">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a37beaa71c1df79c40133a0548e8d0042">cend</a> () const noexcept</td></tr>
<tr class="memdesc:a37beaa71c1df79c40133a0548e8d0042"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to after the last path component. <br /></td></tr>
<tr class="separator:a37beaa71c1df79c40133a0548e8d0042"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a266f7052b687b4ba422c4cbcd0b2f453"><td class="memItemLeft" align="right" valign="top"><a id="a266f7052b687b4ba422c4cbcd0b2f453"></a>
-constexpr <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ae064112c51630be49c33bd51e4380cbd">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a266f7052b687b4ba422c4cbcd0b2f453">end</a> () const noexcept</td></tr>
-<tr class="memdesc:a266f7052b687b4ba422c4cbcd0b2f453"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to after the last path component. <br /></td></tr>
-<tr class="separator:a266f7052b687b4ba422c4cbcd0b2f453"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2711832d81f40800e9d3915b9c37ff4e"><td class="memItemLeft" align="right" valign="top"><a id="a2711832d81f40800e9d3915b9c37ff4e"></a>
-constexpr <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a7bfb0a79057416a10f43cf25b4c6c57a">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a2711832d81f40800e9d3915b9c37ff4e">end</a> () noexcept</td></tr>
-<tr class="memdesc:a2711832d81f40800e9d3915b9c37ff4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to after the last path component. <br /></td></tr>
-<tr class="separator:a2711832d81f40800e9d3915b9c37ff4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6aeda6dd5f05a8dc83e5e76d3765d207"><td class="memItemLeft" align="right" valign="top"><a id="a6aeda6dd5f05a8dc83e5e76d3765d207"></a>
+constexpr <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ae064112c51630be49c33bd51e4380cbd">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a6aeda6dd5f05a8dc83e5e76d3765d207">end</a> () const noexcept</td></tr>
+<tr class="memdesc:a6aeda6dd5f05a8dc83e5e76d3765d207"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to after the last path component. <br /></td></tr>
+<tr class="separator:a6aeda6dd5f05a8dc83e5e76d3765d207"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0afa3031faf76f8476d95f8897b4f1ae"><td class="memItemLeft" align="right" valign="top"><a id="a0afa3031faf76f8476d95f8897b4f1ae"></a>
+constexpr <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a7bfb0a79057416a10f43cf25b4c6c57a">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a0afa3031faf76f8476d95f8897b4f1ae">end</a> () noexcept</td></tr>
+<tr class="memdesc:a0afa3031faf76f8476d95f8897b4f1ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator to after the last path component. <br /></td></tr>
+<tr class="separator:a0afa3031faf76f8476d95f8897b4f1ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac33ed45573976ace5610de51d40de0ee"><td class="memItemLeft" align="right" valign="top"><a id="ac33ed45573976ace5610de51d40de0ee"></a>
LLFIO_PATH_VIEW_CONSTEXPR <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ac33ed45573976ace5610de51d40de0ee">remove_filename</a> () const noexcept</td></tr>
<tr class="memdesc:ac33ed45573976ace5610de51d40de0ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a copy of this view with the end adjusted to match the final separator. <br /></td></tr>
<tr class="separator:ac33ed45573976ace5610de51d40de0ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a711aaeec6fcc29431b6996ef25c6043f"><td class="memItemLeft" align="right" valign="top"><a id="a711aaeec6fcc29431b6996ef25c6043f"></a>
-LLFIO_PATH_VIEW_CONSTEXPR size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a711aaeec6fcc29431b6996ef25c6043f">native_size</a> () const noexcept</td></tr>
-<tr class="memdesc:a711aaeec6fcc29431b6996ef25c6043f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the size of the view in characters. <br /></td></tr>
-<tr class="separator:a711aaeec6fcc29431b6996ef25c6043f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57047ecaa75f039c61b6bbeb5b5c33af"><td class="memItemLeft" align="right" valign="top"><a id="a57047ecaa75f039c61b6bbeb5b5c33af"></a>
LLFIO_PATH_VIEW_CONSTEXPR <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a57047ecaa75f039c61b6bbeb5b5c33af">root_name</a> () const noexcept</td></tr>
<tr class="memdesc:a57047ecaa75f039c61b6bbeb5b5c33af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a view of the root name part of this view e.g. C: <br /></td></tr>
@@ -281,56 +285,112 @@ LLFIO_PATH_VIEW_CONSTEXPR <a class="el" href="classllfio__v2__xxx_1_1path__view.
LLFIO_PATH_VIEW_CONSTEXPR <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#abccf122f0c4d537e0e41b87e86aeb61a">filename</a> () const noexcept</td></tr>
<tr class="memdesc:abccf122f0c4d537e0e41b87e86aeb61a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a view of the filename part of this view. <br /></td></tr>
<tr class="separator:abccf122f0c4d537e0e41b87e86aeb61a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8e0dbd474d2c668a0c33a01e7a5aafe8"><td class="memItemLeft" align="right" valign="top"><a id="a8e0dbd474d2c668a0c33a01e7a5aafe8"></a>
-LLFIO_PATH_VIEW_CONSTEXPR <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a8e0dbd474d2c668a0c33a01e7a5aafe8">stem</a> () const noexcept</td></tr>
-<tr class="memdesc:a8e0dbd474d2c668a0c33a01e7a5aafe8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a view of the filename without any file extension. <br /></td></tr>
-<tr class="separator:a8e0dbd474d2c668a0c33a01e7a5aafe8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad799e35ea5899df97ee570337376f8c1"><td class="memItemLeft" align="right" valign="top"><a id="ad799e35ea5899df97ee570337376f8c1"></a>
-LLFIO_PATH_VIEW_CONSTEXPR <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ad799e35ea5899df97ee570337376f8c1">extension</a> () const noexcept</td></tr>
-<tr class="memdesc:ad799e35ea5899df97ee570337376f8c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a view of the file extension part of this view. <br /></td></tr>
-<tr class="separator:ad799e35ea5899df97ee570337376f8c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab86fa3a4456b6d298ec78e18e76f999d"><td class="memItemLeft" align="right" valign="top"><a id="ab86fa3a4456b6d298ec78e18e76f999d"></a>
-filesystem::path&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ab86fa3a4456b6d298ec78e18e76f999d">path</a> () const</td></tr>
-<tr class="memdesc:ab86fa3a4456b6d298ec78e18e76f999d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the path view as a path. Allocates and copies memory! <br /></td></tr>
-<tr class="separator:ab86fa3a4456b6d298ec78e18e76f999d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afef4720fa17884bec1fd6eaa1d5faf56"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#afef4720fa17884bec1fd6eaa1d5faf56">LLFIO_TEMPLATE</a> (class T=typename filesystem::path::value_type, class Deleter=std::default_delete&lt; T[]&gt;, size_t _internal_buffer_size=<a class="el" href="classllfio__v2__xxx_1_1path__view.html#a2a8bf49225c71090012ed30260f117bf">default_internal_buffer_size</a>, class Char) LLFIO_TREQUIRES(LLFIO_TPRED(<a class="el" href="classllfio__v2__xxx_1_1path__view.html#ab44ed2bb7b699babc60d4d91b4fc5724">is_source_acceptable</a>&lt; T &gt; &amp;&amp;<a class="el" href="classllfio__v2__xxx_1_1path__view.html#a3d8c5a6551685e57ed19e1924feaa07a">is_source_chartype_acceptable</a>&lt; Char &gt;)) const expr int compare(const basic_string_view&lt; Char &gt; s) const noexcept</td></tr>
-<tr class="separator:afef4720fa17884bec1fd6eaa1d5faf56"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1080207b46f1b48f0ee656995a506646"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a1080207b46f1b48f0ee656995a506646">LLFIO_TEMPLATE</a> (class T=typename filesystem::path::value_type, class Deleter=std::default_delete&lt; T[]&gt;, size_t _internal_buffer_size=<a class="el" href="classllfio__v2__xxx_1_1path__view.html#a2a8bf49225c71090012ed30260f117bf">default_internal_buffer_size</a>) LLFIO_TREQUIRES(LLFIO_TPRED(<a class="el" href="classllfio__v2__xxx_1_1path__view.html#ab44ed2bb7b699babc60d4d91b4fc5724">is_source_acceptable</a>&lt; T &gt;)) struct c_str</td></tr>
-<tr class="memdesc:a1080207b46f1b48f0ee656995a506646"><td class="mdescLeft">&#160;</td><td class="mdescRight">Instantiate from a <code>path_view</code> to get a path suitable for feeding to other code. See <code>path_view_component::c_str</code>. <a href="#a1080207b46f1b48f0ee656995a506646">More...</a><br /></td></tr>
-<tr class="separator:a1080207b46f1b48f0ee656995a506646"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3ad9b291bcdb45528f2cedcabd5ed998"><td class="memItemLeft" align="right" valign="top"><a id="a3ad9b291bcdb45528f2cedcabd5ed998"></a>
+LLFIO_PATH_VIEW_CONSTEXPR <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a3ad9b291bcdb45528f2cedcabd5ed998">without_trailing_separator</a> () const noexcept</td></tr>
+<tr class="memdesc:a3ad9b291bcdb45528f2cedcabd5ed998"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a view of this view without a trailing separator, if there is one, unless the input is '/'. <br /></td></tr>
+<tr class="separator:a3ad9b291bcdb45528f2cedcabd5ed998"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac12652236847087552e7a8cc01ef5a71"><td class="memItemLeft" align="right" valign="top"><a id="ac12652236847087552e7a8cc01ef5a71"></a>
+constexpr enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#ac12652236847087552e7a8cc01ef5a71">zero_termination</a> () const noexcept</td></tr>
+<tr class="memdesc:ac12652236847087552e7a8cc01ef5a71"><td class="mdescLeft">&#160;</td><td class="mdescRight">The zero termination during construction. <br /></td></tr>
+<tr class="separator:ac12652236847087552e7a8cc01ef5a71"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a486c1bc907c6de489ac94069d6681c53"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a486c1bc907c6de489ac94069d6681c53">LLFIO_TEMPLATE</a> (class T=typename filesystem::path::value_type, class Deleter=<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaa1116ad357d1c73d1cc26ce28b29c82">default_c_str_deleter</a>&lt; T[]&gt;, size_t _internal_buffer_size=<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7b52fa10c4359dcc25aed43be0be8a91">default_internal_buffer_size</a>) LLFIO_TREQUIRES(LLFIO_TPRED(<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a411e9c36a49bd37d596ab34f99b656fd">is_source_acceptable</a>&lt; T &gt;)) const expr int compare(<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> p</td></tr>
+<tr class="separator:a486c1bc907c6de489ac94069d6681c53"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a026f3fd0f948212028182d1b501dffbb"><td class="memItemLeft" align="right" valign="top"><a id="a026f3fd0f948212028182d1b501dffbb"></a>
+const <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7663cb908516be3f8bf17b6826da186a">byte</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>_raw_data</b> () const noexcept</td></tr>
+<tr class="separator:a026f3fd0f948212028182d1b501dffbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a247fba2fecd5b850a17b0994f5913b4f"><td class="memItemLeft" align="right" valign="top"><a id="a247fba2fecd5b850a17b0994f5913b4f"></a>
+constexpr void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a247fba2fecd5b850a17b0994f5913b4f">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a> &amp;o) noexcept</td></tr>
+<tr class="memdesc:a247fba2fecd5b850a17b0994f5913b4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap the view with another. <br /></td></tr>
+<tr class="separator:a247fba2fecd5b850a17b0994f5913b4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a66781bc99e8f92dd82f6f04afa08a6c1"><td class="memItemLeft" align="right" valign="top"><a id="a66781bc99e8f92dd82f6f04afa08a6c1"></a>
+constexpr LLFIO_NODISCARD bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a66781bc99e8f92dd82f6f04afa08a6c1">empty</a> () const noexcept</td></tr>
+<tr class="memdesc:a66781bc99e8f92dd82f6f04afa08a6c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if empty. <br /></td></tr>
+<tr class="separator:a66781bc99e8f92dd82f6f04afa08a6c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaba2705ba8660b2d9e28cbbd099a85ec"><td class="memItemLeft" align="right" valign="top"><a id="aaba2705ba8660b2d9e28cbbd099a85ec"></a>
+LLFIO_PATH_VIEW_CONSTEXPR size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaba2705ba8660b2d9e28cbbd099a85ec">native_size</a> () const noexcept</td></tr>
+<tr class="memdesc:aaba2705ba8660b2d9e28cbbd099a85ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the size of the view in characters. <br /></td></tr>
+<tr class="separator:aaba2705ba8660b2d9e28cbbd099a85ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6b6792638386aa705083c173e5d9b948"><td class="memItemLeft" align="right" valign="top"><a id="a6b6792638386aa705083c173e5d9b948"></a>
+constexpr <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a6b6792638386aa705083c173e5d9b948">formatting</a> () const noexcept</td></tr>
+<tr class="memdesc:a6b6792638386aa705083c173e5d9b948"><td class="mdescLeft">&#160;</td><td class="mdescRight">How path separators shall be interpreted. <br /></td></tr>
+<tr class="separator:a6b6792638386aa705083c173e5d9b948"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a258fe430d6aa8a6f9cd9a3894cae5c44"><td class="memItemLeft" align="right" valign="top"><a id="a258fe430d6aa8a6f9cd9a3894cae5c44"></a>
+constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a258fe430d6aa8a6f9cd9a3894cae5c44">has_zero_termination</a> () const noexcept</td></tr>
+<tr class="memdesc:a258fe430d6aa8a6f9cd9a3894cae5c44"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if input is declared to be zero terminated. <br /></td></tr>
+<tr class="separator:a258fe430d6aa8a6f9cd9a3894cae5c44"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a964de9984b51e6bfd021f7c1587863c0"><td class="memItemLeft" align="right" valign="top"><a id="a964de9984b51e6bfd021f7c1587863c0"></a>
+LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a964de9984b51e6bfd021f7c1587863c0">has_stem</a> () const noexcept</td></tr>
+<tr class="memdesc:a964de9984b51e6bfd021f7c1587863c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if <code>stem()</code> returns a non-empty path. <br /></td></tr>
+<tr class="separator:a964de9984b51e6bfd021f7c1587863c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af286c0256f4800e35d816f4ba7571de4"><td class="memItemLeft" align="right" valign="top"><a id="af286c0256f4800e35d816f4ba7571de4"></a>
+LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#af286c0256f4800e35d816f4ba7571de4">has_extension</a> () const noexcept</td></tr>
+<tr class="memdesc:af286c0256f4800e35d816f4ba7571de4"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if <code>extension()</code> returns a non-empty path. <br /></td></tr>
+<tr class="separator:af286c0256f4800e35d816f4ba7571de4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acef767fc47e96966c201baf528193204"><td class="memItemLeft" align="right" valign="top"><a id="acef767fc47e96966c201baf528193204"></a>
+LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#acef767fc47e96966c201baf528193204">contains_glob</a> () const noexcept</td></tr>
+<tr class="memdesc:acef767fc47e96966c201baf528193204"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the view contains any of the characters <code>*</code>, <code>?</code>, (POSIX only: <code>[</code> or <code>]</code>). <br /></td></tr>
+<tr class="separator:acef767fc47e96966c201baf528193204"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a0bfc3e06986b6287a22fdc97799181"><td class="memItemLeft" align="right" valign="top"><a id="a4a0bfc3e06986b6287a22fdc97799181"></a>
+LLFIO_PATH_VIEW_CONSTEXPR <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a0bfc3e06986b6287a22fdc97799181">stem</a> () const noexcept</td></tr>
+<tr class="memdesc:a4a0bfc3e06986b6287a22fdc97799181"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a view of the filename without any file extension. <br /></td></tr>
+<tr class="separator:a4a0bfc3e06986b6287a22fdc97799181"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2d62abddb51d080a8c2e42998bc6fb58"><td class="memItemLeft" align="right" valign="top"><a id="a2d62abddb51d080a8c2e42998bc6fb58"></a>
+LLFIO_PATH_VIEW_CONSTEXPR <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html">path_view_component</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a2d62abddb51d080a8c2e42998bc6fb58">extension</a> () const noexcept</td></tr>
+<tr class="memdesc:a2d62abddb51d080a8c2e42998bc6fb58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a view of the file extension part of this view. <br /></td></tr>
+<tr class="separator:a2d62abddb51d080a8c2e42998bc6fb58"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac367f2c429245c567448780511f24c0d"><td class="memItemLeft" align="right" valign="top"><a id="ac367f2c429245c567448780511f24c0d"></a>
+filesystem::path&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#ac367f2c429245c567448780511f24c0d">path</a> () const</td></tr>
+<tr class="memdesc:ac367f2c429245c567448780511f24c0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the path view as a path. Allocates and copies memory! <br /></td></tr>
+<tr class="separator:ac367f2c429245c567448780511f24c0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:abc5abda4e162d9a530fb73fa47a2f20a"><td class="memItemLeft" align="right" valign="top"><a id="abc5abda4e162d9a530fb73fa47a2f20a"></a>
+<a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a>&#160;</td><td class="memItemRight" valign="bottom"><b>fmt</b></td></tr>
+<tr class="separator:abc5abda4e162d9a530fb73fa47a2f20a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae324e5dac351729aa9513351218c5f54"><td class="memItemLeft" align="right" valign="top">const std::locale &amp;const&#160;</td><td class="memItemRight" valign="bottom"><b>loc</b></td></tr>
+<tr class="separator:ae324e5dac351729aa9513351218c5f54"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad71dcb87f377236474b948d621b3b2a8"><td class="memItemLeft" align="right" valign="top"><a id="ad71dcb87f377236474b948d621b3b2a8"></a>
+const <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7663cb908516be3f8bf17b6826da186a">byte</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>_bytestr</b> {nullptr}</td></tr>
+<tr class="separator:ad71dcb87f377236474b948d621b3b2a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1531ffbbfb4d089a18f09809290190cc"><td class="memItemLeft" align="right" valign="top"><a id="a1531ffbbfb4d089a18f09809290190cc"></a>
+const char *&#160;</td><td class="memItemRight" valign="bottom"><b>_charstr</b></td></tr>
+<tr class="separator:a1531ffbbfb4d089a18f09809290190cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a03281bf06f85b14622386bd87b9a947e"><td class="memItemLeft" align="right" valign="top"><a id="a03281bf06f85b14622386bd87b9a947e"></a>
+const wchar_t *&#160;</td><td class="memItemRight" valign="bottom"><b>_wcharstr</b></td></tr>
+<tr class="separator:a03281bf06f85b14622386bd87b9a947e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad560fb8127764a5cf07357c07a35d8b0"><td class="memItemLeft" align="right" valign="top"><a id="ad560fb8127764a5cf07357c07a35d8b0"></a>
+const char8_t *&#160;</td><td class="memItemRight" valign="bottom"><b>_char8str</b></td></tr>
+<tr class="separator:ad560fb8127764a5cf07357c07a35d8b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac3a413fa5bbe8dbe10765bc790c1b762"><td class="memItemLeft" align="right" valign="top"><a id="ac3a413fa5bbe8dbe10765bc790c1b762"></a>
+const char16_t *&#160;</td><td class="memItemRight" valign="bottom"><b>_char16str</b></td></tr>
+<tr class="separator:ac3a413fa5bbe8dbe10765bc790c1b762"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
-<tr class="memitem:a5d34d5bd6de76ad2d56817214a7b8aee"><td class="memItemLeft" align="right" valign="top"><a id="a5d34d5bd6de76ad2d56817214a7b8aee"></a>
-static constexpr auto&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a5d34d5bd6de76ad2d56817214a7b8aee">preferred_separator</a> = filesystem::path::preferred_separator</td></tr>
-<tr class="memdesc:a5d34d5bd6de76ad2d56817214a7b8aee"><td class="mdescLeft">&#160;</td><td class="mdescRight">The preferred separator type. <br /></td></tr>
-<tr class="separator:a5d34d5bd6de76ad2d56817214a7b8aee"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3d8c5a6551685e57ed19e1924feaa07a"><td class="memTemplParams" colspan="2">template&lt;class Char &gt; </td></tr>
-<tr class="memitem:a3d8c5a6551685e57ed19e1924feaa07a"><td class="memTemplItemLeft" align="right" valign="top">static constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a3d8c5a6551685e57ed19e1924feaa07a">is_source_chartype_acceptable</a> = path_view_component::is_source_chartype_acceptable&lt;Char&gt;</td></tr>
-<tr class="separator:a3d8c5a6551685e57ed19e1924feaa07a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab44ed2bb7b699babc60d4d91b4fc5724"><td class="memTemplParams" colspan="2">template&lt;class Char &gt; </td></tr>
-<tr class="memitem:ab44ed2bb7b699babc60d4d91b4fc5724"><td class="memTemplItemLeft" align="right" valign="top">static constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#ab44ed2bb7b699babc60d4d91b4fc5724">is_source_acceptable</a> = path_view_component::is_source_acceptable&lt;Char&gt;</td></tr>
-<tr class="separator:ab44ed2bb7b699babc60d4d91b4fc5724"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2a8bf49225c71090012ed30260f117bf"><td class="memItemLeft" align="right" valign="top"><a id="a2a8bf49225c71090012ed30260f117bf"></a>
-static constexpr size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a2a8bf49225c71090012ed30260f117bf">default_internal_buffer_size</a> = path_view_component::default_internal_buffer_size</td></tr>
-<tr class="memdesc:a2a8bf49225c71090012ed30260f117bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">The default internal buffer size used by <code>c_str</code>. <br /></td></tr>
-<tr class="separator:a2a8bf49225c71090012ed30260f117bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7c7def30502a37e61b83836e52a0a40b"><td class="memItemLeft" align="right" valign="top"><a id="a7c7def30502a37e61b83836e52a0a40b"></a>
+static constexpr auto&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7c7def30502a37e61b83836e52a0a40b">preferred_separator</a> = filesystem::path::preferred_separator</td></tr>
+<tr class="memdesc:a7c7def30502a37e61b83836e52a0a40b"><td class="mdescLeft">&#160;</td><td class="mdescRight">The preferred separator type. <br /></td></tr>
+<tr class="separator:a7c7def30502a37e61b83836e52a0a40b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3c5feb7fca596c44418f89c9e60b8165"><td class="memTemplParams" colspan="2">template&lt;class Char &gt; </td></tr>
+<tr class="memitem:a3c5feb7fca596c44418f89c9e60b8165"><td class="memTemplItemLeft" align="right" valign="top">static constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3c5feb7fca596c44418f89c9e60b8165">is_source_chartype_acceptable</a> = detail::is_source_chartype_acceptable&lt;Char&gt;::value</td></tr>
+<tr class="separator:a3c5feb7fca596c44418f89c9e60b8165"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a411e9c36a49bd37d596ab34f99b656fd"><td class="memTemplParams" colspan="2">template&lt;class Char &gt; </td></tr>
+<tr class="memitem:a411e9c36a49bd37d596ab34f99b656fd"><td class="memTemplItemLeft" align="right" valign="top">static constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a411e9c36a49bd37d596ab34f99b656fd">is_source_acceptable</a> = detail::is_source_acceptable&lt;Char&gt;::value</td></tr>
+<tr class="separator:a411e9c36a49bd37d596ab34f99b656fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b52fa10c4359dcc25aed43be0be8a91"><td class="memItemLeft" align="right" valign="top"><a id="a7b52fa10c4359dcc25aed43be0be8a91"></a>
+static constexpr size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7b52fa10c4359dcc25aed43be0be8a91">default_internal_buffer_size</a> = 1024</td></tr>
+<tr class="memdesc:a7b52fa10c4359dcc25aed43be0be8a91"><td class="mdescLeft">&#160;</td><td class="mdescRight">The default internal buffer size used by <code>c_str</code>. <br /></td></tr>
+<tr class="separator:a7b52fa10c4359dcc25aed43be0be8a91"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
-<tr class="memitem:a9c02c1b6cc56f8221abea75a1e92a776"><td class="memTemplParams" colspan="2"><a id="a9c02c1b6cc56f8221abea75a1e92a776"></a>
-template&lt;class T , class Deleter , size_t _internal_buffer_size, typename std::enable_if&lt;(is_source_acceptable&lt; T &gt;), bool &gt;::type &gt; </td></tr>
-<tr class="memitem:a9c02c1b6cc56f8221abea75a1e92a776"><td class="memTemplItemLeft" align="right" valign="top">struct&#160;</td><td class="memTemplItemRight" valign="bottom"><b>c_str</b></td></tr>
-<tr class="separator:a9c02c1b6cc56f8221abea75a1e92a776"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a867468c27c376aa62c4ecc5413367bba"><td class="memItemLeft" align="right" valign="top"><a id="a867468c27c376aa62c4ecc5413367bba"></a>
-LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> x, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> y) noexcept</td></tr>
-<tr class="separator:a867468c27c376aa62c4ecc5413367bba"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9ec27b9ac42042eb58d44837bdc1773c"><td class="memItemLeft" align="right" valign="top"><a id="a9ec27b9ac42042eb58d44837bdc1773c"></a>
-LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> x, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> y) noexcept</td></tr>
-<tr class="separator:a9ec27b9ac42042eb58d44837bdc1773c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a565624fc24e6a6d57d38d0471e91cd84"><td class="memItemLeft" align="right" valign="top"><a id="a565624fc24e6a6d57d38d0471e91cd84"></a>
-std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (std::ostream &amp;s, const <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> &amp;v)</td></tr>
-<tr class="separator:a565624fc24e6a6d57d38d0471e91cd84"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a04eaaa00f1a82c4160c60043df70c8f9"><td class="memItemLeft" align="right" valign="top"><a id="a04eaaa00f1a82c4160c60043df70c8f9"></a>
+LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::operator==</b> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> x, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> y) noexcept</td></tr>
+<tr class="separator:a04eaaa00f1a82c4160c60043df70c8f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2abd5b3147c3dadfd9f556dff8679c46"><td class="memItemLeft" align="right" valign="top"><a id="a2abd5b3147c3dadfd9f556dff8679c46"></a>
+LLFIO_PATH_VIEW_CONSTEXPR bool&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::operator!=</b> (<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> x, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a> y) noexcept</td></tr>
+<tr class="separator:a2abd5b3147c3dadfd9f556dff8679c46"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A borrowed view of a path. A lightweight trivial-type alternative to <code>std::filesystem::path</code>. </p>
@@ -348,7 +408,8 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<li>POSIX: The native platform encoding is assumed to be UTF-8. If the input is <code>char8_t</code> or <code>char</code>, it is not translated. If the input is <code>char16_t</code>, a UTF-16 to UTF-8 translation is performed.</li>
<li>Microsoft Windows: The native platform encoding is assumed to be UTF-16. If the input is <code>char16_t</code> or <code>wchar_t</code>, it is not translated. If the input is <code>char8_t</code>, a UTF-8 to UTF-16 translation is performed. If the input is <code>char</code>, the Microsoft Windows API for ANSI to UTF-16 translation is invoked in order to match how Windows ANSI APIs are mapped onto the Windows Unicode APIs (be aware this is very slow).</li>
</ul>
-<h1>Windows specific notes:</h1>
+<h1><a class="anchor" id="autotoc_md15"></a>
+Windows specific notes:</h1>
<p>On Microsoft Windows, filesystem paths may require to be zero terminated, or they may not. Which is the case depends on whether LLFIO calls the NT kernel API directly rather than the Win32 API. As a general rule as to when which is used, the NT kernel API is called instead of the Win32 API when:</p>
<ul>
<li>For any paths relative to a <code>path_handle</code> (the Win32 API does not provide a race free file system API).</li>
@@ -368,9 +429,9 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
</ul>
<p>If you really care about performance, you are very strongly recommended to use the NT kernel API wherever possible. Where paths are involved, it is often three to five times faster due to the multiple memory allocations and string translations that the Win32 functions perform before calling the NT kernel routine.</p>
<p>If however you are taking input from some external piece of code, then for maximum compatibility you should still use the Win32 API. </p>
-</div><h2 class="groupheader">Member Function Documentation</h2>
-<a id="a0d5e676b565090269032a91908a8c0bf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0d5e676b565090269032a91908a8c0bf">&#9670;&nbsp;</a></span>LLFIO_TEMPLATE() <span class="overload">[1/5]</span></h2>
+</div><h2 class="groupheader">Member Enumeration Documentation</h2>
+<a id="a3d0688505b971f8ff6f9b9075817d48d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3d0688505b971f8ff6f9b9075817d48d">&#9670;&nbsp;</a></span>format</h2>
<div class="memitem">
<div class="memproto">
@@ -379,25 +440,115 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">llfio_v2_xxx::path_view::LLFIO_TEMPLATE </td>
+ <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">llfio_v2_xxx::path_view_component::format</a> : uint8_t</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>How to interpret separators. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a3d0688505b971f8ff6f9b9075817d48dafc810cf94971424955357c610a506b7b"></a>native_format&#160;</td><td class="fielddoc"><p>Separate at the native path separator only. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a3d0688505b971f8ff6f9b9075817d48da570096cfe6db7f309f5932170f5c3455"></a>generic_format&#160;</td><td class="fielddoc"><p>Separate at the generic path separator only. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039"></a>auto_format&#160;</td><td class="fielddoc"><p>Separate at both the native and generic path separators. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055"></a>binary_format&#160;</td><td class="fielddoc"><p>Do not separate at any path separator. </p>
+</td></tr>
+</table>
+<div class="fragment"><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; : uint8_t</div>
+<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; {</div>
+<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; unknown,</div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dafc810cf94971424955357c610a506b7b">native_format</a>, <span class="comment">//!&lt; Separate at the native path separator only.</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48da570096cfe6db7f309f5932170f5c3455">generic_format</a>, <span class="comment">//!&lt; Separate at the generic path separator only.</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a>, <span class="comment">//!&lt; Separate at both the native and generic path separators.</span></div>
+<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055">binary_format</a> <span class="comment">//!&lt; Do not separate at any path separator.</span></div>
+<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;<span class="comment"></span> };</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a4a24bb2d232a1aa744c3ba4018f8732e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4a24bb2d232a1aa744c3ba4018f8732e">&#9670;&nbsp;</a></span>zero_termination</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">llfio_v2_xxx::path_view_component::zero_termination</a></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>The zero termination to use. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6"></a>zero_terminated&#160;</td><td class="fielddoc"><p>The input is zero terminated, or requested output ought to be zero terminated. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="a4a24bb2d232a1aa744c3ba4018f8732ea86968f101145830aa8b984150d82392f"></a>not_zero_terminated&#160;</td><td class="fielddoc"><p>The input is not zero terminated, or requested output ought to not be zero terminated. </p>
+</td></tr>
+</table>
+<div class="fragment"><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; {</div>
+<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6">zero_terminated</a>, <span class="comment">//!&lt; The input is zero terminated, or requested output ought to be zero terminated.</span></div>
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ea86968f101145830aa8b984150d82392f">not_zero_terminated</a>, <span class="comment">//!&lt; The input is not zero terminated, or requested output ought to not be zero terminated.</span></div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;<span class="comment"></span> };</div>
+</div><!-- fragment -->
+</div>
+</div>
+<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="a51f54e918b2ab425cfae17c69acc4559"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a51f54e918b2ab425cfae17c69acc4559">&#9670;&nbsp;</a></span>path_view() <span class="overload">[1/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">llfio_v2_xxx::path_view::path_view </td>
<td>(</td>
- <td class="paramtype">class Char&#160;</td>
- <td class="paramname"></td><td>)</td>
+ <td class="paramtype">const filesystem::path &amp;&#160;</td>
+ <td class="paramname"><em>v</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a>&#160;</td>
+ <td class="paramname"><em>fmt</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a></code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</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="l01043"></a><span class="lineno"> 1043</span>&#160; : _state(v, len, is_zero_terminated)</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160; {</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160; }</div></div><!-- fragment -->
+<p>Implicitly constructs a path view from a path. The input path MUST continue to exist for this view to be valid (DEVIATES from P1030 due to filesystem::path not exposing its path formatting). </p>
+<div class="fragment"><div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>&#160; : <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a9595c5841e26ca5e0fc18e6d735b1142">path_view_component</a>(v, fmt)</div>
+<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>&#160; {</div>
+<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>&#160; }</div>
+</div><!-- fragment -->
</div>
</div>
-<a id="a0d5e676b565090269032a91908a8c0bf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0d5e676b565090269032a91908a8c0bf">&#9670;&nbsp;</a></span>LLFIO_TEMPLATE() <span class="overload">[2/5]</span></h2>
+<a id="a7c6f713611d051664daaa75146b4a2dc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7c6f713611d051664daaa75146b4a2dc">&#9670;&nbsp;</a></span>path_view() <span class="overload">[2/6]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -406,26 +557,50 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">llfio_v2_xxx::path_view::LLFIO_TEMPLATE </td>
+ <td class="memname">constexpr llfio_v2_xxx::path_view::path_view </td>
<td>(</td>
- <td class="paramtype">class Char&#160;</td>
- <td class="paramname"></td><td>)</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>b</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>l</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype">enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a>&#160;</td>
+ <td class="paramname"><em>zt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a>&#160;</td>
+ <td class="paramname"><em>fmt</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a></code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">constexpr</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</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="l01052"></a><span class="lineno"> 1052</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="l01053"></a><span class="lineno"> 1053</span>&#160; {</div><div class="line"><a name="l01054"></a><span class="lineno"> 1054</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:1001</div></div>
+<p>Constructs from a lengthed array of one of <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="l01614"></a><span class="lineno"> 1614</span>&#160; : <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a9595c5841e26ca5e0fc18e6d735b1142">path_view_component</a>(b, l, zt, fmt)</div>
+<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>&#160; {</div>
+<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
-<a id="a0d5e676b565090269032a91908a8c0bf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0d5e676b565090269032a91908a8c0bf">&#9670;&nbsp;</a></span>LLFIO_TEMPLATE() <span class="overload">[3/5]</span></h2>
+<a id="abf0848bab6bea4f142f1f65c5ed24a0d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abf0848bab6bea4f142f1f65c5ed24a0d">&#9670;&nbsp;</a></span>path_view() <span class="overload">[3/6]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -434,26 +609,50 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">llfio_v2_xxx::path_view::LLFIO_TEMPLATE </td>
+ <td class="memname">constexpr llfio_v2_xxx::path_view::path_view </td>
<td>(</td>
- <td class="paramtype">class Char&#160;</td>
- <td class="paramname"></td><td>)</td>
+ <td class="paramtype">const wchar_t *&#160;</td>
+ <td class="paramname"><em>b</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>l</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a>&#160;</td>
+ <td class="paramname"><em>zt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a>&#160;</td>
+ <td class="paramname"><em>fmt</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a></code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">constexpr</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</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="l01061"></a><span class="lineno"> 1061</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="l01062"></a><span class="lineno"> 1062</span>&#160; {</div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</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:1001</div></div>
+<p>Constructs from a lengthed array of one of <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="l01621"></a><span class="lineno"> 1621</span>&#160; : <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a9595c5841e26ca5e0fc18e6d735b1142">path_view_component</a>(b, l, zt, fmt)</div>
+<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>&#160; {</div>
+<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
-<a id="afef4720fa17884bec1fd6eaa1d5faf56"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afef4720fa17884bec1fd6eaa1d5faf56">&#9670;&nbsp;</a></span>LLFIO_TEMPLATE() <span class="overload">[4/5]</span></h2>
+<a id="a5e29d17c4f7714b3a32cf580165c4c0c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5e29d17c4f7714b3a32cf580165c4c0c">&#9670;&nbsp;</a></span>path_view() <span class="overload">[4/6]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -462,51 +661,168 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">llfio_v2_xxx::path_view::LLFIO_TEMPLATE </td>
+ <td class="memname">constexpr llfio_v2_xxx::path_view::path_view </td>
<td>(</td>
- <td class="paramtype">class T&#160;</td>
- <td class="paramname"> = <code>typename&#160;filesystem::path::value_type</code>, </td>
+ <td class="paramtype">const char8_t *&#160;</td>
+ <td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">class Deleter&#160;</td>
- <td class="paramname"> = <code>std::default_delete&lt;T[]&gt;</code>, </td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>l</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a>&#160;</td>
+ <td class="paramname"><em>zt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a>&#160;</td>
+ <td class="paramname"><em>fmt</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a></code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">constexpr</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Constructs from a lengthed array of one of <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="l01628"></a><span class="lineno"> 1628</span>&#160; : <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a9595c5841e26ca5e0fc18e6d735b1142">path_view_component</a>(b, l, zt, fmt)</div>
+<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>&#160; {</div>
+<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a6fc737972479dc5c20ffd4a60aa4c68e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6fc737972479dc5c20ffd4a60aa4c68e">&#9670;&nbsp;</a></span>path_view() <span class="overload">[5/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">constexpr llfio_v2_xxx::path_view::path_view </td>
+ <td>(</td>
+ <td class="paramtype">const char16_t *&#160;</td>
+ <td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>_internal_buffer_size</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a2a8bf49225c71090012ed30260f117bf">default_internal_buffer_size</a></code>, </td>
+ <td class="paramname"><em>l</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">class Char&#160;</td>
- <td class="paramname">&#160;</td>
+ <td class="paramtype">enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a>&#160;</td>
+ <td class="paramname"><em>zt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48d">format</a>&#160;</td>
+ <td class="paramname"><em>fmt</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">auto_format</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td> const &amp;&amp;</td>
+ <td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">constexpr</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.</p>
-<p>Compares the two path views for equivalence or ordering using <code>T</code> as the destination encoding, if necessary.</p>
-<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="l01326"></a><span class="lineno"> 1326</span>&#160; { <span class="keywordflow">return</span> compare&lt;T, Deleter, _internal_buffer_size&gt;(path_view_component(s)); }</div></div><!-- fragment -->
+<p>Constructs from a lengthed array of one of <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="l01635"></a><span class="lineno"> 1635</span>&#160; : <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a9595c5841e26ca5e0fc18e6d735b1142">path_view_component</a>(b, l, zt, fmt)</div>
+<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>&#160; {</div>
+<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a928116cad46c1e8c21bbfd5bef998d8e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a928116cad46c1e8c21bbfd5bef998d8e">&#9670;&nbsp;</a></span>path_view() <span class="overload">[6/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">constexpr llfio_v2_xxx::path_view::path_view </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7663cb908516be3f8bf17b6826da186a">byte</a> *&#160;</td>
+ <td class="paramname"><em>b</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>l</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">enum <a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a>&#160;</td>
+ <td class="paramname"><em>zt</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">constexpr</span><span class="mlabel">noexcept</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Constructs from a lengthed array of <code>byte</code>. The input array MUST continue to exist for this view to be valid. </p>
+<div class="fragment"><div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>&#160; : <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a9595c5841e26ca5e0fc18e6d735b1142">path_view_component</a>(b, l, zt)</div>
+<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>&#160; {</div>
+<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="a290c98c372e746211245aa5a1e6aef11"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a290c98c372e746211245aa5a1e6aef11">&#9670;&nbsp;</a></span>LLFIO_TEMPLATE() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">llfio_v2_xxx::path_view::LLFIO_TEMPLATE </td>
+ <td>(</td>
+ <td class="paramtype">class Char&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Implicitly constructs a path view from a zero terminated pointer to a character array, which must be one of <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>
</div>
-<a id="a1080207b46f1b48f0ee656995a506646"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1080207b46f1b48f0ee656995a506646">&#9670;&nbsp;</a></span>LLFIO_TEMPLATE() <span class="overload">[5/5]</span></h2>
+<a id="a347bdf25436d0e99f1af1bcc11b4cda4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a347bdf25436d0e99f1af1bcc11b4cda4">&#9670;&nbsp;</a></span>LLFIO_TEMPLATE() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -517,6 +833,36 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<tr>
<td class="memname">llfio_v2_xxx::path_view::LLFIO_TEMPLATE </td>
<td>(</td>
+ <td class="paramtype">class Char&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+ </tr>
+</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="l01607"></a><span class="lineno"> 1607</span>&#160; : <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a9595c5841e26ca5e0fc18e6d735b1142">path_view_component</a>(v.data(), v.size(), <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6">zero_terminated</a>, fmt)</div>
+<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>&#160; {</div>
+<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>&#160; }</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a id="a486c1bc907c6de489ac94069d6681c53"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a486c1bc907c6de489ac94069d6681c53">&#9670;&nbsp;</a></span>LLFIO_TEMPLATE() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">llfio_v2_xxx::path_view_component::LLFIO_TEMPLATE </td>
+ <td>(</td>
<td class="paramtype">class T&#160;</td>
<td class="paramname"> = <code>typename&#160;filesystem::path::value_type</code>, </td>
</tr>
@@ -524,38 +870,36 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<td class="paramkey"></td>
<td></td>
<td class="paramtype">class Deleter&#160;</td>
- <td class="paramname"> = <code>std::default_delete&lt;T[]&gt;</code>, </td>
+ <td class="paramname"> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#aaa1116ad357d1c73d1cc26ce28b29c82">default_c_str_deleter</a>&lt;T[]&gt;</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>_internal_buffer_size</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view.html#a2a8bf49225c71090012ed30260f117bf">default_internal_buffer_size</a></code>&#160;</td>
+ <td class="paramname"><em>_internal_buffer_size</em> = <code><a class="el" href="classllfio__v2__xxx_1_1path__view__component.html#a7b52fa10c4359dcc25aed43be0be8a91">default_internal_buffer_size</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td>
+ <td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
+<p>Compares the two path views for equivalence or ordering using <code>T</code> as the destination encoding, if necessary.</p>
+<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. </p>
-<p>Instantiate from a <code>path_view</code> to get a path suitable for feeding to other code. See <code>path_view_component::c_str</code>. </p>
-<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="l01332"></a><span class="lineno"> 1332</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="l01333"></a><span class="lineno"> 1333</span>&#160; {<span class="comment"></span></div><div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160;<span class="comment"> //! Number of characters, excluding zero terminating char, at buffer</span></div><div class="line"><a name="l01335"></a><span class="lineno"> 1335</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="l01336"></a><span class="lineno"> 1336</span>&#160;<span class="comment"> /*! See constructor for `path_view_component::c_str`.</span></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="keyword">template</span> &lt;<span class="keyword">class</span> U&gt;</div><div class="line"><a name="l01339"></a><span class="lineno"> 1339</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="l01340"></a><span class="lineno"> 1340</span>&#160; : _base(view._state, no_zero_terminate, static_cast&lt;U &amp;&amp;&gt;(allocate))</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; }<span class="comment"></span></div><div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160;<span class="comment"> //! \overload</span></div><div class="line"><a name="l01344"></a><span class="lineno"> 1344</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="l01345"></a><span class="lineno"> 1345</span>&#160; : _base(view._state, no_zero_terminate)</div><div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>&#160; {</div><div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>&#160; }</div><div class="line"><a name="l01348"></a><span class="lineno"> 1348</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:1001</div></div>
-</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
-<a id="ab44ed2bb7b699babc60d4d91b4fc5724"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ab44ed2bb7b699babc60d4d91b4fc5724">&#9670;&nbsp;</a></span>is_source_acceptable</h2>
+<a id="a411e9c36a49bd37d596ab34f99b656fd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a411e9c36a49bd37d596ab34f99b656fd">&#9670;&nbsp;</a></span>is_source_acceptable</h2>
<div class="memitem">
<div class="memproto">
@@ -566,12 +910,12 @@ template&lt;class Char &gt; </div>
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">constexpr bool llfio_v2_xxx::path_view::is_source_acceptable = path_view_component::is_source_acceptable&lt;Char&gt;</td>
+ <td class="memname">constexpr bool llfio_v2_xxx::path_view_component::is_source_acceptable = detail::is_source_acceptable&lt;Char&gt;::value</td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span> </td>
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -579,8 +923,8 @@ template&lt;class Char &gt; </div>
</div>
</div>
-<a id="a3d8c5a6551685e57ed19e1924feaa07a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a3d8c5a6551685e57ed19e1924feaa07a">&#9670;&nbsp;</a></span>is_source_chartype_acceptable</h2>
+<a id="a3c5feb7fca596c44418f89c9e60b8165"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3c5feb7fca596c44418f89c9e60b8165">&#9670;&nbsp;</a></span>is_source_chartype_acceptable</h2>
<div class="memitem">
<div class="memproto">
@@ -591,12 +935,12 @@ template&lt;class Char &gt; </div>
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">constexpr bool llfio_v2_xxx::path_view::is_source_chartype_acceptable = path_view_component::is_source_chartype_acceptable&lt;Char&gt;</td>
+ <td class="memname">constexpr bool llfio_v2_xxx::path_view_component::is_source_chartype_acceptable = detail::is_source_chartype_acceptable&lt;Char&gt;::value</td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span> </td>
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -604,18 +948,53 @@ template&lt;class Char &gt; </div>
</div>
</div>
+<a id="ae324e5dac351729aa9513351218c5f54"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae324e5dac351729aa9513351218c5f54">&#9670;&nbsp;</a></span>loc</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">const std::locale&amp; const llfio_v2_xxx::path_view_component::loc</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">{</div>
+<div class="line"> <span class="keywordflow">return</span> _invoke([&amp;](<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<span class="keyword">self</span>) {</div>
+<div class="line"> <span class="keywordflow">return</span> p._invoke(</div>
+<div class="line"> [&amp;](<span class="keyword">const</span> <span class="keyword">auto</span> &amp;other) { <span class="keywordflow">return</span> _compare&lt;T, Deleter, _internal_buffer_size&gt;(<span class="keyword">self</span>, <a class="code" href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">zero_termination</a>(), other, p.zero_termination(), &amp;loc); });</div>
+<div class="line"> })</div>
+</div><!-- fragment -->
+</div>
+</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/llfio/v2.0/<a class="el" href="path__view_8hpp.html">path_view.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
+<div class="ttc" id="aclassllfio__v2__xxx_1_1path__view__component_html_a3d0688505b971f8ff6f9b9075817d48dafc810cf94971424955357c610a506b7b"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dafc810cf94971424955357c610a506b7b">llfio_v2_xxx::path_view_component::native_format</a></div><div class="ttdeci">@ native_format</div><div class="ttdoc">Separate at the native path separator only.</div><div class="ttdef"><b>Definition:</b> path_view.hpp:225</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1path__view__component_html_a9595c5841e26ca5e0fc18e6d735b1142"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view__component.html#a9595c5841e26ca5e0fc18e6d735b1142">llfio_v2_xxx::path_view_component::path_view_component</a></div><div class="ttdeci">constexpr path_view_component() noexcept</div><div class="ttdoc">Constructs an empty path view component (DEVIATES from P1030, is not trivial due to C++ 14 compatibil...</div><div class="ttdef"><b>Definition:</b> path_view.hpp:264</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1path__view__component_html_a4a24bb2d232a1aa744c3ba4018f8732e"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732e">llfio_v2_xxx::path_view_component::zero_termination</a></div><div class="ttdeci">zero_termination</div><div class="ttdoc">The zero termination to use.</div><div class="ttdef"><b>Definition:</b> path_view.hpp:232</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1path__view__component_html_a4a24bb2d232a1aa744c3ba4018f8732ea86968f101145830aa8b984150d82392f"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ea86968f101145830aa8b984150d82392f">llfio_v2_xxx::path_view_component::not_zero_terminated</a></div><div class="ttdeci">@ not_zero_terminated</div><div class="ttdoc">The input is not zero terminated, or requested output ought to not be zero terminated.</div><div class="ttdef"><b>Definition:</b> path_view.hpp:235</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1path__view__component_html_a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48dad2ec403bd4441cca9391d09fbf694055">llfio_v2_xxx::path_view_component::binary_format</a></div><div class="ttdeci">@ binary_format</div><div class="ttdoc">Do not separate at any path separator.</div><div class="ttdef"><b>Definition:</b> path_view.hpp:228</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1path__view__component_html_a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view__component.html#a4a24bb2d232a1aa744c3ba4018f8732ead0eba8da8c1d0dab5c4196d6bbcc37a6">llfio_v2_xxx::path_view_component::zero_terminated</a></div><div class="ttdeci">@ zero_terminated</div><div class="ttdoc">The input is zero terminated, or requested output ought to be zero terminated.</div><div class="ttdef"><b>Definition:</b> path_view.hpp:234</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1path__view__component_html_a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48daf492c0880bf0f47ff3ba9bdad908f039">llfio_v2_xxx::path_view_component::auto_format</a></div><div class="ttdeci">@ auto_format</div><div class="ttdoc">Separate at both the native and generic path separators.</div><div class="ttdef"><b>Definition:</b> path_view.hpp:227</div></div>
+<div class="ttc" id="aclassllfio__v2__xxx_1_1path__view__component_html_a3d0688505b971f8ff6f9b9075817d48da570096cfe6db7f309f5932170f5c3455"><div class="ttname"><a href="classllfio__v2__xxx_1_1path__view__component.html#a3d0688505b971f8ff6f9b9075817d48da570096cfe6db7f309f5932170f5c3455">llfio_v2_xxx::path_view_component::generic_format</a></div><div class="ttdeci">@ generic_format</div><div class="ttdoc">Separate at the generic path separator only.</div><div class="ttdef"><b>Definition:</b> path_view.hpp:226</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>