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:
authorJenkins nedprod CI <foo@nowhere>2019-10-07 21:32:57 +0300
committerJenkins nedprod CI <foo@nowhere>2019-10-07 21:32:57 +0300
commit3ef881161604fdbe8dddd6cf00f9e07cde417be9 (patch)
treeba2d3046002f0b68d47ca429e44baa4873200526
parent11e1d127ed5ff762f836238235cd3c57fc434b67 (diff)
Travis CI updates documentation
-rw-r--r--annotated.html2
-rw-r--r--async__file__handle_8hpp.html7
-rw-r--r--async__file__handle_8hpp.js2
-rw-r--r--base_8hpp.html2
-rw-r--r--byte__ranges_8hpp.html2
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html2
-rw-r--r--classllfio__v2__xxx_1_1async__file__handle-members.html129
-rw-r--r--classllfio__v2__xxx_1_1async__file__handle.html228
-rw-r--r--classllfio__v2__xxx_1_1async__file__handle.js29
-rw-r--r--classllfio__v2__xxx_1_1directory__handle-members.html120
-rw-r--r--classllfio__v2__xxx_1_1directory__handle.html154
-rw-r--r--classllfio__v2__xxx_1_1directory__handle.js19
-rw-r--r--classllfio__v2__xxx_1_1fast__random__file__handle-members.html103
-rw-r--r--classllfio__v2__xxx_1_1fast__random__file__handle.html184
-rw-r--r--classllfio__v2__xxx_1_1fast__random__file__handle.js27
-rw-r--r--classllfio__v2__xxx_1_1file__handle-members.html95
-rw-r--r--classllfio__v2__xxx_1_1file__handle.html184
-rw-r--r--classllfio__v2__xxx_1_1file__handle.js27
-rw-r--r--classllfio__v2__xxx_1_1handle-members.html78
-rw-r--r--classllfio__v2__xxx_1_1handle.html161
-rw-r--r--classllfio__v2__xxx_1_1handle.js23
-rw-r--r--classllfio__v2__xxx_1_1io__handle-members.html55
-rw-r--r--classllfio__v2__xxx_1_1io__handle.html184
-rw-r--r--classllfio__v2__xxx_1_1io__handle.js25
-rw-r--r--classllfio__v2__xxx_1_1io__service.html6
-rw-r--r--classllfio__v2__xxx_1_1map__handle-members.html81
-rw-r--r--classllfio__v2__xxx_1_1map__handle.html184
-rw-r--r--classllfio__v2__xxx_1_1map__handle.js27
-rw-r--r--classllfio__v2__xxx_1_1mapped__file__handle-members.html113
-rw-r--r--classllfio__v2__xxx_1_1mapped__file__handle.html182
-rw-r--r--classllfio__v2__xxx_1_1mapped__file__handle.js27
-rw-r--r--classllfio__v2__xxx_1_1path__handle-members.html82
-rw-r--r--classllfio__v2__xxx_1_1path__handle.html154
-rw-r--r--classllfio__v2__xxx_1_1path__handle.js19
-rw-r--r--classllfio__v2__xxx_1_1section__handle-members.html104
-rw-r--r--classllfio__v2__xxx_1_1section__handle.html155
-rw-r--r--classllfio__v2__xxx_1_1section__handle.js23
-rw-r--r--classllfio__v2__xxx_1_1symlink__handle-members.html100
-rw-r--r--classllfio__v2__xxx_1_1symlink__handle.html154
-rw-r--r--classllfio__v2__xxx_1_1symlink__handle.js19
-rw-r--r--config_8hpp.html28
-rw-r--r--fast__random__file__handle_8hpp.html2
-rw-r--r--fs__handle_8hpp.html2
-rw-r--r--functions_a.html23
-rw-r--r--functions_b.html29
-rw-r--r--functions_c.html3
-rw-r--r--functions_d.html15
-rw-r--r--functions_dup.js1
-rw-r--r--functions_e.html6
-rw-r--r--functions_enum.html15
-rw-r--r--functions_eval.html296
-rw-r--r--functions_f.html4
-rw-r--r--functions_func.js1
-rw-r--r--functions_func_a.html2
-rw-r--r--functions_func_b.html2
-rw-r--r--functions_func_q.html111
-rw-r--r--functions_func_s.html5
-rw-r--r--functions_h.html3
-rw-r--r--functions_i.html3
-rw-r--r--functions_m.html8
-rw-r--r--functions_n.html11
-rw-r--r--functions_o.html20
-rw-r--r--functions_p.html19
-rw-r--r--functions_q.html111
-rw-r--r--functions_r.html6
-rw-r--r--functions_s.html28
-rw-r--r--functions_u.html6
-rw-r--r--functions_vars.html3
-rw-r--r--functions_w.html15
-rw-r--r--group__config.html4
-rw-r--r--hierarchy.html2
-rw-r--r--io__handle_8hpp.html5
-rw-r--r--io__handle_8hpp.js1
-rw-r--r--kvstore_8hpp.html2
-rw-r--r--lock__files_8hpp.html2
-rw-r--r--map__handle_8hpp.html3
-rw-r--r--map__handle_8hpp.js1
-rw-r--r--memory__map_8hpp.html6
-rw-r--r--menudata.js23
-rw-r--r--namespacekvstore__v1__xxx.html2
-rw-r--r--namespacellfio__v2__xxx.html222
-rw-r--r--namespacellfio__v2__xxx_1_1path__discovery.html2
-rw-r--r--namespacemembers.html16
-rw-r--r--namespacemembers_func.html16
-rw-r--r--navtreedata.js22
-rw-r--r--navtreeindex0.js28
-rw-r--r--navtreeindex1.js94
-rw-r--r--navtreeindex10.js136
-rw-r--r--navtreeindex2.js304
-rw-r--r--navtreeindex3.js306
-rw-r--r--navtreeindex4.js280
-rw-r--r--navtreeindex5.js424
-rw-r--r--navtreeindex6.js310
-rw-r--r--navtreeindex7.js342
-rw-r--r--navtreeindex8.js286
-rw-r--r--navtreeindex9.js321
-rw-r--r--search/all_1.js7
-rw-r--r--search/all_10.js35
-rw-r--r--search/all_11.js97
-rw-r--r--search/all_12.js77
-rw-r--r--search/all_13.js35
-rw-r--r--search/all_14.js21
-rw-r--r--search/all_15.js12
-rw-r--r--search/all_16.js8
-rw-r--r--search/all_17.js5
-rw-r--r--search/all_18.js3
-rw-r--r--search/all_19.html (renamed from search/enumvalues_f.html)2
-rw-r--r--search/all_19.js4
-rw-r--r--search/all_2.js9
-rw-r--r--search/all_3.js1
-rw-r--r--search/all_4.js6
-rw-r--r--search/all_5.js2
-rw-r--r--search/all_6.js4
-rw-r--r--search/all_8.js3
-rw-r--r--search/all_9.js1
-rw-r--r--search/all_c.js4
-rw-r--r--search/all_d.js6
-rw-r--r--search/all_e.js3
-rw-r--r--search/all_f.js5
-rw-r--r--search/enums_0.js5
-rw-r--r--search/enumvalues_0.js5
-rw-r--r--search/enumvalues_1.js3
-rw-r--r--search/enumvalues_10.html26
-rw-r--r--search/enumvalues_10.js8
-rw-r--r--search/enumvalues_11.html26
-rw-r--r--search/enumvalues_11.js10
-rw-r--r--search/enumvalues_2.js2
-rw-r--r--search/enumvalues_3.js6
-rw-r--r--search/enumvalues_4.js5
-rw-r--r--search/enumvalues_5.js3
-rw-r--r--search/enumvalues_6.js5
-rw-r--r--search/enumvalues_7.js6
-rw-r--r--search/enumvalues_8.js4
-rw-r--r--search/enumvalues_9.js5
-rw-r--r--search/enumvalues_a.js6
-rw-r--r--search/enumvalues_b.js7
-rw-r--r--search/enumvalues_c.js10
-rw-r--r--search/enumvalues_d.js7
-rw-r--r--search/enumvalues_e.html26
-rw-r--r--search/enumvalues_e.js13
-rw-r--r--search/enumvalues_f.js6
-rw-r--r--search/functions_1.js2
-rw-r--r--search/functions_10.js27
-rw-r--r--search/functions_11.js48
-rw-r--r--search/functions_12.js29
-rw-r--r--search/functions_13.js14
-rw-r--r--search/functions_14.js9
-rw-r--r--search/functions_15.js3
-rw-r--r--search/functions_16.js3
-rw-r--r--search/functions_17.js3
-rw-r--r--search/functions_18.html (renamed from search/enumvalues_d.html)2
-rw-r--r--search/functions_18.js4
-rw-r--r--search/functions_2.js2
-rw-r--r--search/searchdata.js6
-rw-r--r--search/variables_4.js1
-rw-r--r--storage__profile_8hpp.html9
-rw-r--r--storage__profile_8hpp.js1
-rw-r--r--structkvstore__v1__xxx_1_1basic__key__value__store__info-members.html34
-rw-r--r--structkvstore__v1__xxx_1_1basic__key__value__store__info.html89
-rw-r--r--structkvstore__v1__xxx_1_1basic__key__value__store__info.js13
-rw-r--r--structllfio__v2__xxx_1_1io__handle_1_1io__result.html4
-rw-r--r--structllfio__v2__xxx_1_1native__handle__type-members.html40
-rw-r--r--structllfio__v2__xxx_1_1native__handle__type.html112
-rw-r--r--structllfio__v2__xxx_1_1native__handle__type.js19
-rw-r--r--structllfio__v2__xxx_1_1stat__t-members.html29
-rw-r--r--structllfio__v2__xxx_1_1stat__t.html49
-rw-r--r--structllfio__v2__xxx_1_1stat__t.js28
-rw-r--r--structllfio__v2__xxx_1_1statfs__t-members.html19
-rw-r--r--structllfio__v2__xxx_1_1statfs__t.html39
-rw-r--r--structllfio__v2__xxx_1_1statfs__t.js20
-rw-r--r--utils_8hpp.html2
-rw-r--r--v2_80_2llfio_8hpp.html9
172 files changed, 3427 insertions, 4996 deletions
diff --git a/annotated.html b/annotated.html
index 92e16ee1..c414af22 100644
--- a/annotated.html
+++ b/annotated.html
@@ -160,7 +160,7 @@ $(document).ready(function(){initNavTree('annotated.html','');});
<tr id="row_2_25_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html" target="_self">const_buffer_type</a></td><td class="desc"></td></tr>
<tr id="row_2_25_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html" target="_self">extent_guard</a></td><td class="desc">RAII holder a locked extent of bytes in a file </td></tr>
<tr id="row_2_25_3_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html" target="_self">io_request</a></td><td class="desc">The i/o request type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction, and <code>StandardLayoutType</code> </td></tr>
-<tr id="row_2_25_4_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html" target="_self">io_result</a></td><td class="desc">The i/o result type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction. </td></tr>
+<tr id="row_2_25_4_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html" target="_self">io_result</a></td><td class="desc">The i/o result type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction </td></tr>
<tr id="row_2_26_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_2_26_" class="arrow" onclick="toggleFolder('2_26_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1io__service.html" target="_self">io_service</a></td><td class="desc">An asynchronous i/o multiplexer service </td></tr>
<tr id="row_2_26_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html" target="_self">awaitable_post_to_self</a></td><td class="desc"></td></tr>
<tr id="row_2_27_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1log__level__guard.html" target="_self">log_level_guard</a></td><td class="desc">RAII class for temporarily adjusting the log level </td></tr>
diff --git a/async__file__handle_8hpp.html b/async__file__handle_8hpp.html
index 42804cf2..296eaec6 100644
--- a/async__file__handle_8hpp.html
+++ b/async__file__handle_8hpp.html
@@ -136,13 +136,6 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="name
<tr class="separator:aa83cca46a7fe2fcd7cbd3f09efbd3a74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6eb58f0e5fc200dd2719c7280edba5e"><td class="memItemLeft" align="right" valign="top">result&lt; async_file_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ae6eb58f0e5fc200dd2719c7280edba5e">llfio_v2_xxx::async_temp_inode</a> (io_service &amp;service, const path_handle &amp;dir=path_discovery::storage_backed_temporary_files_directory(), async_file_handle::mode _mode=async_file_handle::mode::write, async_file_handle::flag flags=async_file_handle::flag::none) noexcept</td></tr>
<tr class="separator:ae6eb58f0e5fc200dd2719c7280edba5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4cbd85f586f75cb375b99b162da48fda"><td class="memItemLeft" align="right" valign="top"><a id="a4cbd85f586f75cb375b99b162da48fda"></a>
-async_file_handle::io_result&lt; async_file_handle::const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::barrier</b> (async_file_handle &amp;self, async_file_handle::io_request&lt; async_file_handle::const_buffers_type &gt; reqs=async_file_handle::io_request&lt; async_file_handle::const_buffers_type &gt;(), bool wait_for_device=false, bool and_metadata=false, deadline d=deadline()) noexcept</td></tr>
-<tr class="separator:a4cbd85f586f75cb375b99b162da48fda"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abd72aa0028b4b7e5561a7375b124e22f"><td class="memTemplParams" colspan="2">template&lt;class CompletionRoutine &gt; </td></tr>
-<tr class="memitem:abd72aa0028b4b7e5561a7375b124e22f"><td class="memTemplItemLeft" align="right" valign="top">result&lt; async_file_handle::io_state_ptr &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#abd72aa0028b4b7e5561a7375b124e22f">llfio_v2_xxx::async_barrier</a> (async_file_handle &amp;self, async_file_handle::io_request&lt; async_file_handle::const_buffers_type &gt; reqs, CompletionRoutine &amp;&amp;completion, bool wait_for_device=false, bool and_metadata=false, span&lt; char &gt; mem={}) noexcept</td></tr>
-<tr class="memdesc:abd72aa0028b4b7e5561a7375b124e22f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedule a barrier to occur asynchronously. <a href="namespacellfio__v2__xxx.html#abd72aa0028b4b7e5561a7375b124e22f">More...</a><br /></td></tr>
-<tr class="separator:abd72aa0028b4b7e5561a7375b124e22f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39254f0f1608754370d4a9d38be0f355"><td class="memTemplParams" colspan="2">template&lt;class CompletionRoutine &gt; </td></tr>
<tr class="memitem:a39254f0f1608754370d4a9d38be0f355"><td class="memTemplItemLeft" align="right" valign="top">result&lt; async_file_handle::io_state_ptr &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a39254f0f1608754370d4a9d38be0f355">llfio_v2_xxx::async_read</a> (async_file_handle &amp;self, async_file_handle::io_request&lt; async_file_handle::buffers_type &gt; reqs, CompletionRoutine &amp;&amp;completion, span&lt; char &gt; mem={}) noexcept</td></tr>
<tr class="memdesc:a39254f0f1608754370d4a9d38be0f355"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedule a read to occur asynchronously. <a href="namespacellfio__v2__xxx.html#a39254f0f1608754370d4a9d38be0f355">More...</a><br /></td></tr>
diff --git a/async__file__handle_8hpp.js b/async__file__handle_8hpp.js
index feb1cc90..4b84e8ff 100644
--- a/async__file__handle_8hpp.js
+++ b/async__file__handle_8hpp.js
@@ -5,14 +5,12 @@ var async__file__handle_8hpp =
[ "awaitable", "classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html", "classllfio__v2__xxx_1_1async__file__handle_1_1awaitable" ],
[ "construct< async_file_handle >", "structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html", "structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4" ],
[ "is_invocable_r", "async__file__handle_8hpp.html#afa9eca0bb55f3d76f2a50a43b1969b60", null ],
- [ "async_barrier", "async__file__handle_8hpp.html#abd72aa0028b4b7e5561a7375b124e22f", null ],
[ "async_file", "async__file__handle_8hpp.html#ab8bf2fda0abbb11fdeb77d25f8288149", null ],
[ "async_random_file", "async__file__handle_8hpp.html#acfdf75b3e8a2c43a7d3c6f315b44f9bd", null ],
[ "async_read", "async__file__handle_8hpp.html#a39254f0f1608754370d4a9d38be0f355", null ],
[ "async_temp_file", "async__file__handle_8hpp.html#aa83cca46a7fe2fcd7cbd3f09efbd3a74", null ],
[ "async_temp_inode", "async__file__handle_8hpp.html#ae6eb58f0e5fc200dd2719c7280edba5e", null ],
[ "async_write", "async__file__handle_8hpp.html#a4985d46d431e0e734ad0b8bab00ad591", null ],
- [ "barrier", "async__file__handle_8hpp.html#a4cbd85f586f75cb375b99b162da48fda", null ],
[ "co_read", "async__file__handle_8hpp.html#ae108ac818c3955c032b3b9020da770eb", null ],
[ "co_read", "async__file__handle_8hpp.html#a07564a34b6f382b68c6d6045c8b4b6c7", null ],
[ "co_write", "async__file__handle_8hpp.html#a1bf4f597e8b391870215cbe005c252e6", null ],
diff --git a/base_8hpp.html b/base_8hpp.html
index ab5ca05c..ad5f36bc 100644
--- a/base_8hpp.html
+++ b/base_8hpp.html
@@ -92,7 +92,7 @@ $(document).ready(function(){initNavTree('base_8hpp.html','');});
<p>Provides algorithm::shared_fs_mutex::shared_fs_mutex.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="handle_8hpp.html">../../handle.hpp</a>&quot;</code><br />
-<code>#include &quot;../../quickcpplib/include/algorithm/hash.hpp&quot;</code><br />
+<code>#include &quot;quickcpplib/algorithm/hash.hpp&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
diff --git a/byte__ranges_8hpp.html b/byte__ranges_8hpp.html
index 9bb16f2c..e00bf713 100644
--- a/byte__ranges_8hpp.html
+++ b/byte__ranges_8hpp.html
@@ -92,7 +92,7 @@ $(document).ready(function(){initNavTree('byte__ranges_8hpp.html','');});
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="file__handle_8hpp.html">../../file_handle.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="base_8hpp.html">base.hpp</a>&quot;</code><br />
-<code>#include &quot;../../quickcpplib/include/algorithm/small_prng.hpp&quot;</code><br />
+<code>#include &quot;quickcpplib/algorithm/small_prng.hpp&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
diff --git a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html
index 61661871..4054c2f0 100644
--- a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html
+++ b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html
@@ -277,7 +277,7 @@ template&lt;template&lt; class &gt; class Hasher = QUICKCPPLIB_NAMESPACE::algori
</table>
</div><div class="memdoc">
<p>Initialises a shared filing system mutex using the file at <em>lockfile</em>. </p><dl class="section user"><dt>Errors returnable</dt><dd>Awaiting the clang result&lt;&gt; AST parser which auto generates all the error codes which could occur, but a particularly important one is <code>errc::no_lock_available</code> which will be returned if the lock is in use by another computer on a network. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; {</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; LLFIO_LOG_FUNCTION_CALL(0);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">try</span></div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; {</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; OUTCOME_TRY(ret, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file_handle::file</a>(base, lockfile, <a class="code" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">file_handle::mode::write</a>, <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">file_handle::creation::if_needed</a>, <a class="code" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1">file_handle::caching::reads</a>));</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; file_handle temph;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="comment">// Am I the first person to this file? Lock everything exclusively</span></div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keyword">auto</span> lockinuse = ret.try_lock(_initialisingoffset, 2, <span class="keyword">true</span>);</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">if</span>(lockinuse.has_error())</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; <span class="keywordflow">if</span>(lockinuse.error() != errc::timed_out)</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; {</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keywordflow">return</span> std::move(lockinuse).error();</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; }</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="comment">// Somebody else is also using this file, so try to read the hash index file I ought to use</span></div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; lockinuse = ret.lock(_lockinuseoffset, 1, <span class="keyword">false</span>); <span class="comment">// inuse shared access, blocking</span></div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keywordflow">if</span>(!lockinuse)</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; {</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">return</span> std::move(lockinuse).error();</div><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; byte buffer[65536];</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; memset(buffer, 0, <span class="keyword">sizeof</span>(buffer));</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; OUTCOME_TRYV(ret.read(0, {{buffer, 65535}}));</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; path_view temphpath(reinterpret_cast&lt;filesystem::path::value_type *&gt;(buffer));</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; result&lt;file_handle&gt; _temph(in_place_type&lt;file_handle&gt;);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; _temph = <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file_handle::file</a>({}, temphpath, <a class="code" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">file_handle::mode::write</a>, <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">file_handle::creation::open_existing</a>, <a class="code" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">file_handle::caching::temporary</a>);</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="comment">// If temp file doesn&#39;t exist, I am on a different machine</span></div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keywordflow">if</span>(!_temph)</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; {</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="comment">// Release the exclusive lock and tell caller that this lock is not available</span></div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keywordflow">return</span> errc::no_lock_available;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; }</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; temph = std::move(_temph.value());</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="comment">// Map the hash index file into memory for read/write access</span></div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; OUTCOME_TRY(temphsection, <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21">section_handle::section</a>(temph, HashIndexSize));</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; OUTCOME_TRY(temphmap, <a class="code" href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">map_handle::map</a>(temphsection, HashIndexSize));</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="comment">// Map the path file into memory with its maximum possible size, read only</span></div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; OUTCOME_TRY(hsection, <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21">section_handle::section</a>(ret, 65536, <a class="code" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">section_handle::flag::read</a>));</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; OUTCOME_TRY(hmap, <a class="code" href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">map_handle::map</a>(hsection, 0, 0, <a class="code" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">section_handle::flag::read</a>));</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keywordflow">return</span> memory_map(std::move(ret), std::move(temph), std::move(lockinuse.value()), std::move(hmap), std::move(temphmap));</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; }</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="comment">// I am the first person to be using this (stale?) file, so create a new hash index file in /tmp</span></div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keyword">auto</span> &amp;tempdirh = <a class="code" href="namespacellfio__v2__xxx_1_1path__discovery.html#ade18f14d3ef37488e8967c87faa04d29">path_discovery::memory_backed_temporary_files_directory</a>().<a class="code" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() ? <a class="code" href="namespacellfio__v2__xxx_1_1path__discovery.html#ade18f14d3ef37488e8967c87faa04d29">path_discovery::memory_backed_temporary_files_directory</a>() : path_discovery::<a class="code" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">storage_backed_temporary_files_directory</a>();</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; OUTCOME_TRY(_temph, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">file_handle::random_file</a>(tempdirh));</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; temph = std::move(_temph);</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="comment">// Truncate it out to the hash index size, and map it into memory for read/write access</span></div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; OUTCOME_TRYV(temph.truncate(HashIndexSize));</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; OUTCOME_TRY(temphsection, <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21">section_handle::section</a>(temph, HashIndexSize));</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; OUTCOME_TRY(temphmap, <a class="code" href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">map_handle::map</a>(temphsection, HashIndexSize));</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="comment">// Write the path of my new hash index file, padding zeros to the nearest page size</span></div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="comment">// multiple to work around a race condition in the Linux kernel</span></div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; OUTCOME_TRY(temppath, temph.current_path());</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keywordtype">char</span> buffer[4096];</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; memset(buffer, 0, <span class="keyword">sizeof</span>(buffer));</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keywordtype">size_t</span> bytes = temppath.native().size() * <span class="keyword">sizeof</span>(*temppath.c_str());</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; file_handle::const_buffer_type buffers[] = {{<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>byte *<span class="keyword">&gt;</span>(temppath.c_str()), bytes}, {<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>byte *<span class="keyword">&gt;</span>(buffer), 4096 - (bytes % 4096)}};</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; OUTCOME_TRYV(ret.truncate(65536));</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; OUTCOME_TRYV(ret.write({buffers, 0}));</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="comment">// Map for read the maximum possible path file size, again to avoid race problems</span></div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; OUTCOME_TRY(hsection, <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21">section_handle::section</a>(ret, 65536, <a class="code" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">section_handle::flag::read</a>));</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; OUTCOME_TRY(hmap, <a class="code" href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">map_handle::map</a>(hsection, 0, 0, <a class="code" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">section_handle::flag::read</a>));</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="comment">/* Take shared locks on inuse. Even if this implementation doesn&#39;t implement</span></div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;<span class="comment"> atomic downgrade of exclusive range to shared range, we&#39;re fully prepared for other users</span></div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;<span class="comment"> now. The _initialisingoffset remains exclusive to prevent double entry into this init routine.</span></div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; OUTCOME_TRY(lockinuse2, ret.lock(_lockinuseoffset, 1, <span class="keyword">false</span>));</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; lockinuse = std::move(lockinuse2); <span class="comment">// releases exclusive lock on all three offsets</span></div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordflow">return</span> memory_map(std::move(ret), std::move(temph), std::move(lockinuse.value()), std::move(hmap), std::move(temphmap));</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; }</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">catch</span>(...)</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; {</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keywordflow">return</span> error_from_exception();</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; }</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; }</div><div class="ttc" id="namespacellfio__v2__xxx_html_af678f58d20e1f0962ff0744150342683"><div class="ttname"><a href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">llfio_v2_xxx::read</a></div><div class="ttdeci">file_handle::io_result&lt; file_handle::size_type &gt; read(file_handle &amp;self, file_handle::extent_type offset, std::initializer_list&lt; file_handle::buffer_type &gt; lst, deadline d=deadline()) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:386</div></div>
+<div class="fragment"><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; {</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; LLFIO_LOG_FUNCTION_CALL(0);</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">try</span></div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; {</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; OUTCOME_TRY(ret, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file_handle::file</a>(base, lockfile, <a class="code" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">file_handle::mode::write</a>, <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">file_handle::creation::if_needed</a>, <a class="code" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1">file_handle::caching::reads</a>));</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; file_handle temph;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="comment">// Am I the first person to this file? Lock everything exclusively</span></div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keyword">auto</span> lockinuse = ret.try_lock(_initialisingoffset, 2, <span class="keyword">true</span>);</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">if</span>(lockinuse.has_error())</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; {</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">if</span>(lockinuse.error() != errc::timed_out)</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; {</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">return</span> std::move(lockinuse).error();</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; }</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="comment">// Somebody else is also using this file, so try to read the hash index file I ought to use</span></div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; lockinuse = ret.lock(_lockinuseoffset, 1, <span class="keyword">false</span>); <span class="comment">// inuse shared access, blocking</span></div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keywordflow">if</span>(!lockinuse)</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; {</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">return</span> std::move(lockinuse).error();</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; }</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; byte buffer[65536];</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; memset(buffer, 0, <span class="keyword">sizeof</span>(buffer));</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; OUTCOME_TRYV(ret.read(0, {{buffer, 65535}}));</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; path_view temphpath(reinterpret_cast&lt;filesystem::path::value_type *&gt;(buffer));</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; result&lt;file_handle&gt; _temph(in_place_type&lt;file_handle&gt;);</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; _temph = <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file_handle::file</a>({}, temphpath, <a class="code" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">file_handle::mode::write</a>, <a class="code" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">file_handle::creation::open_existing</a>, <a class="code" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">file_handle::caching::temporary</a>);</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="comment">// If temp file doesn&#39;t exist, I am on a different machine</span></div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">if</span>(!_temph)</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; {</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="comment">// Release the exclusive lock and tell caller that this lock is not available</span></div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keywordflow">return</span> errc::no_lock_available;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; }</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; temph = std::move(_temph.value());</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="comment">// Map the hash index file into memory for read/write access</span></div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; OUTCOME_TRY(temphsection, <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21">section_handle::section</a>(temph, HashIndexSize));</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; OUTCOME_TRY(temphmap, <a class="code" href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">map_handle::map</a>(temphsection, HashIndexSize));</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="comment">// Map the path file into memory with its maximum possible size, read only</span></div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; OUTCOME_TRY(hsection, <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21">section_handle::section</a>(ret, 65536, <a class="code" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">section_handle::flag::read</a>));</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; OUTCOME_TRY(hmap, <a class="code" href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">map_handle::map</a>(hsection, 0, 0, <a class="code" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">section_handle::flag::read</a>));</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">return</span> memory_map(std::move(ret), std::move(temph), std::move(lockinuse.value()), std::move(hmap), std::move(temphmap));</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; }</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="comment">// I am the first person to be using this (stale?) file, so create a new hash index file in /tmp</span></div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keyword">auto</span> &amp;tempdirh = <a class="code" href="namespacellfio__v2__xxx_1_1path__discovery.html#ade18f14d3ef37488e8967c87faa04d29">path_discovery::memory_backed_temporary_files_directory</a>().<a class="code" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() ? <a class="code" href="namespacellfio__v2__xxx_1_1path__discovery.html#ade18f14d3ef37488e8967c87faa04d29">path_discovery::memory_backed_temporary_files_directory</a>() : path_discovery::<a class="code" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">storage_backed_temporary_files_directory</a>();</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; OUTCOME_TRY(_temph, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">file_handle::random_file</a>(tempdirh));</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; temph = std::move(_temph);</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="comment">// Truncate it out to the hash index size, and map it into memory for read/write access</span></div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; OUTCOME_TRYV(temph.truncate(HashIndexSize));</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; OUTCOME_TRY(temphsection, <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21">section_handle::section</a>(temph, HashIndexSize));</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; OUTCOME_TRY(temphmap, <a class="code" href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">map_handle::map</a>(temphsection, HashIndexSize));</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="comment">// Write the path of my new hash index file, padding zeros to the nearest page size</span></div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="comment">// multiple to work around a race condition in the Linux kernel</span></div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; OUTCOME_TRY(temppath, temph.current_path());</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordtype">char</span> buffer[4096];</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; memset(buffer, 0, <span class="keyword">sizeof</span>(buffer));</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keywordtype">size_t</span> bytes = temppath.native().size() * <span class="keyword">sizeof</span>(*temppath.c_str());</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; file_handle::const_buffer_type buffers[] = {{<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>byte *<span class="keyword">&gt;</span>(temppath.c_str()), bytes}, {<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>byte *<span class="keyword">&gt;</span>(buffer), 4096 - (bytes % 4096)}};</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; OUTCOME_TRYV(ret.truncate(65536));</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; OUTCOME_TRYV(ret.write({buffers, 0}));</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="comment">// Map for read the maximum possible path file size, again to avoid race problems</span></div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; OUTCOME_TRY(hsection, <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21">section_handle::section</a>(ret, 65536, <a class="code" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">section_handle::flag::read</a>));</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; OUTCOME_TRY(hmap, <a class="code" href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">map_handle::map</a>(hsection, 0, 0, <a class="code" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">section_handle::flag::read</a>));</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="comment">/* Take shared locks on inuse. Even if this implementation doesn&#39;t implement</span></div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;<span class="comment"> atomic downgrade of exclusive range to shared range, we&#39;re fully prepared for other users</span></div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;<span class="comment"> now. The _initialisingoffset remains exclusive to prevent double entry into this init routine.</span></div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; OUTCOME_TRY(lockinuse2, ret.lock(_lockinuseoffset, 1, <span class="keyword">false</span>));</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; lockinuse = std::move(lockinuse2); <span class="comment">// releases exclusive lock on all three offsets</span></div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keywordflow">return</span> memory_map(std::move(ret), std::move(temph), std::move(lockinuse.value()), std::move(hmap), std::move(temphmap));</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; }</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">catch</span>(...)</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; {</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keywordflow">return</span> error_from_exception();</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; }</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; }</div><div class="ttc" id="namespacellfio__v2__xxx_html_af678f58d20e1f0962ff0744150342683"><div class="ttname"><a href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">llfio_v2_xxx::read</a></div><div class="ttdeci">file_handle::io_result&lt; file_handle::size_type &gt; read(file_handle &amp;self, file_handle::extent_type offset, std::initializer_list&lt; file_handle::buffer_type &gt; lst, deadline d=deadline()) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:387</div></div>
<div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a09e6b3e9806b328a687a55e955b885a3"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">llfio_v2_xxx::file_handle::file</a></div><div class="ttdeci">static result&lt; file_handle &gt; file(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</div></div>
<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">llfio_v2_xxx::handle::mode::write</a></div><div class="ttdoc">Ability to read and write (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|FILE_WRITE_D...</div></div>
<div class="ttc" id="classllfio__v2__xxx_1_1map__handle_html_adf0cad925c9d6accd5bd7fc3aa49884c"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">llfio_v2_xxx::map_handle::map</a></div><div class="ttdeci">static result&lt; map_handle &gt; map(size_type bytes, bool zeroed=false, section_handle::flag _flag=section_handle::flag::readwrite) noexcept</div></div>
diff --git a/classllfio__v2__xxx_1_1async__file__handle-members.html b/classllfio__v2__xxx_1_1async__file__handle-members.html
index 0035d48c..87cad1c7 100644
--- a/classllfio__v2__xxx_1_1async__file__handle-members.html
+++ b/classllfio__v2__xxx_1_1async__file__handle-members.html
@@ -94,29 +94,27 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1async__file__ha
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_inode</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">mutable</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_service</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a7d29c4f0a0eca88431f5e1b290e66fe7">async_barrier</a>(io_request&lt; const_buffers_type &gt; reqs, CompletionRoutine &amp;&amp;completion, bool wait_for_device=false, bool and_metadata=false, span&lt; char &gt; mem={}) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#aa7511a8b300c448a5a0eeaea499e665e">async_file</a>(io_service &amp;service, const path_handle &amp;base, path_view_type _path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::only_metadata, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a8b72655442a5c5a17e609a6df96106e0">async_file_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a4e0afe8f9559163a716b722e280e4e13">async_file_handle</a>(io_service *service, native_handle_type h, dev_t devid, ino_t inode, caching caching=caching::none, flag flags=flag::none)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a7ecbdab79c48565dcd2af6e62645d4da">async_file_handle</a>(async_file_handle &amp;&amp;o) noexcept=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#ae021a5a199931162fdf484d8ce27b495">async_file_handle</a>(const async_file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#afcfbb2ce7944347147475f894af5a6d4">async_file_handle</a>(file_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a00be8e5e3cdc19365434a630f4f0c4fe">async_file_handle</a>(handle &amp;&amp;o, io_service *service, dev_t devid, ino_t inode) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#ac5c899908f131b4655d422fe0e2bea43">async_random_file</a>(io_service &amp;service, const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::only_metadata, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#aeca5271cbbf476097c84a56c4a99d58d">async_read</a>(io_request&lt; buffers_type &gt; reqs, CompletionRoutine &amp;&amp;completion, span&lt; char &gt; mem={}) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a29b67fe2f2b0d1bf7cf4e375245064e6">async_temp_file</a>(io_service &amp;service, path_view_type name=path_view_type(), mode _mode=mode::write, creation _creation=creation::if_needed, caching _caching=caching::only_metadata, flag flags=flag::unlink_on_first_close) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a298da3527b205554e1baee012fa94661">async_temp_inode</a>(io_service &amp;service, const path_handle &amp;dir=path_discovery::storage_backed_temporary_files_directory(), mode _mode=mode::write, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#afbc86680a51fe4643b74a8d519a4f552">async_write</a>(io_request&lt; const_buffers_type &gt; reqs, CompletionRoutine &amp;&amp;completion, span&lt; char &gt; mem={}) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>barrier</b>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), bool wait_for_device=false, bool and_metadata=false, deadline d=deadline()) noexcept override (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3ec366f663f85fb4d679542b8c1b41a">llfio_v2_xxx::io_handle::barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), bool wait_for_device=false, bool and_metadata=false, deadline d=deadline()) noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">bitfield__flag</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>buffers_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#aab8b4425981da0c40e684bccbb9a8a30">async_barrier</a>(io_request&lt; const_buffers_type &gt; reqs, CompletionRoutine &amp;&amp;completion, barrier_kind kind=barrier_kind::nowait_data_only, span&lt; char &gt; mem={}) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#aa7511a8b300c448a5a0eeaea499e665e">async_file</a>(io_service &amp;service, const path_handle &amp;base, path_view_type _path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::only_metadata, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a8b72655442a5c5a17e609a6df96106e0">async_file_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a4e0afe8f9559163a716b722e280e4e13">async_file_handle</a>(io_service *service, native_handle_type h, dev_t devid, ino_t inode, caching caching=caching::none, flag flags=flag::none)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a7ecbdab79c48565dcd2af6e62645d4da">async_file_handle</a>(async_file_handle &amp;&amp;o) noexcept=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#ae021a5a199931162fdf484d8ce27b495">async_file_handle</a>(const async_file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#afcfbb2ce7944347147475f894af5a6d4">async_file_handle</a>(file_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a00be8e5e3cdc19365434a630f4f0c4fe">async_file_handle</a>(handle &amp;&amp;o, io_service *service, dev_t devid, ino_t inode) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#ac5c899908f131b4655d422fe0e2bea43">async_random_file</a>(io_service &amp;service, const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::only_metadata, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#aeca5271cbbf476097c84a56c4a99d58d">async_read</a>(io_request&lt; buffers_type &gt; reqs, CompletionRoutine &amp;&amp;completion, span&lt; char &gt; mem={}) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a29b67fe2f2b0d1bf7cf4e375245064e6">async_temp_file</a>(io_service &amp;service, path_view_type name=path_view_type(), mode _mode=mode::write, creation _creation=creation::if_needed, caching _caching=caching::only_metadata, flag flags=flag::unlink_on_first_close) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a298da3527b205554e1baee012fa94661">async_temp_inode</a>(io_service &amp;service, const path_handle &amp;dir=path_discovery::storage_backed_temporary_files_directory(), mode _mode=mode::write, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#afbc86680a51fe4643b74a8d519a4f552">async_write</a>(io_request&lt; const_buffers_type &gt; reqs, CompletionRoutine &amp;&amp;completion, span&lt; char &gt; mem={}) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>barrier</b>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept override (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f">llfio_v2_xxx::io_handle::barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>buffers_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>caching</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a2ce03c6d1b3e3ab38c789cd0fc4fe5ba">clone</a>(io_service &amp;service, mode mode_=mode::unchanged, caching caching_=caching::unchanged, deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>clone</b>(mode mode_=mode::unchanged, caching caching_=caching::unchanged, deadline d=std::chrono::seconds(30)) const noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
@@ -131,10 +129,6 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1async__file__ha
<tr bgcolor="#f0f0f0"><td class="entry"><b>creation</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>dev_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>extent_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1c2c1c27b1be6414415b3fc3fcda88b2">extents</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file</a>(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
@@ -181,10 +175,8 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1async__file__ha
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a198e1c294966a28919d2f0698e3608b8">lock</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ade38a6d55a4eda3c6d5e196683b129a7">max_buffers</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a7991af58283025b80a7225866643f0b4">maximum_extent</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>mode</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mode</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a48e0773d5302f785c343073e42de5928">operator=</a>(async_file_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#af84775bc1d3258fa0e8499e2945a5d25">operator=</a>(const async_file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3bba96c52082c14bf168e12f4e9e2fa6">llfio_v2_xxx::file_handle::operator=</a>(const file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
@@ -195,46 +187,43 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1async__file__ha
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba">llfio_v2_xxx::fs_handle::operator=</a>(fs_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b">llfio_v2_xxx::fs_handle::operator=</a>(const fs_handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a>(deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>path_view_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">random_file</a>(const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>read</b>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept override (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467">llfio_v2_xxx::file_handle::read</a>(extent_type offset, std::initializer_list&lt; buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d">llfio_v2_xxx::io_handle::read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2">relink</a>(const path_handle &amp;base, path_view_type path, bool atomic_replace=true, deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090">st_dev</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc">st_ino</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a7c6b5216c28aa0ca145d9f45c82005a3">swap</a>(async_file_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808">llfio_v2_xxx::file_handle::swap</a>(file_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::io_handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a428114e3c8628c0621b1aa156051651c">temp_file</a>(path_view_type name=path_view_type(), mode _mode=mode::write, creation _creation=creation::if_needed, caching _caching=caching::temporary, flag flags=flag::unlink_on_first_close) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5">temp_inode</a>(const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), mode _mode=mode::write, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f">truncate</a>(extent_type newsize) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae1abb705dbe9890e103365bf7c61521e">try_lock</a>(extent_type offset, extent_type bytes, bool exclusive=true) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1">unique_id</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982">unlink</a>(deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a>(deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>path_view_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">random_file</a>(const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>read</b>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept override (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467">llfio_v2_xxx::file_handle::read</a>(extent_type offset, std::initializer_list&lt; buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d">llfio_v2_xxx::io_handle::read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2">relink</a>(const path_handle &amp;base, path_view_type path, bool atomic_replace=true, deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090">st_dev</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc">st_ino</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a7c6b5216c28aa0ca145d9f45c82005a3">swap</a>(async_file_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808">llfio_v2_xxx::file_handle::swap</a>(file_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::io_handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a428114e3c8628c0621b1aa156051651c">temp_file</a>(path_view_type name=path_view_type(), mode _mode=mode::write, creation _creation=creation::if_needed, caching _caching=caching::temporary, flag flags=flag::unlink_on_first_close) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5">temp_inode</a>(const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), mode _mode=mode::write, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f">truncate</a>(extent_type newsize) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae1abb705dbe9890e103365bf7c61521e">try_lock</a>(extent_type offset, extent_type bytes, bool exclusive=true) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1">unique_id</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982">unlink</a>(deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ad720c4c7f350fe06291534d1cbf2feb5">unlock</a>(extent_type offset, extent_type bytes) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>write</b>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept override (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">llfio_v2_xxx::file_handle::write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">llfio_v2_xxx::file_handle::write</a>(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a50caa94c51aae1f23e7708d3c6a21364">zero</a>(extent_type offset, extent_type bytes, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>~async_file_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~file_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>~fs_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>~io_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>write</b>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept override (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">llfio_v2_xxx::file_handle::write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">llfio_v2_xxx::file_handle::write</a>(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a50caa94c51aae1f23e7708d3c6a21364">zero</a>(extent_type offset, extent_type bytes, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~async_file_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio_v2_xxx::async_file_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~file_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~fs_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~io_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
diff --git a/classllfio__v2__xxx_1_1async__file__handle.html b/classllfio__v2__xxx_1_1async__file__handle.html
index 4726afe9..74edffe6 100644
--- a/classllfio__v2__xxx_1_1async__file__handle.html
+++ b/classllfio__v2__xxx_1_1async__file__handle.html
@@ -171,29 +171,13 @@ template&lt;class T &gt; </td></tr>
<tr class="separator:a6c30e529c467a261444b5841134fa394"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c38344215baf024148e144735f3cb67"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a8c38344215baf024148e144735f3cb67">io_state_ptr</a> = std::unique_ptr&lt; _erased_io_state_type, _io_state_deleter &gt;</td></tr>
<tr class="separator:a8c38344215baf024148e144735f3cb67"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5929f46f42112bd805ab5001bfbf9d2a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">bitfield__flag</a> : unsigned { <br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> = 0,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">none</a> = 2,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">none</a> = 1,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> = 1U &lt;&lt; 0U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> = 1U &lt;&lt; 2U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> = 1U &lt;&lt; 3U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> = 1U &lt;&lt; 4U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> = 1U &lt;&lt; 5U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> = 1U &lt;&lt; 24U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> = 1U &lt;&lt; 25U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> = 1U &lt;&lt; 26U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> = 1U &lt;&lt; 27U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> = 1U &lt;&lt; 28U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> = 1U &lt;&lt; 29U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> = 1U &lt;&lt; 30U
-<br />
- }<tr class="memdesc:a5929f46f42112bd805ab5001bfbf9d2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">More...</a><br /></td></tr>
+<tr class="memitem:a7816bb7ae5156fa2997b68e6300ae565"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> { <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>,
+<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce">barrier_kind::wait_data_only</a>,
+<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1">barrier_kind::nowait_all</a>,
+<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345">barrier_kind::wait_all</a>
+ }<tr class="memdesc:a7816bb7ae5156fa2997b68e6300ae565"><td class="mdescLeft">&#160;</td><td class="mdescRight">The kinds of write reordering barrier which can be performed. <a href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">More...</a><br /></td></tr>
</td></tr>
-<tr class="separator:a5929f46f42112bd805ab5001bfbf9d2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="separator:a7816bb7ae5156fa2997b68e6300ae565"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a65884346740af7fb4648c79d44a750"><td class="memItemLeft" align="right" valign="top"><a id="a1a65884346740af7fb4648c79d44a750"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> = QUICKCPPLIB_NAMESPACE::integers128::uint128</td></tr>
<tr class="memdesc:a1a65884346740af7fb4648c79d44a750"><td class="mdescLeft">&#160;</td><td class="mdescRight">The unique identifier type used by this handle. <br /></td></tr>
@@ -206,7 +190,7 @@ constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href=
<tr class="memdesc:a8b72655442a5c5a17e609a6df96106e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:a8b72655442a5c5a17e609a6df96106e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e0afe8f9559163a716b722e280e4e13"><td class="memItemLeft" align="right" valign="top"><a id="a4e0afe8f9559163a716b722e280e4e13"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a4e0afe8f9559163a716b722e280e4e13">async_file_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> *<a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> h, dev_t devid, ino_t inode, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>=<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none)</td></tr>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a4e0afe8f9559163a716b722e280e4e13">async_file_handle</a> (<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> *<a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> h, dev_t devid, ino_t inode, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none)</td></tr>
<tr class="memdesc:a4e0afe8f9559163a716b722e280e4e13"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a handle from a supplied native handle. <br /></td></tr>
<tr class="separator:a4e0afe8f9559163a716b722e280e4e13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ecbdab79c48565dcd2af6e62645d4da"><td class="memItemLeft" align="right" valign="top"><a id="a7ecbdab79c48565dcd2af6e62645d4da"></a>
@@ -237,18 +221,18 @@ constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href=
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a7c6b5216c28aa0ca145d9f45c82005a3">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &amp;o) noexcept</td></tr>
<tr class="memdesc:a7c6b5216c28aa0ca145d9f45c82005a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
<tr class="separator:a7c6b5216c28aa0ca145d9f45c82005a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9e7642226a90c6eddb1d2e0b28a68cf2"><td class="memItemLeft" align="right" valign="top"><a id="a9e7642226a90c6eddb1d2e0b28a68cf2"></a>
-virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>barrier</b> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), bool wait_for_device=false, bool and_metadata=false, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
-<tr class="separator:a9e7642226a90c6eddb1d2e0b28a68cf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a346a7685544490691f50ebb27786c651"><td class="memItemLeft" align="right" valign="top"><a id="a346a7685544490691f50ebb27786c651"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>barrier</b> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
+<tr class="separator:a346a7685544490691f50ebb27786c651"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ce03c6d1b3e3ab38c789cd0fc4fe5ba"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a2ce03c6d1b3e3ab38c789cd0fc4fe5ba">clone</a> (<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> &amp;<a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> mode_=mode::unchanged, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> caching_=caching::unchanged, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr>
<tr class="separator:a2ce03c6d1b3e3ab38c789cd0fc4fe5ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3407a44d52c4ad075cdf5283c96bf75e"><td class="memItemLeft" align="right" valign="top"><a id="a3407a44d52c4ad075cdf5283c96bf75e"></a>
virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>clone</b> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> mode_=mode::unchanged, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> caching_=caching::unchanged, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr>
<tr class="separator:a3407a44d52c4ad075cdf5283c96bf75e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7d29c4f0a0eca88431f5e1b290e66fe7"><td class="memTemplParams" colspan="2">template&lt;class CompletionRoutine &gt; </td></tr>
-<tr class="memitem:a7d29c4f0a0eca88431f5e1b290e66fe7"><td class="memTemplItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a8c38344215baf024148e144735f3cb67">io_state_ptr</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a7d29c4f0a0eca88431f5e1b290e66fe7">async_barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, CompletionRoutine &amp;&amp;completion, bool wait_for_device=false, bool and_metadata=false, span&lt; char &gt; mem={}) noexcept</td></tr>
-<tr class="memdesc:a7d29c4f0a0eca88431f5e1b290e66fe7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedule a barrier to occur asynchronously. <a href="#a7d29c4f0a0eca88431f5e1b290e66fe7">More...</a><br /></td></tr>
-<tr class="separator:a7d29c4f0a0eca88431f5e1b290e66fe7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aab8b4425981da0c40e684bccbb9a8a30"><td class="memTemplParams" colspan="2">template&lt;class CompletionRoutine &gt; </td></tr>
+<tr class="memitem:aab8b4425981da0c40e684bccbb9a8a30"><td class="memTemplItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a8c38344215baf024148e144735f3cb67">io_state_ptr</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#aab8b4425981da0c40e684bccbb9a8a30">async_barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, CompletionRoutine &amp;&amp;completion, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, span&lt; char &gt; mem={}) noexcept</td></tr>
+<tr class="memdesc:aab8b4425981da0c40e684bccbb9a8a30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedule a barrier to occur asynchronously. <a href="#aab8b4425981da0c40e684bccbb9a8a30">More...</a><br /></td></tr>
+<tr class="separator:aab8b4425981da0c40e684bccbb9a8a30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeca5271cbbf476097c84a56c4a99d58d"><td class="memTemplParams" colspan="2">template&lt;class CompletionRoutine &gt; </td></tr>
<tr class="memitem:aeca5271cbbf476097c84a56c4a99d58d"><td class="memTemplItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a8c38344215baf024148e144735f3cb67">io_state_ptr</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#aeca5271cbbf476097c84a56c4a99d58d">async_read</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; buffers_type &gt; reqs, CompletionRoutine &amp;&amp;completion, span&lt; char &gt; mem={}) noexcept</td></tr>
<tr class="memdesc:aeca5271cbbf476097c84a56c4a99d58d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedule a read to occur asynchronously. <a href="#aeca5271cbbf476097c84a56c4a99d58d">More...</a><br /></td></tr>
@@ -285,9 +269,9 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a665ddf5aa47e1d8a94580570a0457c8a">close</a> () noexcept override</td></tr>
<tr class="memdesc:a665ddf5aa47e1d8a94580570a0457c8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Immediately close the native handle type managed by this handle. <br /></td></tr>
<tr class="separator:a665ddf5aa47e1d8a94580570a0457c8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa3ec366f663f85fb4d679542b8c1b41a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3ec366f663f85fb4d679542b8c1b41a">barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), bool wait_for_device=false, bool and_metadata=false, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept=0</td></tr>
-<tr class="memdesc:aa3ec366f663f85fb4d679542b8c1b41a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier. <a href="#aa3ec366f663f85fb4d679542b8c1b41a">More...</a><br /></td></tr>
-<tr class="separator:aa3ec366f663f85fb4d679542b8c1b41a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a823391cea8818da742c0d4c573f7300f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f">barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept=0</td></tr>
+<tr class="memdesc:a823391cea8818da742c0d4c573f7300f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier. <a href="#a823391cea8818da742c0d4c573f7300f">More...</a><br /></td></tr>
+<tr class="separator:a823391cea8818da742c0d4c573f7300f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeea4389189021b94dde6d8f2c3ccc5b3"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a> () const noexcept</td></tr>
<tr class="separator:aeea4389189021b94dde6d8f2c3ccc5b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7735588338065ede0ab9b7f979bc65a"><td class="memItemLeft" align="right" valign="top"><a id="ae7735588338065ede0ab9b7f979bc65a"></a>
@@ -331,6 +315,12 @@ virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom">
<tr class="memitem:ad720c4c7f350fe06291534d1cbf2feb5"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ad720c4c7f350fe06291534d1cbf2feb5">unlock</a> (extent_type offset, extent_type bytes) noexcept</td></tr>
<tr class="memdesc:ad720c4c7f350fe06291534d1cbf2feb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlocks a byte range previously locked. <a href="#ad720c4c7f350fe06291534d1cbf2feb5">More...</a><br /></td></tr>
<tr class="separator:ad720c4c7f350fe06291534d1cbf2feb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5222904f116c9beb0515a4a5aa850bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a> (flag)</td></tr>
+<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
+<tr class="separator:ac5222904f116c9beb0515a4a5aa850bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memItemLeft" align="right" valign="top"><a id="aa7e9bedf8c7a4c4a79a644a6e1857ee4"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>QUICKCPPLIB_BITFIELD_END</b> (flag)</td></tr>
+<tr class="separator:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00a85eec5a41f7edb2c574d40cf04535"><td class="memItemLeft" align="right" valign="top">virtual result&lt; path_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a> () const noexcept</td></tr>
<tr class="separator:a00a85eec5a41f7edb2c574d40cf04535"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d273e38c061eb11f5012f624e9a202e"><td class="memItemLeft" align="right" valign="top"><a id="a1d273e38c061eb11f5012f624e9a202e"></a>
@@ -466,7 +456,7 @@ Protected Attributes</h2></td></tr>
<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>_service</b> {nullptr}</td></tr>
<tr class="separator:aa2c2b2847fd039b9c255633e6031817a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:affb091ded80ffde7c0c3854e2abc52fd"><td class="memItemLeft" align="right" valign="top"><a id="affb091ded80ffde7c0c3854e2abc52fd"></a>
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
<tr class="separator:affb091ded80ffde7c0c3854e2abc52fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
@@ -501,7 +491,7 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>io_service</b></td><
<td><code>mapped_file_handle</code></td><td>Most</td><td>Least</td><td>None</td><td>Cannot be used with uncached i/o </td></tr>
</table>
<dl class="section warning"><dt>Warning</dt><dd>i/o initiated by this class MUST be on the same kernel thread as which created the owning <code>io_service</code> which MUST also be the same kernel thread as which runs the i/o service's <code>run()</code> function.</dd></dl>
-<div class="fragment"><div class="line"> <span class="keyword">namespace </span><a class="code" href="namespacellfio__v2__xxx.html">llfio</a> = <a class="code" href="group__config.html#gac9f7f0153adb9034d26c4554728f817a">LLFIO_V2_NAMESPACE</a>;</div><div class="line"></div><div class="line"> <span class="comment">// Create an i/o service for this thread</span></div><div class="line"> <a class="code" href="classllfio__v2__xxx_1_1io__service.html">llfio::io_service</a> <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>;</div><div class="line"></div><div class="line"> <span class="comment">// Create an async file i/o handle attached to the i/o service for this thread</span></div><div class="line"> <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio::async_file_handle</a> h = <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#aa7511a8b300c448a5a0eeaea499e665e">llfio::async_file_handle::async_file</a>(service, {}, <span class="stringliteral">&quot;temp&quot;</span>, <a class="code" href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">llfio::file_handle::mode::write</a>, llfio::file_handle::creation::if_needed, llfio::file_handle::caching::only_metadata, llfio::file_handle::flag::unlink_on_first_close).value();</div><div class="line"></div><div class="line"> <span class="comment">// Truncate to 1Mb</span></div><div class="line"> h.<a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f">truncate</a>(1024 * 4096);</div><div class="line"></div><div class="line"> <span class="comment">// Launch 8 coroutines, each writing 4Kb of chars 0-8 to every 32Kb block</span></div><div class="line"> <span class="keyword">auto</span> coroutine = [&amp;h](<span class="keywordtype">size_t</span> no) -&gt; std::future&lt;void&gt; {</div><div class="line"> std::vector&lt;llfio::byte, llfio::utils::page_allocator&lt;llfio::byte&gt;&gt; buffer(4096);</div><div class="line"> memset(buffer.data(), (int) (<span class="charliteral">&#39;0&#39;</span> + no), 4096);</div><div class="line"> llfio::async_file_handle::const_buffer_type bt{buffer.data(), buffer.size()};</div><div class="line"> <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> n = 0; n &lt; 128; n++)</div><div class="line"> {</div><div class="line"> <span class="comment">// This will initiate the i/o, and suspend the coroutine until completion.</span></div><div class="line"> <span class="comment">// The caller will thus resume execution with a valid unsignaled future.</span></div><div class="line"> <span class="keyword">auto</span> written = co_await h.<a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#a3a7030863cef0cdc5646f18e76a43411">co_write</a>({bt, n * 32768 + no * 4096}).value();</div><div class="line"> written.value();</div><div class="line"> }</div><div class="line"> };</div><div class="line"> std::vector&lt;std::future&lt;void&gt;&gt; coroutines;</div><div class="line"> <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> n = 0; n &lt; 8; n++)</div><div class="line"> {</div><div class="line"> <span class="comment">// Construct each coroutine, initiating the i/o, then suspending.</span></div><div class="line"> coroutines.push_back(coroutine(n));</div><div class="line"> }</div><div class="line"> <span class="comment">// Pump the i/o, multiplexing the coroutines, until no more work remains.</span></div><div class="line"> <span class="keywordflow">while</span>(service.<a class="code" href="classllfio__v2__xxx_1_1io__service.html#a5719f4f0779047c202d7fb3cda0dcc28">run</a>().value())</div><div class="line"> ;</div><div class="line"> <span class="comment">// Make sure nothing went wrong by fetching the futures.</span></div><div class="line"> <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : coroutines)</div><div class="line"> {</div><div class="line"> i.get();</div><div class="line"> }</div></div><!-- fragment --></div><h2 class="groupheader">Member Typedef Documentation</h2>
+<div class="fragment"><div class="line"> <span class="keyword">namespace </span><a class="code" href="namespacellfio__v2__xxx.html">llfio</a> = <a class="code" href="group__config.html#gac9f7f0153adb9034d26c4554728f817a">LLFIO_V2_NAMESPACE</a>;</div><div class="line"></div><div class="line"> <span class="comment">// Create an i/o service for this thread</span></div><div class="line"> <a class="code" href="classllfio__v2__xxx_1_1io__service.html">llfio::io_service</a> <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>;</div><div class="line"></div><div class="line"> <span class="comment">// Create an async file i/o handle attached to the i/o service for this thread</span></div><div class="line"> <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio::async_file_handle</a> h = <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#aa7511a8b300c448a5a0eeaea499e665e">llfio::async_file_handle::async_file</a>(service, {}, <span class="stringliteral">&quot;temp&quot;</span>, <a class="code" href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">llfio::file_handle::mode::write</a>, llfio::file_handle::creation::if_needed, llfio::file_handle::caching::only_metadata, llfio::file_handle::flag::unlink_on_first_close).value();</div><div class="line"></div><div class="line"> <span class="comment">// Truncate to 1Mb</span></div><div class="line"> (void) h.<a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f">truncate</a>(1024 * 4096);</div><div class="line"></div><div class="line"> <span class="comment">// Launch 8 coroutines, each writing 4Kb of chars 0-8 to every 32Kb block</span></div><div class="line"> <span class="keyword">auto</span> coroutine = [&amp;h](<span class="keywordtype">size_t</span> no) -&gt; llfio::eager&lt;void&gt; {</div><div class="line"> std::vector&lt;llfio::byte, llfio::utils::page_allocator&lt;llfio::byte&gt;&gt; buffer(4096);</div><div class="line"> memset(buffer.data(), (int) (<span class="charliteral">&#39;0&#39;</span> + no), 4096);</div><div class="line"> llfio::async_file_handle::const_buffer_type bt{buffer.data(), buffer.size()};</div><div class="line"> <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> n = 0; n &lt; 128; n++)</div><div class="line"> {</div><div class="line"> <span class="comment">// This will initiate the i/o, and suspend the coroutine until completion.</span></div><div class="line"> <span class="comment">// The caller will thus resume execution with a valid unsignaled future.</span></div><div class="line"> <span class="keyword">auto</span> written = co_await h.<a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#a3a7030863cef0cdc5646f18e76a43411">co_write</a>({bt, n * 32768 + no * 4096}).value();</div><div class="line"> written.value();</div><div class="line"> }</div><div class="line"> };</div><div class="line"> std::vector&lt;llfio::eager&lt;void&gt;&gt; coroutines;</div><div class="line"> <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> n = 0; n &lt; 8; n++)</div><div class="line"> {</div><div class="line"> <span class="comment">// Construct each coroutine, initiating the i/o, then suspending.</span></div><div class="line"> coroutines.push_back(coroutine(n));</div><div class="line"> }</div><div class="line"> <span class="comment">// Pump the i/o, multiplexing the coroutines, until no more work remains.</span></div><div class="line"> <span class="keywordflow">while</span>(service.<a class="code" href="classllfio__v2__xxx_1_1io__service.html#a5719f4f0779047c202d7fb3cda0dcc28">run</a>().value())</div><div class="line"> ;</div></div><!-- fragment --></div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a8c38344215baf024148e144735f3cb67"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c38344215baf024148e144735f3cb67">&#9670;&nbsp;</a></span>io_state_ptr</h2>
@@ -518,8 +508,8 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>io_service</b></td><
</div>
</div>
<h2 class="groupheader">Member Enumeration Documentation</h2>
-<a id="a5929f46f42112bd805ab5001bfbf9d2a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5929f46f42112bd805ab5001bfbf9d2a">&#9670;&nbsp;</a></span>bitfield__flag</h2>
+<a id="a7816bb7ae5156fa2997b68e6300ae565"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7816bb7ae5156fa2997b68e6300ae565">&#9670;&nbsp;</a></span>barrier_kind</h2>
<div class="memitem">
<div class="memproto">
@@ -528,72 +518,33 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>io_service</b></td><
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">llfio_v2_xxx::handle::bitfield__flag</a> : unsigned</td>
+ <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">llfio_v2_xxx::io_handle::barrier_kind</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">strong</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Bitwise flags which can be specified. </p>
+<p>The kinds of write reordering barrier which can be performed. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298"></a>none&#160;</td><td class="fielddoc"><p>No flags. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No ability to read or write anything, but can synchronise (SYNCHRONIZE or 0) </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No caching whatsoever, all reads and writes come from storage (i.e. <code>O_DIRECT|O_SYNC</code>). Align all i/o to 4Kb boundaries for this to work. <code>disable_safety_barriers</code> can be used here. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962"></a>unlink_on_first_close&#160;</td><td class="fielddoc"><p>Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d"></a>disable_safety_barriers&#160;</td><td class="fielddoc"><p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
-<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
-<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b"></a>disable_safety_unlinks&#160;</td><td class="fielddoc"><p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free. </dd></dl>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3"></a>disable_prefetching&#160;</td><td class="fielddoc"><p>Ask the OS to disable prefetching of data. This can improve random i/o performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0"></a>maximum_prefetching&#160;</td><td class="fielddoc"><p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c"></a>win_disable_unlink_emulation&#160;</td><td class="fielddoc"><p>See the documentation for <code>unlink_on_first_close</code> </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0"></a>win_disable_sparse_file_creation&#160;</td><td class="fielddoc"><p>Microsoft Windows NTFS, having been created in the late 1980s, did not originally implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
-<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
-<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322"></a>disable_parallelism&#160;</td><td class="fielddoc"><p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag. </p>
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb"></a>nowait_data_only&#160;</td><td class="fielddoc"><p>Barrier data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using <code>nvram_barrier()</code> for even better performance. </p>
</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681"></a>win_create_case_sensitive_directory&#160;</td><td class="fielddoc"><p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off. </p>
+<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce"></a>wait_data_only&#160;</td><td class="fielddoc"><p>Barrier data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using <code>nvram_barrier()</code> for even better performance. </p>
</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a"></a>overlapped&#160;</td><td class="fielddoc"><p>On Windows, create any new handles with OVERLAPPED semantics. </p>
+<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1"></a>nowait_all&#160;</td><td class="fielddoc"><p>Barrier data and the metadata to retrieve it, non-blocking. </p>
</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59"></a>byte_lock_insanity&#160;</td><td class="fielddoc"><p>Using insane POSIX byte range locks. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d"></a>anonymous_inode&#160;</td><td class="fielddoc"><p>This is an inode created with no representation on the filing system. </p>
+<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345"></a>wait_all&#160;</td><td class="fielddoc"><p>Barrier data and the metadata to retrieve it, block until it is done. </p>
</td></tr>
</table>
-<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div><div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">llfio_v2_xxx::handle::win_create_case_sensitive_directory</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:176</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">llfio_v2_xxx::handle::anonymous_inode</a></div><div class="ttdoc">This is an inode created with no representation on the filing system. </div><div class="ttdef"><b>Definition:</b> handle.hpp:182</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">llfio_v2_xxx::handle::disable_safety_unlinks</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:137</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">llfio_v2_xxx::handle::disable_parallelism</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:170</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">llfio_v2_xxx::handle::none</a></div><div class="ttdoc">No flags. </div><div class="ttdef"><b>Definition:</b> handle.hpp:99</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">llfio_v2_xxx::handle::maximum_prefetching</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:145</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">llfio_v2_xxx::handle::overlapped</a></div><div class="ttdoc">On Windows, create any new handles with OVERLAPPED semantics. </div><div class="ttdef"><b>Definition:</b> handle.hpp:180</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">llfio_v2_xxx::handle::disable_prefetching</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:141</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">llfio_v2_xxx::handle::byte_lock_insanity</a></div><div class="ttdoc">Using insane POSIX byte range locks. </div><div class="ttdef"><b>Definition:</b> handle.hpp:181</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">llfio_v2_xxx::handle::unlink_on_first_close</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:109</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">llfio_v2_xxx::handle::win_disable_unlink_emulation</a></div><div class="ttdoc">See the documentation for unlink_on_first_close </div><div class="ttdef"><b>Definition:</b> handle.hpp:147</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">llfio_v2_xxx::handle::disable_safety_barriers</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:128</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">llfio_v2_xxx::handle::win_disable_sparse_file_creation</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:163</div></div>
-</div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; {</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; nowait_data_only, <span class="comment">//!&lt; Barrier data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using `nvram_barrier()` for even better performance.</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment"></span> wait_data_only, <span class="comment">//!&lt; Barrier data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using `nvram_barrier()` for even better performance.</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"></span> nowait_all, <span class="comment">//!&lt; Barrier data and the metadata to retrieve it, non-blocking.</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"></span> wait_all <span class="comment">//!&lt; Barrier data and the metadata to retrieve it, block until it is done.</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"></span> };</div></div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
-<a id="a7d29c4f0a0eca88431f5e1b290e66fe7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7d29c4f0a0eca88431f5e1b290e66fe7">&#9670;&nbsp;</a></span>async_barrier()</h2>
+<a id="aab8b4425981da0c40e684bccbb9a8a30"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aab8b4425981da0c40e684bccbb9a8a30">&#9670;&nbsp;</a></span>async_barrier()</h2>
<div class="memitem">
<div class="memproto">
@@ -618,14 +569,8 @@ template&lt;class CompletionRoutine &gt; </div>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">bool&#160;</td>
- <td class="paramname"><em>wait_for_device</em> = <code>false</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&#160;</td>
- <td class="paramname"><em>and_metadata</em> = <code>false</code>, </td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a>&#160;</td>
+ <td class="paramname"><em>kind</em> = <code><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -653,15 +598,17 @@ template&lt;class CompletionRoutine &gt; </div>
<table class="params">
<tr><td class="paramname">reqs</td><td>A scatter-gather and offset request for what range to barrier. May be ignored on some platforms which always write barrier the entire file. Supplying a default initialised reqs write barriers the entire file. </td></tr>
<tr><td class="paramname">completion</td><td>A callable to call upon i/o completion. Spec is <code>void(async_file_handle *, io_result&lt;const_buffers_type&gt; &amp;)</code>. Note that buffers returned may not be buffers input, see documentation for <code>barrier()</code>. </td></tr>
- <tr><td class="paramname">wait_for_device</td><td>True if you want the call to wait until data reaches storage and that storage has acknowledged the data is physically written. Slow. </td></tr>
- <tr><td class="paramname">and_metadata</td><td>True if you want the call to sync the metadata for retrieving the writes before the barrier after a sudden power loss event. Slow. </td></tr>
+ <tr><td class="paramname">kind</td><td>Which kind of write reordering barrier to perform. </td></tr>
<tr><td class="paramname">mem</td><td>Optional span of memory to use to avoid using <code>calloc()</code>. Note span MUST be all bits zero on entry. </td></tr>
</table>
</dd>
</dl>
<dl class="section user"><dt>Errors returnable</dt><dd>As for <code>barrier()</code>, plus <code>ENOMEM</code>. </dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>If mem is not set, one calloc, one free. The allocation is unavoidable due to the need to store a type erased completion handler of unknown type and state per buffers input. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; {}) noexcept</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; {</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; LLFIO_LOG_FUNCTION_CALL(<span class="keyword">this</span>);</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keyword">struct </span>completion_handler : _erased_completion_handler</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; {</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; CompletionRoutine completion;</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160;</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keyword">explicit</span> completion_handler(CompletionRoutine c)</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; : completion(<a class="code" href="namespacestd.html">std</a>::move(c))</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; {</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; }</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="keywordtype">size_t</span> bytes() const noexcept final { <span class="keywordflow">return</span> <span class="keyword">sizeof</span>(*this); }</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <span class="keywordtype">void</span> move(_erased_completion_handler *_dest) <span class="keyword">final</span></div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; {</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keyword">auto</span> *dest = <span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">void</span> *<span class="keyword">&gt;</span>(_dest);</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keyword">using</span> msvc_workaround = std::decay_t&lt;decltype(*this)&gt;;</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="keyword">new</span>(dest) msvc_workaround(std::move(*<span class="keyword">this</span>));</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; }</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="keywordtype">void</span> operator()(_erased_io_state_type *state) <span class="keyword">final</span> { completion(state-&gt;parent, std::move(state-&gt;result.write)); }</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keywordtype">void</span> *address() noexcept final { <span class="keywordflow">return</span> &amp;completion; }</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; } ch{std::forward&lt;CompletionRoutine&gt;(completion)};</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; operation_t operation = operation_t::fsync_sync;</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="keywordflow">if</span>(!wait_for_device &amp;&amp; and_metadata)</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; {</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; operation = operation_t::fsync_async;</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; }</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(wait_for_device &amp;&amp; !and_metadata)</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; {</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; operation = operation_t::dsync_sync;</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; }</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(!wait_for_device &amp;&amp; !and_metadata)</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; {</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; operation = operation_t::dsync_async;</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; }</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <span class="keywordflow">return</span> _begin_io(mem, operation, <span class="keyword">reinterpret_cast&lt;</span>io_request&lt;const_buffers_type&gt; &amp;<span class="keyword">&gt;</span>(reqs), std::move(ch));</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; }</div><div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div><div class="ttdoc">STL namespace. </div></div>
+<div class="fragment"><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; {}) noexcept</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; {</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; LLFIO_LOG_FUNCTION_CALL(<span class="keyword">this</span>);</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <span class="keyword">struct </span>completion_handler : _erased_completion_handler</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; {</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; CompletionRoutine completion;</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160;</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="keyword">explicit</span> completion_handler(CompletionRoutine c)</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; : completion(<a class="code" href="namespacestd.html">std</a>::move(c))</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; {</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; }</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keywordtype">size_t</span> bytes() const noexcept final { <span class="keywordflow">return</span> <span class="keyword">sizeof</span>(*this); }</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keywordtype">void</span> move(_erased_completion_handler *_dest) <span class="keyword">final</span></div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; {</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="keyword">auto</span> *dest = <span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">void</span> *<span class="keyword">&gt;</span>(_dest);</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <span class="keyword">using</span> msvc_workaround = std::decay_t&lt;decltype(*this)&gt;;</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="keyword">new</span>(dest) msvc_workaround(std::move(*<span class="keyword">this</span>));</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; }</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordtype">void</span> operator()(_erased_io_state_type *state) <span class="keyword">final</span> { completion(state-&gt;parent, std::move(state-&gt;result.write)); }</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="keywordtype">void</span> *address() noexcept final { <span class="keywordflow">return</span> &amp;completion; }</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; } ch{std::forward&lt;CompletionRoutine&gt;(completion)};</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; operation_t operation = operation_t::fsync_sync;</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keywordflow">if</span>(kind == <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1">barrier_kind::nowait_all</a>)</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; {</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; operation = operation_t::fsync_async;</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; }</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(kind == <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce">barrier_kind::wait_data_only</a>)</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; {</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; operation = operation_t::dsync_sync;</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; }</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(kind == <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>)</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; {</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; operation = operation_t::dsync_async;</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; }</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="keywordflow">return</span> _begin_io(mem, operation, <span class="keyword">reinterpret_cast&lt;</span>io_request&lt;const_buffers_type&gt; &amp;<span class="keyword">&gt;</span>(reqs), std::move(ch));</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1">llfio_v2_xxx::io_handle::barrier_kind::nowait_all</a></div><div class="ttdoc">Barrier data and the metadata to retrieve it, non-blocking. </div></div>
+<div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce">llfio_v2_xxx::io_handle::barrier_kind::wait_data_only</a></div><div class="ttdoc">Barrier data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using nvram_barrier() for even better performance. </div></div>
+<div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div><div class="ttdoc">STL namespace. </div></div>
+<div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">llfio_v2_xxx::io_handle::barrier_kind::nowait_data_only</a></div><div class="ttdoc">Barrier data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using nvra...</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -864,7 +811,7 @@ template&lt;class CompletionRoutine &gt; </div>
</dl>
<dl class="section user"><dt>Errors returnable</dt><dd>As for <code>read()</code>, plus <code>ENOMEM</code>. </dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>If mem is not set, one calloc, one free. The allocation is unavoidable due to the need to store a type erased completion handler of unknown type and state per buffers input. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; {}) noexcept</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; {</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; LLFIO_LOG_FUNCTION_CALL(<span class="keyword">this</span>);</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; <span class="keyword">struct </span>completion_handler : _erased_completion_handler</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; {</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; CompletionRoutine completion;</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <span class="keyword">explicit</span> completion_handler(CompletionRoutine c)</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; : completion(<a class="code" href="namespacestd.html">std</a>::move(c))</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; {</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; }</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <span class="keywordtype">size_t</span> bytes() const noexcept final { <span class="keywordflow">return</span> <span class="keyword">sizeof</span>(*this); }</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="keywordtype">void</span> move(_erased_completion_handler *_dest) <span class="keyword">final</span></div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; {</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <span class="keyword">auto</span> *dest = <span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">void</span> *<span class="keyword">&gt;</span>(_dest);</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <span class="keyword">using</span> msvc_workaround = std::decay_t&lt;decltype(*this)&gt;;</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <span class="keyword">new</span>(dest) msvc_workaround(std::move(*<span class="keyword">this</span>));</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; }</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keywordtype">void</span> operator()(_erased_io_state_type *state) <span class="keyword">final</span> { completion(state-&gt;parent, std::move(state-&gt;result.read)); }</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="keywordtype">void</span> *address() noexcept final { <span class="keywordflow">return</span> &amp;completion; }</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; } ch{std::forward&lt;CompletionRoutine&gt;(completion)};</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <span class="keywordflow">return</span> _begin_io(mem, operation_t::read, io_request&lt;const_buffers_type&gt;({<span class="keyword">reinterpret_cast&lt;</span>const_buffer_type *<span class="keyword">&gt;</span>(reqs.buffers.data()), reqs.buffers.size()}, reqs.offset), std::move(ch));</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; }</div><div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div><div class="ttdoc">STL namespace. </div></div>
+<div class="fragment"><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; {}) noexcept</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; {</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; LLFIO_LOG_FUNCTION_CALL(<span class="keyword">this</span>);</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="keyword">struct </span>completion_handler : _erased_completion_handler</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; {</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; CompletionRoutine completion;</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; <span class="keyword">explicit</span> completion_handler(CompletionRoutine c)</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; : completion(<a class="code" href="namespacestd.html">std</a>::move(c))</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; {</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; }</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="keywordtype">size_t</span> bytes() const noexcept final { <span class="keywordflow">return</span> <span class="keyword">sizeof</span>(*this); }</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <span class="keywordtype">void</span> move(_erased_completion_handler *_dest) <span class="keyword">final</span></div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; {</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <span class="keyword">auto</span> *dest = <span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">void</span> *<span class="keyword">&gt;</span>(_dest);</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="keyword">using</span> msvc_workaround = std::decay_t&lt;decltype(*this)&gt;;</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keyword">new</span>(dest) msvc_workaround(std::move(*<span class="keyword">this</span>));</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; }</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <span class="keywordtype">void</span> operator()(_erased_io_state_type *state) <span class="keyword">final</span> { completion(state-&gt;parent, std::move(state-&gt;result.read)); }</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <span class="keywordtype">void</span> *address() noexcept final { <span class="keywordflow">return</span> &amp;completion; }</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; } ch{std::forward&lt;CompletionRoutine&gt;(completion)};</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keywordflow">return</span> _begin_io(mem, operation_t::read, io_request&lt;const_buffers_type&gt;({<span class="keyword">reinterpret_cast&lt;</span>const_buffer_type *<span class="keyword">&gt;</span>(reqs.buffers.data()), reqs.buffers.size()}, reqs.offset), std::move(ch));</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; }</div><div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div><div class="ttdoc">STL namespace. </div></div>
</div><!-- fragment -->
</div>
</div>
@@ -1045,12 +992,12 @@ template&lt;class CompletionRoutine &gt; </div>
</dl>
<dl class="section user"><dt>Errors returnable</dt><dd>As for <code>write()</code>, plus <code>ENOMEM</code>. </dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>If mem in not set, one calloc, one free. The allocation is unavoidable due to the need to store a type erased completion handler of unknown type and state per buffers input. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; {}) noexcept</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; {</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; LLFIO_LOG_FUNCTION_CALL(<span class="keyword">this</span>);</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <span class="keyword">struct </span>completion_handler : _erased_completion_handler</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; {</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; CompletionRoutine completion;</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; <span class="keyword">explicit</span> completion_handler(CompletionRoutine c)</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; : completion(<a class="code" href="namespacestd.html">std</a>::move(c))</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; {</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; }</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <span class="keywordtype">size_t</span> bytes() const noexcept final { <span class="keywordflow">return</span> <span class="keyword">sizeof</span>(*this); }</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <span class="keywordtype">void</span> move(_erased_completion_handler *_dest) <span class="keyword">final</span></div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; {</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keyword">auto</span> *dest = <span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">void</span> *<span class="keyword">&gt;</span>(_dest);</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keyword">using</span> msvc_workaround = std::decay_t&lt;decltype(*this)&gt;;</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="keyword">new</span>(dest) msvc_workaround(std::move(*<span class="keyword">this</span>));</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; }</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <span class="keywordtype">void</span> operator()(_erased_io_state_type *state) <span class="keyword">final</span> { completion(state-&gt;parent, std::move(state-&gt;result.write)); }</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordtype">void</span> *address() noexcept final { <span class="keywordflow">return</span> &amp;completion; }</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; } ch{std::forward&lt;CompletionRoutine&gt;(completion)};</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <span class="keywordflow">return</span> _begin_io(mem, operation_t::write, reqs, std::move(ch));</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; }</div><div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div><div class="ttdoc">STL namespace. </div></div>
+<div class="fragment"><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; {}) noexcept</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; {</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; LLFIO_LOG_FUNCTION_CALL(<span class="keyword">this</span>);</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <span class="keyword">struct </span>completion_handler : _erased_completion_handler</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; {</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; CompletionRoutine completion;</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <span class="keyword">explicit</span> completion_handler(CompletionRoutine c)</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; : completion(<a class="code" href="namespacestd.html">std</a>::move(c))</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; {</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; }</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <span class="keywordtype">size_t</span> bytes() const noexcept final { <span class="keywordflow">return</span> <span class="keyword">sizeof</span>(*this); }</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <span class="keywordtype">void</span> move(_erased_completion_handler *_dest) <span class="keyword">final</span></div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; {</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <span class="keyword">auto</span> *dest = <span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">void</span> *<span class="keyword">&gt;</span>(_dest);</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <span class="keyword">using</span> msvc_workaround = std::decay_t&lt;decltype(*this)&gt;;</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <span class="keyword">new</span>(dest) msvc_workaround(std::move(*<span class="keyword">this</span>));</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; }</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keywordtype">void</span> operator()(_erased_io_state_type *state) <span class="keyword">final</span> { completion(state-&gt;parent, std::move(state-&gt;result.write)); }</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="keywordtype">void</span> *address() noexcept final { <span class="keywordflow">return</span> &amp;completion; }</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; } ch{std::forward&lt;CompletionRoutine&gt;(completion)};</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <span class="keywordflow">return</span> _begin_io(mem, operation_t::write, reqs, std::move(ch));</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; }</div><div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div><div class="ttdoc">STL namespace. </div></div>
</div><!-- fragment -->
</div>
</div>
-<a id="aa3ec366f663f85fb4d679542b8c1b41a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa3ec366f663f85fb4d679542b8c1b41a">&#9670;&nbsp;</a></span>barrier()</h2>
+<a id="a823391cea8818da742c0d4c573f7300f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a823391cea8818da742c0d4c573f7300f">&#9670;&nbsp;</a></span>barrier()</h2>
<div class="memitem">
<div class="memproto">
@@ -1067,14 +1014,8 @@ template&lt;class CompletionRoutine &gt; </div>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">bool&#160;</td>
- <td class="paramname"><em>wait_for_device</em> = <code>false</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&#160;</td>
- <td class="paramname"><em>and_metadata</em> = <code>false</code>, </td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a>&#160;</td>
+ <td class="paramname"><em>kind</em> = <code><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -1105,8 +1046,7 @@ For portability, you can only assume that barriers write order for a single hand
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">reqs</td><td>A scatter-gather and offset request for what range to barrier. May be ignored on some platforms which always write barrier the entire file. Supplying a default initialised reqs write barriers the entire file. </td></tr>
- <tr><td class="paramname">wait_for_device</td><td>True if you want the call to wait until data reaches storage and that storage has acknowledged the data is physically written. Slow. </td></tr>
- <tr><td class="paramname">and_metadata</td><td>True if you want the call to sync the metadata for retrieving the writes before the barrier after a sudden power loss event. Slow. Setting this to false enables much faster performance, especially on non-volatile memory. </td></tr>
+ <tr><td class="paramname">kind</td><td>Which kind of write reordering barrier to perform. </td></tr>
<tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
</table>
</dd>
@@ -1230,7 +1170,7 @@ For portability, you can only assume that barriers write order for a single hand
</dl>
<dl class="section user"><dt>Errors returnable</dt><dd>As for read(), plus ENOMEM. </dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>One calloc, one free. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; {</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; OUTCOME_TRY(r, <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#aeca5271cbbf476097c84a56c4a99d58d">async_read</a>(reqs, awaitable_state&lt;buffers_type&gt;()));</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <span class="keywordflow">return</span> awaitable&lt;buffers_type&gt;(std::move(r));</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1async__file__handle_html_aeca5271cbbf476097c84a56c4a99d58d"><div class="ttname"><a href="classllfio__v2__xxx_1_1async__file__handle.html#aeca5271cbbf476097c84a56c4a99d58d">llfio_v2_xxx::async_file_handle::async_read</a></div><div class="ttdeci">result&lt; io_state_ptr &gt; async_read(io_request&lt; buffers_type &gt; reqs, CompletionRoutine &amp;&amp;completion, span&lt; char &gt; mem={}) noexcept</div><div class="ttdoc">Schedule a read to occur asynchronously. </div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:439</div></div>
+<div class="fragment"><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; {</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; OUTCOME_TRY(r, <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#aeca5271cbbf476097c84a56c4a99d58d">async_read</a>(reqs, awaitable_state&lt;buffers_type&gt;()));</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; <span class="keywordflow">return</span> awaitable&lt;buffers_type&gt;(std::move(r));</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1async__file__handle_html_aeca5271cbbf476097c84a56c4a99d58d"><div class="ttname"><a href="classllfio__v2__xxx_1_1async__file__handle.html#aeca5271cbbf476097c84a56c4a99d58d">llfio_v2_xxx::async_file_handle::async_read</a></div><div class="ttdeci">result&lt; io_state_ptr &gt; async_read(io_request&lt; buffers_type &gt; reqs, CompletionRoutine &amp;&amp;completion, span&lt; char &gt; mem={}) noexcept</div><div class="ttdoc">Schedule a read to occur asynchronously. </div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:436</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -1268,7 +1208,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; {</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; buffer_type *_reqs = <span class="keyword">reinterpret_cast&lt;</span>buffer_type *<span class="keyword">&gt;</span>(alloca(<span class="keyword">sizeof</span>(buffer_type) * lst.size()));</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(buffer_type) * lst.size());</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; io_request&lt;buffers_type&gt; reqs(buffers_type(_reqs, lst.size()), offset);</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#adc8452934b08cfca28ac8eb74aca0664">co_read</a>(reqs);</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1async__file__handle_html_adc8452934b08cfca28ac8eb74aca0664"><div class="ttname"><a href="classllfio__v2__xxx_1_1async__file__handle.html#adc8452934b08cfca28ac8eb74aca0664">llfio_v2_xxx::async_file_handle::co_read</a></div><div class="ttdeci">result&lt; awaitable&lt; buffers_type &gt; &gt; co_read(io_request&lt; buffers_type &gt; reqs) noexcept</div><div class="ttdoc">Schedule a read to occur asynchronously. </div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:567</div></div>
+<div class="fragment"><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; {</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; buffer_type *_reqs = <span class="keyword">reinterpret_cast&lt;</span>buffer_type *<span class="keyword">&gt;</span>(alloca(<span class="keyword">sizeof</span>(buffer_type) * lst.size()));</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(buffer_type) * lst.size());</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; io_request&lt;buffers_type&gt; reqs(buffers_type(_reqs, lst.size()), offset);</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#adc8452934b08cfca28ac8eb74aca0664">co_read</a>(reqs);</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1async__file__handle_html_adc8452934b08cfca28ac8eb74aca0664"><div class="ttname"><a href="classllfio__v2__xxx_1_1async__file__handle.html#adc8452934b08cfca28ac8eb74aca0664">llfio_v2_xxx::async_file_handle::co_read</a></div><div class="ttdeci">result&lt; awaitable&lt; buffers_type &gt; &gt; co_read(io_request&lt; buffers_type &gt; reqs) noexcept</div><div class="ttdoc">Schedule a read to occur asynchronously. </div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:564</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -1306,7 +1246,7 @@ For portability, you can only assume that barriers write order for a single hand
</dl>
<dl class="section user"><dt>Errors returnable</dt><dd>As for write(), plus ENOMEM. </dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>One calloc, one free. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; {</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; OUTCOME_TRY(r, <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#afbc86680a51fe4643b74a8d519a4f552">async_write</a>(reqs, awaitable_state&lt;const_buffers_type&gt;()));</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <span class="keywordflow">return</span> awaitable&lt;const_buffers_type&gt;(std::move(r));</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1async__file__handle_html_afbc86680a51fe4643b74a8d519a4f552"><div class="ttname"><a href="classllfio__v2__xxx_1_1async__file__handle.html#afbc86680a51fe4643b74a8d519a4f552">llfio_v2_xxx::async_file_handle::async_write</a></div><div class="ttdeci">result&lt; io_state_ptr &gt; async_write(io_request&lt; const_buffers_type &gt; reqs, CompletionRoutine &amp;&amp;completion, span&lt; char &gt; mem={}) noexcept</div><div class="ttdoc">Schedule a write to occur asynchronously. </div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:483</div></div>
+<div class="fragment"><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; {</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; OUTCOME_TRY(r, <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#afbc86680a51fe4643b74a8d519a4f552">async_write</a>(reqs, awaitable_state&lt;const_buffers_type&gt;()));</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; <span class="keywordflow">return</span> awaitable&lt;const_buffers_type&gt;(std::move(r));</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1async__file__handle_html_afbc86680a51fe4643b74a8d519a4f552"><div class="ttname"><a href="classllfio__v2__xxx_1_1async__file__handle.html#afbc86680a51fe4643b74a8d519a4f552">llfio_v2_xxx::async_file_handle::async_write</a></div><div class="ttdeci">result&lt; io_state_ptr &gt; async_write(io_request&lt; const_buffers_type &gt; reqs, CompletionRoutine &amp;&amp;completion, span&lt; char &gt; mem={}) noexcept</div><div class="ttdoc">Schedule a write to occur asynchronously. </div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:480</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -1344,7 +1284,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; {</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; const_buffer_type *_reqs = <span class="keyword">reinterpret_cast&lt;</span>const_buffer_type *<span class="keyword">&gt;</span>(alloca(<span class="keyword">sizeof</span>(const_buffer_type) * lst.size()));</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; io_request&lt;const_buffers_type&gt; reqs(const_buffers_type(_reqs, lst.size()), offset);</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#a3a7030863cef0cdc5646f18e76a43411">co_write</a>(reqs);</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1async__file__handle_html_a3a7030863cef0cdc5646f18e76a43411"><div class="ttname"><a href="classllfio__v2__xxx_1_1async__file__handle.html#a3a7030863cef0cdc5646f18e76a43411">llfio_v2_xxx::async_file_handle::co_write</a></div><div class="ttdeci">result&lt; awaitable&lt; const_buffers_type &gt; &gt; co_write(io_request&lt; const_buffers_type &gt; reqs) noexcept</div><div class="ttdoc">Schedule a write to occur asynchronously. </div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:593</div></div>
+<div class="fragment"><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; {</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; const_buffer_type *_reqs = <span class="keyword">reinterpret_cast&lt;</span>const_buffer_type *<span class="keyword">&gt;</span>(alloca(<span class="keyword">sizeof</span>(const_buffer_type) * lst.size()));</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; io_request&lt;const_buffers_type&gt; reqs(const_buffers_type(_reqs, lst.size()), offset);</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#a3a7030863cef0cdc5646f18e76a43411">co_write</a>(reqs);</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1async__file__handle_html_a3a7030863cef0cdc5646f18e76a43411"><div class="ttname"><a href="classllfio__v2__xxx_1_1async__file__handle.html#a3a7030863cef0cdc5646f18e76a43411">llfio_v2_xxx::async_file_handle::co_write</a></div><div class="ttdeci">result&lt; awaitable&lt; const_buffers_type &gt; &gt; co_write(io_request&lt; const_buffers_type &gt; reqs) noexcept</div><div class="ttdoc">Schedule a write to occur asynchronously. </div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:590</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -1371,7 +1311,7 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</div><div class="memdoc">
<p>Returns the current path of the open handle as said by the operating system. Note that you are NOT guaranteed that any path refreshed bears any resemblance to the original, some operating systems will return some different path which still reaches the same inode via some other route e.g. hardlinks, dereferenced symbolic links, etc. Windows and Linux correctly track changes to the specific path the handle was opened with, not getting confused by other hard links. MacOS nearly gets it right, but under some circumstances e.g. renaming may switch to a different hard link's path which is almost certainly a bug.</p>
-<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::stablized_path&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
+<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
<p>On Linux if <code>/proc</code> is not mounted, this call fails with an error. All APIs in LLFIO which require the use of <code>current_path()</code> can be told to not use it e.g. <code>flag::disable_safety_unlinks</code>. It is up to you to detect if <code>current_path()</code> is not working, and to change how you call LLFIO appropriately.</p>
<dl class="section warning"><dt>Warning</dt><dd>This call is expensive, it always asks the kernel for the current path, and no checking is done to ensure what the kernel returns is accurate or even sensible. Be aware that despite these precautions, paths are unstable and <b>can change randomly at any moment</b>. Most code written to use absolute file systems paths is <b>racy</b>, so don't do it, use <code>path_handle</code> to fix a base location on the file system and work from that anchor instead!</dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>At least one malloc for the <code>path_type</code>, likely several more. </dd></dl>
@@ -1587,7 +1527,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; {</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; {</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; {</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; }</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; bytes += i.size();</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; }</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(reqs.offset, bytes, <span class="keyword">false</span>, d);</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
+<div class="fragment"><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; {</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; {</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; {</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; }</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; bytes += i.size();</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; }</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(reqs.offset, bytes, <span class="keyword">false</span>, d);</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -1625,7 +1565,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; {</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; {</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; {</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; }</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; bytes += i.size();</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; }</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(reqs.offset, bytes, <span class="keyword">true</span>, d);</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
+<div class="fragment"><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; {</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; {</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; {</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; }</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; bytes += i.size();</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; }</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(reqs.offset, bytes, <span class="keyword">true</span>, d);</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -1655,7 +1595,8 @@ For portability, you can only assume that barriers write order for a single hand
<p>The <em>maximum</em> number of buffers which a single read or write syscall can process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. </p>
<p>Note that the actual number of buffers accepted for a read or a write may be significantly lower than this system-defined limit, depending on available resources. The <code>read()</code> or <code>write()</code> call will return the buffers accepted.</p>
<p>Note also that some OSs will error out if you supply more than this limit to <code>read()</code> or <code>write()</code>, but other OSs do not. Some OSs guarantee that each i/o syscall has effects atomically visible or not to other i/o, other OSs do not.</p>
-<p>Microsoft Windows and OS X does not implement scatter-gather file i/o syscalls. Thus this function will always return <code>1</code> in that situation. </p>
+<p>OS X does not implement scatter-gather file i/o syscalls. Thus this function will always return <code>1</code> in that situation.</p>
+<p>Microsoft Windows <em>may</em> implement scatter-gather file i/o under very limited circumstances. Most of the time this function will return <code>1</code>. </p>
</div>
</div>
@@ -1718,6 +1659,51 @@ For portability, you can only assume that barriers write order for a single hand
</div>
</div>
+<a id="ac5222904f116c9beb0515a4a5aa850bf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac5222904f116c9beb0515a4a5aa850bf">&#9670;&nbsp;</a></span>QUICKCPPLIB_BITFIELD_BEGIN()</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::handle::QUICKCPPLIB_BITFIELD_BEGIN </td>
+ <td>(</td>
+ <td class="paramtype">flag&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Bitwise flags which can be specified. </p>
+<p>&lt; No flags </p><pre class="fragment">Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed
+</pre><p> to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
+<p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
+<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
+<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers</p>
+<p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free.</dd></dl>
+<p>Ask the OS to disable prefetching of data. This can improve random i/o performance.</p>
+<p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance.</p>
+<p>&lt; See the documentation for <code>unlink_on_first_close</code> </p><pre class="fragment">Microsoft Windows NTFS, having been created in the late 1980s, did not originally
+</pre><p> implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
+<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
+<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening.</p>
+<p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag.</p>
+<p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off.</p>
+<p>&lt; On Windows, create any new handles with OVERLAPPED semantics</p>
+<p>&lt; Using insane POSIX byte range locks</p>
+<p>&lt; This is an inode created with no representation on the filing system </p>
+<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; overlapped = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div></div><!-- fragment -->
+</div>
+</div>
<a id="a3141a85996e46a3cc6b238d321198e47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3141a85996e46a3cc6b238d321198e47">&#9670;&nbsp;</a></span>random_file()</h2>
@@ -2095,7 +2081,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(offset, bytes, exclusive, deadline(std::chrono::seconds(0))); }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
+<div class="fragment"><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(offset, bytes, exclusive, deadline(std::chrono::seconds(0))); }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -2274,7 +2260,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; {</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; const_buffer_type *_reqs = <span class="keyword">reinterpret_cast&lt;</span>const_buffer_type *<span class="keyword">&gt;</span>(alloca(<span class="keyword">sizeof</span>(const_buffer_type) * lst.size()));</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; io_request&lt;const_buffers_type&gt; reqs(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>(_reqs, lst.size()), offset);</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keyword">auto</span> ret = <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a>(reqs, d);</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keywordflow">if</span>(ret)</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; {</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">return</span> ret.bytes_transferred();</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; }</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keywordflow">return</span> std::move(ret).error();</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a693a8c64bb7de1a6835d6a151e37aa0e"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">llfio_v2_xxx::io_handle::const_buffers_type</a></div><div class="ttdeci">span&lt; const_buffer_type &gt; const_buffers_type</div><div class="ttdoc">The gather buffers type used by this handle. Guaranteed to be TrivialType apart from construction...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:165</div></div>
+<div class="fragment"><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; {</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; const_buffer_type *_reqs = <span class="keyword">reinterpret_cast&lt;</span>const_buffer_type *<span class="keyword">&gt;</span>(alloca(<span class="keyword">sizeof</span>(const_buffer_type) * lst.size()));</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; io_request&lt;const_buffers_type&gt; reqs(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>(_reqs, lst.size()), offset);</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keyword">auto</span> ret = <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a>(reqs, d);</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">if</span>(ret)</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; {</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <span class="keywordflow">return</span> ret.bytes_transferred();</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; }</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">return</span> std::move(ret).error();</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a693a8c64bb7de1a6835d6a151e37aa0e"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">llfio_v2_xxx::io_handle::const_buffers_type</a></div><div class="ttdeci">span&lt; const_buffer_type &gt; const_buffers_type</div><div class="ttdoc">The gather buffers type used by this handle. Guaranteed to be TrivialType apart from construction...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:188</div></div>
<div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a83884eca7b4cd09125a5cf8a155e6052"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">llfio_v2_xxx::io_handle::write</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle. </div></div>
</div><!-- fragment -->
</div>
diff --git a/classllfio__v2__xxx_1_1async__file__handle.js b/classllfio__v2__xxx_1_1async__file__handle.js
index d4bb082a..f66501d5 100644
--- a/classllfio__v2__xxx_1_1async__file__handle.js
+++ b/classllfio__v2__xxx_1_1async__file__handle.js
@@ -19,22 +19,11 @@ var classllfio__v2__xxx_1_1async__file__handle =
[ "path_view_type", "classllfio__v2__xxx_1_1async__file__handle.html#ac1a82f9f61d49d8f6836c823950483ac", null ],
[ "size_type", "classllfio__v2__xxx_1_1async__file__handle.html#a0a8be71c14785d8ae8cd31b5be17ae10", null ],
[ "unique_id_type", "classllfio__v2__xxx_1_1async__file__handle.html#a1a65884346740af7fb4648c79d44a750", null ],
- [ "bitfield__flag", "classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2a", [
- [ "none", "classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298", null ],
- [ "none", "classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
- [ "none", "classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
- [ "unlink_on_first_close", "classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962", null ],
- [ "disable_safety_barriers", "classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d", null ],
- [ "disable_safety_unlinks", "classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b", null ],
- [ "disable_prefetching", "classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3", null ],
- [ "maximum_prefetching", "classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0", null ],
- [ "win_disable_unlink_emulation", "classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c", null ],
- [ "win_disable_sparse_file_creation", "classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0", null ],
- [ "disable_parallelism", "classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322", null ],
- [ "win_create_case_sensitive_directory", "classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681", null ],
- [ "overlapped", "classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a", null ],
- [ "byte_lock_insanity", "classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59", null ],
- [ "anonymous_inode", "classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d", null ]
+ [ "barrier_kind", "classllfio__v2__xxx_1_1async__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565", [
+ [ "nowait_data_only", "classllfio__v2__xxx_1_1async__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb", null ],
+ [ "wait_data_only", "classllfio__v2__xxx_1_1async__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce", null ],
+ [ "nowait_all", "classllfio__v2__xxx_1_1async__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1", null ],
+ [ "wait_all", "classllfio__v2__xxx_1_1async__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345", null ]
] ],
[ "async_file_handle", "classllfio__v2__xxx_1_1async__file__handle.html#a8b72655442a5c5a17e609a6df96106e0", null ],
[ "~async_file_handle", "classllfio__v2__xxx_1_1async__file__handle.html#a3674e63b664f6e3926991dc00c1312d2", null ],
@@ -47,11 +36,11 @@ var classllfio__v2__xxx_1_1async__file__handle =
[ "are_reads_from_cache", "classllfio__v2__xxx_1_1async__file__handle.html#a7126a726b2a06e4c1eca1a94c41163ff", null ],
[ "are_safety_barriers_issued", "classllfio__v2__xxx_1_1async__file__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1", null ],
[ "are_writes_durable", "classllfio__v2__xxx_1_1async__file__handle.html#a8036792f332459064172d7b0cfaee3cf", null ],
- [ "async_barrier", "classllfio__v2__xxx_1_1async__file__handle.html#a7d29c4f0a0eca88431f5e1b290e66fe7", null ],
+ [ "async_barrier", "classllfio__v2__xxx_1_1async__file__handle.html#aab8b4425981da0c40e684bccbb9a8a30", null ],
[ "async_read", "classllfio__v2__xxx_1_1async__file__handle.html#aeca5271cbbf476097c84a56c4a99d58d", null ],
[ "async_write", "classllfio__v2__xxx_1_1async__file__handle.html#afbc86680a51fe4643b74a8d519a4f552", null ],
- [ "barrier", "classllfio__v2__xxx_1_1async__file__handle.html#a9e7642226a90c6eddb1d2e0b28a68cf2", null ],
- [ "barrier", "classllfio__v2__xxx_1_1async__file__handle.html#aa3ec366f663f85fb4d679542b8c1b41a", null ],
+ [ "barrier", "classllfio__v2__xxx_1_1async__file__handle.html#a346a7685544490691f50ebb27786c651", null ],
+ [ "barrier", "classllfio__v2__xxx_1_1async__file__handle.html#a823391cea8818da742c0d4c573f7300f", null ],
[ "clone", "classllfio__v2__xxx_1_1async__file__handle.html#a2ce03c6d1b3e3ab38c789cd0fc4fe5ba", null ],
[ "clone", "classllfio__v2__xxx_1_1async__file__handle.html#a3407a44d52c4ad075cdf5283c96bf75e", null ],
[ "clone", "classllfio__v2__xxx_1_1async__file__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3", null ],
@@ -85,6 +74,8 @@ var classllfio__v2__xxx_1_1async__file__handle =
[ "operator=", "classllfio__v2__xxx_1_1async__file__handle.html#a48e0773d5302f785c343073e42de5928", null ],
[ "operator=", "classllfio__v2__xxx_1_1async__file__handle.html#af84775bc1d3258fa0e8499e2945a5d25", null ],
[ "parent_path_handle", "classllfio__v2__xxx_1_1async__file__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5", null ],
+ [ "QUICKCPPLIB_BITFIELD_BEGIN", "classllfio__v2__xxx_1_1async__file__handle.html#ac5222904f116c9beb0515a4a5aa850bf", null ],
+ [ "QUICKCPPLIB_BITFIELD_END", "classllfio__v2__xxx_1_1async__file__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4", null ],
[ "read", "classllfio__v2__xxx_1_1async__file__handle.html#a6e46c6ea379152eb559ab15990f7c467", null ],
[ "read", "classllfio__v2__xxx_1_1async__file__handle.html#a5f7485307a0704aa1680e5785be2035d", null ],
[ "read", "classllfio__v2__xxx_1_1async__file__handle.html#a6319914bb21cb96a000d6d547515b156", null ],
diff --git a/classllfio__v2__xxx_1_1directory__handle-members.html b/classllfio__v2__xxx_1_1directory__handle-members.html
index ff8b660f..57c51fb1 100644
--- a/classllfio__v2__xxx_1_1directory__handle-members.html
+++ b/classllfio__v2__xxx_1_1directory__handle-members.html
@@ -93,71 +93,61 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1directory__hand
<tr bgcolor="#f0f0f0"><td class="entry"><b>_flags</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_inode</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">mutable</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">bitfield__flag</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a388fc107831ed68dba60c6f4082be952">buffer_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>caching</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a7c4b83dfd27ddf3c0551fd795d4a5817">clone</a>(mode mode_=mode::unchanged, caching caching_=caching::unchanged, deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ae260bf811da1b17c142f51fbb53476bf">llfio_v2_xxx::path_handle::clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#aa0b7dc541e6188fed2950444089fed6c">clone_to_path_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a8eb4f8792e37c370d5f53c643699f8b7">close</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#afdc2558d4793953d37e680ced76f143a">const_buffer_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>creation</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>dev_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a1acc9714116df8fbb0651d912a870495">directory</a>(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#ad505f506be33c58cf7176878e552d59e">directory_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a8ce11e289daebf8125b8585a61d85a9a">directory_handle</a>(native_handle_type h, dev_t devid, ino_t inode, caching caching=caching::all, flag flags=flag::none)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a20f3e10dfd3f2cfa80cc14b6987b9552">directory_handle</a>(directory_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#aa670b617d883625a9532ab12c65469d8">directory_handle</a>(const directory_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a993f752761d4488d717c95887ab3e824">directory_handle</a>(handle &amp;&amp;o, dev_t devid, ino_t inode) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>extent_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207">filter</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>flag</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1d2070f6019c86e19de3707bf59ffa97">fs_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a282f0296cda08ad5ce2f9add2c16a77d">llfio_v2_xxx::fs_handle::fs_handle</a>(dev_t devid, ino_t inode)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a69cc7b561e6ef3a54ccfb2c4743e5c6f">llfio_v2_xxx::fs_handle::fs_handle</a>(fs_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#afbebcaabf0282923ff76f6a83d3b4073">llfio_v2_xxx::fs_handle::fs_handle</a>(const fs_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4">handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4">handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11">handle</a>(const handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ino_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>caching</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a7c4b83dfd27ddf3c0551fd795d4a5817">clone</a>(mode mode_=mode::unchanged, caching caching_=caching::unchanged, deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ae260bf811da1b17c142f51fbb53476bf">llfio_v2_xxx::path_handle::clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#aa0b7dc541e6188fed2950444089fed6c">clone_to_path_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a8eb4f8792e37c370d5f53c643699f8b7">close</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#afdc2558d4793953d37e680ced76f143a">const_buffer_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>creation</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>dev_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a1acc9714116df8fbb0651d912a870495">directory</a>(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#ad505f506be33c58cf7176878e552d59e">directory_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a8ce11e289daebf8125b8585a61d85a9a">directory_handle</a>(native_handle_type h, dev_t devid, ino_t inode, caching caching=caching::all, flag flags=flag::none)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a20f3e10dfd3f2cfa80cc14b6987b9552">directory_handle</a>(directory_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#aa670b617d883625a9532ab12c65469d8">directory_handle</a>(const directory_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a993f752761d4488d717c95887ab3e824">directory_handle</a>(handle &amp;&amp;o, dev_t devid, ino_t inode) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>extent_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207">filter</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>flag</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1d2070f6019c86e19de3707bf59ffa97">fs_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a282f0296cda08ad5ce2f9add2c16a77d">llfio_v2_xxx::fs_handle::fs_handle</a>(dev_t devid, ino_t inode)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a69cc7b561e6ef3a54ccfb2c4743e5c6f">llfio_v2_xxx::fs_handle::fs_handle</a>(fs_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#afbebcaabf0282923ff76f6a83d3b4073">llfio_v2_xxx::fs_handle::fs_handle</a>(const fs_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4">handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4">handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11">handle</a>(const handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>ino_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>mode</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a42cba9c448ac59e4f7057e01eb0ddf49">operator=</a>(directory_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a9acfca399be5d868fe659fce5166d630">operator=</a>(const directory_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a6dbe3970805ad071cdfa258192e9107a">llfio_v2_xxx::path_handle::operator=</a>(path_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a0c9df3cc8d9b696f5397dccef87c55b8">llfio_v2_xxx::path_handle::operator=</a>(const path_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle::operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba">llfio_v2_xxx::fs_handle::operator=</a>(fs_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b">llfio_v2_xxx::fs_handle::operator=</a>(const fs_handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a42cba9c448ac59e4f7057e01eb0ddf49">operator=</a>(directory_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a9acfca399be5d868fe659fce5166d630">operator=</a>(const directory_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a6dbe3970805ad071cdfa258192e9107a">llfio_v2_xxx::path_handle::operator=</a>(path_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a0c9df3cc8d9b696f5397dccef87c55b8">llfio_v2_xxx::path_handle::operator=</a>(const path_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle::operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba">llfio_v2_xxx::fs_handle::operator=</a>(fs_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b">llfio_v2_xxx::fs_handle::operator=</a>(const fs_handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a>(deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a579c3752604c65325d16a6f8c818c6ab">path</a>(const path_handle &amp;base, path_view_type path) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a464c3dfe19b544dfcb0527d83407026b">path</a>(path_view_type _path) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
@@ -168,6 +158,8 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1directory__hand
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ae81c55923bdf4bfc78c75fa60c2badcc">path_handle</a>(const path_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>path_view_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#ae4a5f33565a72009d2a9471f925b4aad">random_directory</a>(const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a45c13e16ecc131cbe5107e6affe94f33">read</a>(io_request&lt; buffers_type &gt; req) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
@@ -184,10 +176,6 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1directory__hand
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1">unique_id</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982">unlink</a>(deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~directory_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1directory__handle.html">llfio_v2_xxx::directory_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~fs_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
diff --git a/classllfio__v2__xxx_1_1directory__handle.html b/classllfio__v2__xxx_1_1directory__handle.html
index 4b1753d1..eed42d58 100644
--- a/classllfio__v2__xxx_1_1directory__handle.html
+++ b/classllfio__v2__xxx_1_1directory__handle.html
@@ -162,29 +162,6 @@ 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_1directory__handle.html#afdc2558d4793953d37e680ced76f143a">const_buffer_type</a> = <a class="el" href="structllfio__v2__xxx_1_1directory__entry.html">directory_entry</a></td></tr>
<tr class="memdesc:afdc2558d4793953d37e680ced76f143a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The const buffer type used by this handle, which is a <code>directory_entry</code> <br /></td></tr>
<tr class="separator:afdc2558d4793953d37e680ced76f143a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5929f46f42112bd805ab5001bfbf9d2a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">bitfield__flag</a> : unsigned { <br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> = 0,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">none</a> = 2,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">none</a> = 1,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> = 1U &lt;&lt; 0U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> = 1U &lt;&lt; 2U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> = 1U &lt;&lt; 3U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> = 1U &lt;&lt; 4U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> = 1U &lt;&lt; 5U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> = 1U &lt;&lt; 24U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> = 1U &lt;&lt; 25U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> = 1U &lt;&lt; 26U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> = 1U &lt;&lt; 27U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> = 1U &lt;&lt; 28U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> = 1U &lt;&lt; 29U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> = 1U &lt;&lt; 30U
-<br />
- }<tr class="memdesc:a5929f46f42112bd805ab5001bfbf9d2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">More...</a><br /></td></tr>
-</td></tr>
-<tr class="separator:a5929f46f42112bd805ab5001bfbf9d2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a65884346740af7fb4648c79d44a750"><td class="memItemLeft" align="right" valign="top"><a id="a1a65884346740af7fb4648c79d44a750"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> = QUICKCPPLIB_NAMESPACE::integers128::uint128</td></tr>
<tr class="memdesc:a1a65884346740af7fb4648c79d44a750"><td class="mdescLeft">&#160;</td><td class="mdescRight">The unique identifier type used by this handle. <br /></td></tr>
@@ -244,6 +221,12 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<tr class="separator:a4716696b8700953889006251e0678aa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae260bf811da1b17c142f51fbb53476bf"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ae260bf811da1b17c142f51fbb53476bf">clone</a> () const noexcept</td></tr>
<tr class="separator:ae260bf811da1b17c142f51fbb53476bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5222904f116c9beb0515a4a5aa850bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a> (flag)</td></tr>
+<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
+<tr class="separator:ac5222904f116c9beb0515a4a5aa850bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memItemLeft" align="right" valign="top"><a id="aa7e9bedf8c7a4c4a79a644a6e1857ee4"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>QUICKCPPLIB_BITFIELD_END</b> (flag)</td></tr>
+<tr class="separator:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00a85eec5a41f7edb2c574d40cf04535"><td class="memItemLeft" align="right" valign="top">virtual result&lt; path_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a> () const noexcept</td></tr>
<tr class="separator:a00a85eec5a41f7edb2c574d40cf04535"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d273e38c061eb11f5012f624e9a202e"><td class="memItemLeft" align="right" valign="top"><a id="a1d273e38c061eb11f5012f624e9a202e"></a>
@@ -370,7 +353,7 @@ result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:affb091ded80ffde7c0c3854e2abc52fd"><td class="memItemLeft" align="right" valign="top"><a id="affb091ded80ffde7c0c3854e2abc52fd"></a>
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
<tr class="separator:affb091ded80ffde7c0c3854e2abc52fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
@@ -388,79 +371,6 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A handle to a directory which can be enumerated. </p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
-<a id="a5929f46f42112bd805ab5001bfbf9d2a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5929f46f42112bd805ab5001bfbf9d2a">&#9670;&nbsp;</a></span>bitfield__flag</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_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">llfio_v2_xxx::handle::bitfield__flag</a> : unsigned</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>Bitwise flags which can be specified. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298"></a>none&#160;</td><td class="fielddoc"><p>No flags. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No ability to read or write anything, but can synchronise (SYNCHRONIZE or 0) </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No caching whatsoever, all reads and writes come from storage (i.e. <code>O_DIRECT|O_SYNC</code>). Align all i/o to 4Kb boundaries for this to work. <code>disable_safety_barriers</code> can be used here. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962"></a>unlink_on_first_close&#160;</td><td class="fielddoc"><p>Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d"></a>disable_safety_barriers&#160;</td><td class="fielddoc"><p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
-<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
-<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b"></a>disable_safety_unlinks&#160;</td><td class="fielddoc"><p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free. </dd></dl>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3"></a>disable_prefetching&#160;</td><td class="fielddoc"><p>Ask the OS to disable prefetching of data. This can improve random i/o performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0"></a>maximum_prefetching&#160;</td><td class="fielddoc"><p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c"></a>win_disable_unlink_emulation&#160;</td><td class="fielddoc"><p>See the documentation for <code>unlink_on_first_close</code> </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0"></a>win_disable_sparse_file_creation&#160;</td><td class="fielddoc"><p>Microsoft Windows NTFS, having been created in the late 1980s, did not originally implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
-<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
-<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322"></a>disable_parallelism&#160;</td><td class="fielddoc"><p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681"></a>win_create_case_sensitive_directory&#160;</td><td class="fielddoc"><p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a"></a>overlapped&#160;</td><td class="fielddoc"><p>On Windows, create any new handles with OVERLAPPED semantics. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59"></a>byte_lock_insanity&#160;</td><td class="fielddoc"><p>Using insane POSIX byte range locks. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d"></a>anonymous_inode&#160;</td><td class="fielddoc"><p>This is an inode created with no representation on the filing system. </p>
-</td></tr>
-</table>
-<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div><div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">llfio_v2_xxx::handle::win_create_case_sensitive_directory</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:176</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">llfio_v2_xxx::handle::anonymous_inode</a></div><div class="ttdoc">This is an inode created with no representation on the filing system. </div><div class="ttdef"><b>Definition:</b> handle.hpp:182</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">llfio_v2_xxx::handle::disable_safety_unlinks</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:137</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">llfio_v2_xxx::handle::disable_parallelism</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:170</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">llfio_v2_xxx::handle::none</a></div><div class="ttdoc">No flags. </div><div class="ttdef"><b>Definition:</b> handle.hpp:99</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">llfio_v2_xxx::handle::maximum_prefetching</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:145</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">llfio_v2_xxx::handle::overlapped</a></div><div class="ttdoc">On Windows, create any new handles with OVERLAPPED semantics. </div><div class="ttdef"><b>Definition:</b> handle.hpp:180</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">llfio_v2_xxx::handle::disable_prefetching</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:141</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">llfio_v2_xxx::handle::byte_lock_insanity</a></div><div class="ttdoc">Using insane POSIX byte range locks. </div><div class="ttdef"><b>Definition:</b> handle.hpp:181</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">llfio_v2_xxx::handle::unlink_on_first_close</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:109</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">llfio_v2_xxx::handle::win_disable_unlink_emulation</a></div><div class="ttdoc">See the documentation for unlink_on_first_close </div><div class="ttdef"><b>Definition:</b> handle.hpp:147</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">llfio_v2_xxx::handle::disable_safety_barriers</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:128</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">llfio_v2_xxx::handle::win_disable_sparse_file_creation</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:163</div></div>
-</div><!-- fragment -->
-</div>
-</div>
<a id="a54d63e0972dee77ef1f0ff14bd4f9207"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a54d63e0972dee77ef1f0ff14bd4f9207">&#9670;&nbsp;</a></span>filter</h2>
@@ -488,8 +398,7 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<tr><td class="fieldname"><a id="a54d63e0972dee77ef1f0ff14bd4f9207a14847befc159c1492671b53718fc46f8"></a>fastdeleted&#160;</td><td class="fielddoc"><p>For Windows without POSIX delete semantics, filter out LLFIO deleted files based on their filename (fast and fairly reliable) </p>
</td></tr>
</table>
-<div class="fragment"><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; {</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a>, <span class="comment">//!&lt; Do no filtering at all</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"></span> fastdeleted <span class="comment">//!&lt; For Windows without POSIX delete semantics, filter out LLFIO deleted files based on their filename (fast and fairly reliable)</span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"></span> };</div><div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">llfio_v2_xxx::handle::none</a></div><div class="ttdoc">No flags. </div><div class="ttdef"><b>Definition:</b> handle.hpp:99</div></div>
-</div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; {</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; none, <span class="comment">//!&lt; Do no filtering at all</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"></span> fastdeleted <span class="comment">//!&lt; For Windows without POSIX delete semantics, filter out LLFIO deleted files based on their filename (fast and fairly reliable)</span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"></span> };</div></div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
@@ -618,7 +527,7 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</table>
</div><div class="memdoc">
<p>Returns the current path of the open handle as said by the operating system. Note that you are NOT guaranteed that any path refreshed bears any resemblance to the original, some operating systems will return some different path which still reaches the same inode via some other route e.g. hardlinks, dereferenced symbolic links, etc. Windows and Linux correctly track changes to the specific path the handle was opened with, not getting confused by other hard links. MacOS nearly gets it right, but under some circumstances e.g. renaming may switch to a different hard link's path which is almost certainly a bug.</p>
-<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::stablized_path&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
+<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
<p>On Linux if <code>/proc</code> is not mounted, this call fails with an error. All APIs in LLFIO which require the use of <code>current_path()</code> can be told to not use it e.g. <code>flag::disable_safety_unlinks</code>. It is up to you to detect if <code>current_path()</code> is not working, and to change how you call LLFIO appropriately.</p>
<dl class="section warning"><dt>Warning</dt><dd>This call is expensive, it always asks the kernel for the current path, and no checking is done to ensure what the kernel returns is accurate or even sensible. Be aware that despite these precautions, paths are unstable and <b>can change randomly at any moment</b>. Most code written to use absolute file systems paths is <b>racy</b>, so don't do it, use <code>path_handle</code> to fix a base location on the file system and work from that anchor instead!</dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>At least one malloc for the <code>path_type</code>, likely several more. </dd></dl>
@@ -787,6 +696,51 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</div><!-- fragment -->
</div>
</div>
+<a id="ac5222904f116c9beb0515a4a5aa850bf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac5222904f116c9beb0515a4a5aa850bf">&#9670;&nbsp;</a></span>QUICKCPPLIB_BITFIELD_BEGIN()</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::handle::QUICKCPPLIB_BITFIELD_BEGIN </td>
+ <td>(</td>
+ <td class="paramtype">flag&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Bitwise flags which can be specified. </p>
+<p>&lt; No flags </p><pre class="fragment">Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed
+</pre><p> to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
+<p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
+<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
+<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers</p>
+<p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free.</dd></dl>
+<p>Ask the OS to disable prefetching of data. This can improve random i/o performance.</p>
+<p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance.</p>
+<p>&lt; See the documentation for <code>unlink_on_first_close</code> </p><pre class="fragment">Microsoft Windows NTFS, having been created in the late 1980s, did not originally
+</pre><p> implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
+<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
+<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening.</p>
+<p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag.</p>
+<p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off.</p>
+<p>&lt; On Windows, create any new handles with OVERLAPPED semantics</p>
+<p>&lt; Using insane POSIX byte range locks</p>
+<p>&lt; This is an inode created with no representation on the filing system </p>
+<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; overlapped = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div></div><!-- fragment -->
+</div>
+</div>
<a id="ae4a5f33565a72009d2a9471f925b4aad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae4a5f33565a72009d2a9471f925b4aad">&#9670;&nbsp;</a></span>random_directory()</h2>
diff --git a/classllfio__v2__xxx_1_1directory__handle.js b/classllfio__v2__xxx_1_1directory__handle.js
index 77050702..6f71efd1 100644
--- a/classllfio__v2__xxx_1_1directory__handle.js
+++ b/classllfio__v2__xxx_1_1directory__handle.js
@@ -15,23 +15,6 @@ var classllfio__v2__xxx_1_1directory__handle =
[ "path_view_type", "classllfio__v2__xxx_1_1directory__handle.html#af39b5b7a73266dc1dd435f4fb1dfb463", null ],
[ "size_type", "classllfio__v2__xxx_1_1directory__handle.html#aafd3eb03845b55c19154cab76956efad", null ],
[ "unique_id_type", "classllfio__v2__xxx_1_1directory__handle.html#a1a65884346740af7fb4648c79d44a750", null ],
- [ "bitfield__flag", "classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2a", [
- [ "none", "classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298", null ],
- [ "none", "classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
- [ "none", "classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
- [ "unlink_on_first_close", "classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962", null ],
- [ "disable_safety_barriers", "classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d", null ],
- [ "disable_safety_unlinks", "classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b", null ],
- [ "disable_prefetching", "classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3", null ],
- [ "maximum_prefetching", "classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0", null ],
- [ "win_disable_unlink_emulation", "classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c", null ],
- [ "win_disable_sparse_file_creation", "classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0", null ],
- [ "disable_parallelism", "classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322", null ],
- [ "win_create_case_sensitive_directory", "classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681", null ],
- [ "overlapped", "classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a", null ],
- [ "byte_lock_insanity", "classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59", null ],
- [ "anonymous_inode", "classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d", null ]
- ] ],
[ "filter", "classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207", [
[ "none", "classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
[ "fastdeleted", "classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a14847befc159c1492671b53718fc46f8", null ]
@@ -69,6 +52,8 @@ var classllfio__v2__xxx_1_1directory__handle =
[ "operator=", "classllfio__v2__xxx_1_1directory__handle.html#a42cba9c448ac59e4f7057e01eb0ddf49", null ],
[ "operator=", "classllfio__v2__xxx_1_1directory__handle.html#a9acfca399be5d868fe659fce5166d630", null ],
[ "parent_path_handle", "classllfio__v2__xxx_1_1directory__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5", null ],
+ [ "QUICKCPPLIB_BITFIELD_BEGIN", "classllfio__v2__xxx_1_1directory__handle.html#ac5222904f116c9beb0515a4a5aa850bf", null ],
+ [ "QUICKCPPLIB_BITFIELD_END", "classllfio__v2__xxx_1_1directory__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4", null ],
[ "read", "classllfio__v2__xxx_1_1directory__handle.html#a45c13e16ecc131cbe5107e6affe94f33", null ],
[ "release", "classllfio__v2__xxx_1_1directory__handle.html#a1d273e38c061eb11f5012f624e9a202e", null ],
[ "relink", "classllfio__v2__xxx_1_1directory__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2", null ],
diff --git a/classllfio__v2__xxx_1_1fast__random__file__handle-members.html b/classllfio__v2__xxx_1_1fast__random__file__handle-members.html
index 9cf62a41..63b3f6db 100644
--- a/classllfio__v2__xxx_1_1fast__random__file__handle-members.html
+++ b/classllfio__v2__xxx_1_1fast__random__file__handle-members.html
@@ -97,16 +97,14 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1fast__random__f
<tr bgcolor="#f0f0f0"><td class="entry"><b>_prng</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_service</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>barrier</b>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), bool=false, bool=false, deadline=deadline()) noexcept override (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3ec366f663f85fb4d679542b8c1b41a">llfio_v2_xxx::io_handle::barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), bool wait_for_device=false, bool and_metadata=false, deadline d=deadline()) noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">bitfield__flag</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>buffers_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>barrier</b>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind=barrier_kind::nowait_data_only, deadline=deadline()) noexcept override (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f">llfio_v2_xxx::io_handle::barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>buffers_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>caching</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8">clone</a>(mode mode_=mode::unchanged, caching caching_=caching::unchanged, deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">llfio_v2_xxx::io_handle::clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
@@ -116,10 +114,6 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1fast__random__f
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>creation</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>dev_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>extent_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a9bc75ea73ffb575d36e9800b8e1e5af0">extents</a>() const noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#ad7a9a1810c10a5b34c1134d942cfa1c1">fast_random_file</a>(extent_type bytes=(extent_type) -1, mode _mode=mode::read, span&lt; const byte &gt; seed={}) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
@@ -169,10 +163,8 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1fast__random__f
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a198e1c294966a28919d2f0698e3608b8">llfio_v2_xxx::file_handle::lock</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ade38a6d55a4eda3c6d5e196683b129a7">max_buffers</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a800e1a97e8dc3f9cc74dc2115d476398">maximum_extent</a>() const noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>mode</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mode</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a16ccaa28c68e06e7c3d5f7ff94d2cea5">operator=</a>(fast_random_file_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a5477b7a397fce509e1fd04092a559e8c">operator=</a>(const fast_random_file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3bba96c52082c14bf168e12f4e9e2fa6">llfio_v2_xxx::file_handle::operator=</a>(const file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
@@ -183,46 +175,43 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1fast__random__f
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba">llfio_v2_xxx::fs_handle::operator=</a>(fs_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b">llfio_v2_xxx::fs_handle::operator=</a>(const fs_handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a>(deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>path_view_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">random_file</a>(const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#ae84ac3c127d067d44d978e4621d4d2f1">read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467">llfio_v2_xxx::file_handle::read</a>(extent_type offset, std::initializer_list&lt; buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d">llfio_v2_xxx::io_handle::read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2">relink</a>(const path_handle &amp;base, path_view_type path, bool atomic_replace=true, deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090">st_dev</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc">st_ino</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#abc5627ee63a95d17499f079d890e6af9">swap</a>(fast_random_file_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808">llfio_v2_xxx::file_handle::swap</a>(file_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::io_handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a428114e3c8628c0621b1aa156051651c">temp_file</a>(path_view_type name=path_view_type(), mode _mode=mode::write, creation _creation=creation::if_needed, caching _caching=caching::temporary, flag flags=flag::unlink_on_first_close) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5">temp_inode</a>(const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), mode _mode=mode::write, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a3e147cacf24cb8d96b6c57f30692fda2">truncate</a>(extent_type newsize) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae1abb705dbe9890e103365bf7c61521e">try_lock</a>(extent_type offset, extent_type bytes, bool exclusive=true) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1">unique_id</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982">unlink</a>(deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a>(deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>path_view_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">random_file</a>(const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#ae84ac3c127d067d44d978e4621d4d2f1">read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467">llfio_v2_xxx::file_handle::read</a>(extent_type offset, std::initializer_list&lt; buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d">llfio_v2_xxx::io_handle::read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2">relink</a>(const path_handle &amp;base, path_view_type path, bool atomic_replace=true, deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090">st_dev</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc">st_ino</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#abc5627ee63a95d17499f079d890e6af9">swap</a>(fast_random_file_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808">llfio_v2_xxx::file_handle::swap</a>(file_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::io_handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a428114e3c8628c0621b1aa156051651c">temp_file</a>(path_view_type name=path_view_type(), mode _mode=mode::write, creation _creation=creation::if_needed, caching _caching=caching::temporary, flag flags=flag::unlink_on_first_close) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5">temp_inode</a>(const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), mode _mode=mode::write, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a3e147cacf24cb8d96b6c57f30692fda2">truncate</a>(extent_type newsize) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae1abb705dbe9890e103365bf7c61521e">try_lock</a>(extent_type offset, extent_type bytes, bool exclusive=true) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1">unique_id</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982">unlink</a>(deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a26e98e20ea5be1a930d00b0b6f709436">unlock</a>(extent_type, extent_type) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#abdbe878fecb166d1eda5ddc4718e101d">write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">llfio_v2_xxx::file_handle::write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">llfio_v2_xxx::file_handle::write</a>(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#ab88d8d93300d1525d52ad1eb4e00e504">zero</a>(extent_type, extent_type bytes, deadline=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>~fast_random_file_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~file_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>~fs_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>~io_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#abdbe878fecb166d1eda5ddc4718e101d">write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">llfio_v2_xxx::file_handle::write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">llfio_v2_xxx::file_handle::write</a>(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#ab88d8d93300d1525d52ad1eb4e00e504">zero</a>(extent_type, extent_type bytes, deadline=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~fast_random_file_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html">llfio_v2_xxx::fast_random_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~file_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~fs_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~io_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
diff --git a/classllfio__v2__xxx_1_1fast__random__file__handle.html b/classllfio__v2__xxx_1_1fast__random__file__handle.html
index ddcf3c7f..d563f904 100644
--- a/classllfio__v2__xxx_1_1fast__random__file__handle.html
+++ b/classllfio__v2__xxx_1_1fast__random__file__handle.html
@@ -167,29 +167,13 @@ template&lt;class T &gt; </td></tr>
template&lt;class T &gt; </td></tr>
<tr class="memitem:a386543b3dd65d4d416d755a153eef593"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_result</b> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_handle::io_result</a>&lt; T &gt;</td></tr>
<tr class="separator:a386543b3dd65d4d416d755a153eef593"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5929f46f42112bd805ab5001bfbf9d2a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">bitfield__flag</a> : unsigned { <br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> = 0,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">none</a> = 2,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">none</a> = 1,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> = 1U &lt;&lt; 0U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> = 1U &lt;&lt; 2U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> = 1U &lt;&lt; 3U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> = 1U &lt;&lt; 4U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> = 1U &lt;&lt; 5U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> = 1U &lt;&lt; 24U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> = 1U &lt;&lt; 25U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> = 1U &lt;&lt; 26U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> = 1U &lt;&lt; 27U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> = 1U &lt;&lt; 28U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> = 1U &lt;&lt; 29U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> = 1U &lt;&lt; 30U
-<br />
- }<tr class="memdesc:a5929f46f42112bd805ab5001bfbf9d2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">More...</a><br /></td></tr>
+<tr class="memitem:a7816bb7ae5156fa2997b68e6300ae565"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> { <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>,
+<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce">barrier_kind::wait_data_only</a>,
+<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1">barrier_kind::nowait_all</a>,
+<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345">barrier_kind::wait_all</a>
+ }<tr class="memdesc:a7816bb7ae5156fa2997b68e6300ae565"><td class="mdescLeft">&#160;</td><td class="mdescRight">The kinds of write reordering barrier which can be performed. <a href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">More...</a><br /></td></tr>
</td></tr>
-<tr class="separator:a5929f46f42112bd805ab5001bfbf9d2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="separator:a7816bb7ae5156fa2997b68e6300ae565"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a65884346740af7fb4648c79d44a750"><td class="memItemLeft" align="right" valign="top"><a id="a1a65884346740af7fb4648c79d44a750"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> = QUICKCPPLIB_NAMESPACE::integers128::uint128</td></tr>
<tr class="memdesc:a1a65884346740af7fb4648c79d44a750"><td class="mdescLeft">&#160;</td><td class="mdescRight">The unique identifier type used by this handle. <br /></td></tr>
@@ -251,9 +235,9 @@ virtual result&lt; std::vector&lt; std::pair&lt; extent_type, extent_type &gt; &
<tr class="memitem:abdbe878fecb166d1eda5ddc4718e101d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#abdbe878fecb166d1eda5ddc4718e101d">write</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
<tr class="memdesc:abdbe878fecb166d1eda5ddc4718e101d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fails to write to the random file. <a href="#abdbe878fecb166d1eda5ddc4718e101d">More...</a><br /></td></tr>
<tr class="separator:abdbe878fecb166d1eda5ddc4718e101d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a97b9f47875b8ebc87965a8362d62b633"><td class="memItemLeft" align="right" valign="top"><a id="a97b9f47875b8ebc87965a8362d62b633"></a>
-virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>barrier</b> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), bool=false, bool=false, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
-<tr class="separator:a97b9f47875b8ebc87965a8362d62b633"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a28f78f709ba3d7b26ba38cefa21fd7b8"><td class="memItemLeft" align="right" valign="top"><a id="a28f78f709ba3d7b26ba38cefa21fd7b8"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>barrier</b> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a>=<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
+<tr class="separator:a28f78f709ba3d7b26ba38cefa21fd7b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23d7f6342dead9266633176cd578714d"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a23d7f6342dead9266633176cd578714d">lock</a> (extent_type offset, extent_type bytes, bool exclusive=true, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
<tr class="memdesc:a23d7f6342dead9266633176cd578714d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform: <a href="#a23d7f6342dead9266633176cd578714d">More...</a><br /></td></tr>
<tr class="separator:a23d7f6342dead9266633176cd578714d"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -268,9 +252,9 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;o) noexcept</td></tr>
<tr class="memdesc:a4716696b8700953889006251e0678aa4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
<tr class="separator:a4716696b8700953889006251e0678aa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa3ec366f663f85fb4d679542b8c1b41a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3ec366f663f85fb4d679542b8c1b41a">barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), bool wait_for_device=false, bool and_metadata=false, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept=0</td></tr>
-<tr class="memdesc:aa3ec366f663f85fb4d679542b8c1b41a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier. <a href="#aa3ec366f663f85fb4d679542b8c1b41a">More...</a><br /></td></tr>
-<tr class="separator:aa3ec366f663f85fb4d679542b8c1b41a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a823391cea8818da742c0d4c573f7300f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f">barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept=0</td></tr>
+<tr class="memdesc:a823391cea8818da742c0d4c573f7300f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier. <a href="#a823391cea8818da742c0d4c573f7300f">More...</a><br /></td></tr>
+<tr class="separator:a823391cea8818da742c0d4c573f7300f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b97756d8d46e80da7d0fa04158a71a8"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8">clone</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> mode_=mode::unchanged, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> caching_=caching::unchanged, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr>
<tr class="separator:a6b97756d8d46e80da7d0fa04158a71a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeea4389189021b94dde6d8f2c3ccc5b3"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a> () const noexcept</td></tr>
@@ -300,6 +284,12 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<tr class="separator:a198e1c294966a28919d2f0698e3608b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1abb705dbe9890e103365bf7c61521e"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae1abb705dbe9890e103365bf7c61521e">try_lock</a> (extent_type offset, extent_type bytes, bool exclusive=true) noexcept</td></tr>
<tr class="separator:ae1abb705dbe9890e103365bf7c61521e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5222904f116c9beb0515a4a5aa850bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a> (flag)</td></tr>
+<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
+<tr class="separator:ac5222904f116c9beb0515a4a5aa850bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memItemLeft" align="right" valign="top"><a id="aa7e9bedf8c7a4c4a79a644a6e1857ee4"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>QUICKCPPLIB_BITFIELD_END</b> (flag)</td></tr>
+<tr class="separator:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00a85eec5a41f7edb2c574d40cf04535"><td class="memItemLeft" align="right" valign="top">virtual result&lt; path_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a> () const noexcept</td></tr>
<tr class="separator:a00a85eec5a41f7edb2c574d40cf04535"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d273e38c061eb11f5012f624e9a202e"><td class="memItemLeft" align="right" valign="top"><a id="a1d273e38c061eb11f5012f624e9a202e"></a>
@@ -438,7 +428,7 @@ extent_type&#160;</td><td class="memItemRight" valign="bottom"><b>_length</b> {0
<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>_service</b> {nullptr}</td></tr>
<tr class="separator:aa2c2b2847fd039b9c255633e6031817a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:affb091ded80ffde7c0c3854e2abc52fd"><td class="memItemLeft" align="right" valign="top"><a id="affb091ded80ffde7c0c3854e2abc52fd"></a>
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
<tr class="separator:affb091ded80ffde7c0c3854e2abc52fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
@@ -468,8 +458,8 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<p>The current implementation spots when it can do 16x simultaneous PRNG rounds, and thus can fill a cache line at a time. The Skylake CPU used to benchmark the code dispatches around four times the throughput with this, however there is likely still performance left on the table.</p>
<p>If someone were bothered to rewrite the JSF PRNG into SIMD, it is possible one could approach <code>memcpy()</code> in performance. One would probably need to use AVX-512 however, as the JSF PRNG makes heavy use of bit rotation, which is slow before AVX-512 as it must be emulated with copious bit shifting and masking. </p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
-<a id="a5929f46f42112bd805ab5001bfbf9d2a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5929f46f42112bd805ab5001bfbf9d2a">&#9670;&nbsp;</a></span>bitfield__flag</h2>
+<a id="a7816bb7ae5156fa2997b68e6300ae565"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7816bb7ae5156fa2997b68e6300ae565">&#9670;&nbsp;</a></span>barrier_kind</h2>
<div class="memitem">
<div class="memproto">
@@ -478,72 +468,33 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">llfio_v2_xxx::handle::bitfield__flag</a> : unsigned</td>
+ <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">llfio_v2_xxx::io_handle::barrier_kind</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">strong</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Bitwise flags which can be specified. </p>
+<p>The kinds of write reordering barrier which can be performed. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298"></a>none&#160;</td><td class="fielddoc"><p>No flags. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No ability to read or write anything, but can synchronise (SYNCHRONIZE or 0) </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No caching whatsoever, all reads and writes come from storage (i.e. <code>O_DIRECT|O_SYNC</code>). Align all i/o to 4Kb boundaries for this to work. <code>disable_safety_barriers</code> can be used here. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962"></a>unlink_on_first_close&#160;</td><td class="fielddoc"><p>Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d"></a>disable_safety_barriers&#160;</td><td class="fielddoc"><p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
-<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
-<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b"></a>disable_safety_unlinks&#160;</td><td class="fielddoc"><p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free. </dd></dl>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3"></a>disable_prefetching&#160;</td><td class="fielddoc"><p>Ask the OS to disable prefetching of data. This can improve random i/o performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0"></a>maximum_prefetching&#160;</td><td class="fielddoc"><p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c"></a>win_disable_unlink_emulation&#160;</td><td class="fielddoc"><p>See the documentation for <code>unlink_on_first_close</code> </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0"></a>win_disable_sparse_file_creation&#160;</td><td class="fielddoc"><p>Microsoft Windows NTFS, having been created in the late 1980s, did not originally implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
-<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
-<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening. </p>
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb"></a>nowait_data_only&#160;</td><td class="fielddoc"><p>Barrier data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using <code>nvram_barrier()</code> for even better performance. </p>
</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322"></a>disable_parallelism&#160;</td><td class="fielddoc"><p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag. </p>
+<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce"></a>wait_data_only&#160;</td><td class="fielddoc"><p>Barrier data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using <code>nvram_barrier()</code> for even better performance. </p>
</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681"></a>win_create_case_sensitive_directory&#160;</td><td class="fielddoc"><p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off. </p>
+<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1"></a>nowait_all&#160;</td><td class="fielddoc"><p>Barrier data and the metadata to retrieve it, non-blocking. </p>
</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a"></a>overlapped&#160;</td><td class="fielddoc"><p>On Windows, create any new handles with OVERLAPPED semantics. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59"></a>byte_lock_insanity&#160;</td><td class="fielddoc"><p>Using insane POSIX byte range locks. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d"></a>anonymous_inode&#160;</td><td class="fielddoc"><p>This is an inode created with no representation on the filing system. </p>
+<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345"></a>wait_all&#160;</td><td class="fielddoc"><p>Barrier data and the metadata to retrieve it, block until it is done. </p>
</td></tr>
</table>
-<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div><div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">llfio_v2_xxx::handle::win_create_case_sensitive_directory</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:176</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">llfio_v2_xxx::handle::anonymous_inode</a></div><div class="ttdoc">This is an inode created with no representation on the filing system. </div><div class="ttdef"><b>Definition:</b> handle.hpp:182</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">llfio_v2_xxx::handle::disable_safety_unlinks</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:137</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">llfio_v2_xxx::handle::disable_parallelism</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:170</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">llfio_v2_xxx::handle::none</a></div><div class="ttdoc">No flags. </div><div class="ttdef"><b>Definition:</b> handle.hpp:99</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">llfio_v2_xxx::handle::maximum_prefetching</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:145</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">llfio_v2_xxx::handle::overlapped</a></div><div class="ttdoc">On Windows, create any new handles with OVERLAPPED semantics. </div><div class="ttdef"><b>Definition:</b> handle.hpp:180</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">llfio_v2_xxx::handle::disable_prefetching</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:141</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">llfio_v2_xxx::handle::byte_lock_insanity</a></div><div class="ttdoc">Using insane POSIX byte range locks. </div><div class="ttdef"><b>Definition:</b> handle.hpp:181</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">llfio_v2_xxx::handle::unlink_on_first_close</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:109</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">llfio_v2_xxx::handle::win_disable_unlink_emulation</a></div><div class="ttdoc">See the documentation for unlink_on_first_close </div><div class="ttdef"><b>Definition:</b> handle.hpp:147</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">llfio_v2_xxx::handle::disable_safety_barriers</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:128</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">llfio_v2_xxx::handle::win_disable_sparse_file_creation</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:163</div></div>
-</div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; {</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; nowait_data_only, <span class="comment">//!&lt; Barrier data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using `nvram_barrier()` for even better performance.</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment"></span> wait_data_only, <span class="comment">//!&lt; Barrier data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using `nvram_barrier()` for even better performance.</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"></span> nowait_all, <span class="comment">//!&lt; Barrier data and the metadata to retrieve it, non-blocking.</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"></span> wait_all <span class="comment">//!&lt; Barrier data and the metadata to retrieve it, block until it is done.</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"></span> };</div></div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
-<a id="aa3ec366f663f85fb4d679542b8c1b41a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa3ec366f663f85fb4d679542b8c1b41a">&#9670;&nbsp;</a></span>barrier()</h2>
+<a id="a823391cea8818da742c0d4c573f7300f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a823391cea8818da742c0d4c573f7300f">&#9670;&nbsp;</a></span>barrier()</h2>
<div class="memitem">
<div class="memproto">
@@ -560,14 +511,8 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">bool&#160;</td>
- <td class="paramname"><em>wait_for_device</em> = <code>false</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&#160;</td>
- <td class="paramname"><em>and_metadata</em> = <code>false</code>, </td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a>&#160;</td>
+ <td class="paramname"><em>kind</em> = <code><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -598,8 +543,7 @@ For portability, you can only assume that barriers write order for a single hand
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">reqs</td><td>A scatter-gather and offset request for what range to barrier. May be ignored on some platforms which always write barrier the entire file. Supplying a default initialised reqs write barriers the entire file. </td></tr>
- <tr><td class="paramname">wait_for_device</td><td>True if you want the call to wait until data reaches storage and that storage has acknowledged the data is physically written. Slow. </td></tr>
- <tr><td class="paramname">and_metadata</td><td>True if you want the call to sync the metadata for retrieving the writes before the barrier after a sudden power loss event. Slow. Setting this to false enables much faster performance, especially on non-volatile memory. </td></tr>
+ <tr><td class="paramname">kind</td><td>Which kind of write reordering barrier to perform. </td></tr>
<tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
</table>
</dd>
@@ -705,7 +649,7 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</div><div class="memdoc">
<p>Returns the current path of the open handle as said by the operating system. Note that you are NOT guaranteed that any path refreshed bears any resemblance to the original, some operating systems will return some different path which still reaches the same inode via some other route e.g. hardlinks, dereferenced symbolic links, etc. Windows and Linux correctly track changes to the specific path the handle was opened with, not getting confused by other hard links. MacOS nearly gets it right, but under some circumstances e.g. renaming may switch to a different hard link's path which is almost certainly a bug.</p>
-<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::stablized_path&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
+<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
<p>On Linux if <code>/proc</code> is not mounted, this call fails with an error. All APIs in LLFIO which require the use of <code>current_path()</code> can be told to not use it e.g. <code>flag::disable_safety_unlinks</code>. It is up to you to detect if <code>current_path()</code> is not working, and to change how you call LLFIO appropriately.</p>
<dl class="section warning"><dt>Warning</dt><dd>This call is expensive, it always asks the kernel for the current path, and no checking is done to ensure what the kernel returns is accurate or even sensible. Be aware that despite these precautions, paths are unstable and <b>can change randomly at any moment</b>. Most code written to use absolute file systems paths is <b>racy</b>, so don't do it, use <code>path_handle</code> to fix a base location on the file system and work from that anchor instead!</dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>At least one malloc for the <code>path_type</code>, likely several more. </dd></dl>
@@ -764,7 +708,7 @@ For portability, you can only assume that barriers write order for a single hand
</dl>
<div class="fragment"><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; {}) noexcept</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; {</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordflow">if</span>(_mode == <a class="code" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d">mode::append</a>)</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; {</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">return</span> errc::invalid_argument;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; }</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; byte _seed[16];</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">if</span>(seed.empty())</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; {</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#ae61e2de30b06776a1c24643a1d1dc64e">utils::random_fill</a>((<span class="keywordtype">char</span> *) _seed, <span class="keyword">sizeof</span>(_seed));</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; seed = _seed;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; }</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; result&lt;fast_random_file_handle&gt; ret(<a class="code" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a4661a9c1551d33d054ccd80599806ba7">fast_random_file_handle</a>(bytes, seed));</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; native_handle_type &amp;nativeh = ret.value()._v;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; LLFIO_LOG_FUNCTION_CALL(&amp;ret);</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; nativeh.behaviour |= <a class="code" href="namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d">native_handle_type::disposition::file</a>;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; nativeh.behaviour |= native_handle_type::disposition::seekable | native_handle_type::disposition::readable;</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">if</span>(_mode == <a class="code" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>)</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; {</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; nativeh.behaviour |= native_handle_type::disposition::writable;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; }</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1fast__random__file__handle_html_a4661a9c1551d33d054ccd80599806ba7"><div class="ttname"><a href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a4661a9c1551d33d054ccd80599806ba7">llfio_v2_xxx::fast_random_file_handle::fast_random_file_handle</a></div><div class="ttdeci">fast_random_file_handle()=default</div><div class="ttdoc">Default constructor. </div></div>
<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">llfio_v2_xxx::handle::mode::write</a></div><div class="ttdoc">Ability to read and write (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|FILE_WRITE_D...</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_html_af31a062639499a79ef5cc8aed16ba65d"><div class="ttname"><a href="namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d">llfio_v2_xxx::file</a></div><div class="ttdeci">result&lt; file_handle &gt; file(const path_handle &amp;base, file_handle::path_view_type path, file_handle::mode _mode=file_handle::mode::read, file_handle::creation _creation=file_handle::creation::open_existing, file_handle::caching _caching=file_handle::caching::all, file_handle::flag flags=file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:334</div></div>
+<div class="ttc" id="namespacellfio__v2__xxx_html_af31a062639499a79ef5cc8aed16ba65d"><div class="ttname"><a href="namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d">llfio_v2_xxx::file</a></div><div class="ttdeci">result&lt; file_handle &gt; file(const path_handle &amp;base, file_handle::path_view_type path, file_handle::mode _mode=file_handle::mode::read, file_handle::creation _creation=file_handle::creation::open_existing, file_handle::caching _caching=file_handle::caching::all, file_handle::flag flags=file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:335</div></div>
<div class="ttc" id="namespacellfio__v2__xxx_1_1utils_html_ae61e2de30b06776a1c24643a1d1dc64e"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#ae61e2de30b06776a1c24643a1d1dc64e">llfio_v2_xxx::utils::random_fill</a></div><div class="ttdeci">void random_fill(char *buffer, size_t bytes) noexcept</div><div class="ttdoc">Fills the buffer supplied with cryptographically strong randomness. Uses the OS kernel API...</div></div>
<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d">llfio_v2_xxx::handle::mode::append</a></div><div class="ttdoc">All mainstream OSs and CIFS guarantee this is atomic with respect to all other appenders (FILE_APPEND...</div></div>
</div><!-- fragment -->
@@ -946,7 +890,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; {</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; {</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; {</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; }</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; bytes += i.size();</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; }</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(reqs.offset, bytes, <span class="keyword">false</span>, d);</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
+<div class="fragment"><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; {</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; {</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; {</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; }</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; bytes += i.size();</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; }</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(reqs.offset, bytes, <span class="keyword">false</span>, d);</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -984,7 +928,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; {</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; {</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; {</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; }</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; bytes += i.size();</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; }</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(reqs.offset, bytes, <span class="keyword">true</span>, d);</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
+<div class="fragment"><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; {</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; {</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; {</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; }</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; bytes += i.size();</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; }</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(reqs.offset, bytes, <span class="keyword">true</span>, d);</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -1014,7 +958,8 @@ For portability, you can only assume that barriers write order for a single hand
<p>The <em>maximum</em> number of buffers which a single read or write syscall can process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. </p>
<p>Note that the actual number of buffers accepted for a read or a write may be significantly lower than this system-defined limit, depending on available resources. The <code>read()</code> or <code>write()</code> call will return the buffers accepted.</p>
<p>Note also that some OSs will error out if you supply more than this limit to <code>read()</code> or <code>write()</code>, but other OSs do not. Some OSs guarantee that each i/o syscall has effects atomically visible or not to other i/o, other OSs do not.</p>
-<p>Microsoft Windows and OS X does not implement scatter-gather file i/o syscalls. Thus this function will always return <code>1</code> in that situation. </p>
+<p>OS X does not implement scatter-gather file i/o syscalls. Thus this function will always return <code>1</code> in that situation.</p>
+<p>Microsoft Windows <em>may</em> implement scatter-gather file i/o under very limited circumstances. Most of the time this function will return <code>1</code>. </p>
</div>
</div>
@@ -1048,6 +993,51 @@ For portability, you can only assume that barriers write order for a single hand
</div>
</div>
+<a id="ac5222904f116c9beb0515a4a5aa850bf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac5222904f116c9beb0515a4a5aa850bf">&#9670;&nbsp;</a></span>QUICKCPPLIB_BITFIELD_BEGIN()</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::handle::QUICKCPPLIB_BITFIELD_BEGIN </td>
+ <td>(</td>
+ <td class="paramtype">flag&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Bitwise flags which can be specified. </p>
+<p>&lt; No flags </p><pre class="fragment">Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed
+</pre><p> to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
+<p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
+<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
+<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers</p>
+<p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free.</dd></dl>
+<p>Ask the OS to disable prefetching of data. This can improve random i/o performance.</p>
+<p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance.</p>
+<p>&lt; See the documentation for <code>unlink_on_first_close</code> </p><pre class="fragment">Microsoft Windows NTFS, having been created in the late 1980s, did not originally
+</pre><p> implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
+<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
+<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening.</p>
+<p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag.</p>
+<p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off.</p>
+<p>&lt; On Windows, create any new handles with OVERLAPPED semantics</p>
+<p>&lt; Using insane POSIX byte range locks</p>
+<p>&lt; This is an inode created with no representation on the filing system </p>
+<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; overlapped = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div></div><!-- fragment -->
+</div>
+</div>
<a id="a3141a85996e46a3cc6b238d321198e47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3141a85996e46a3cc6b238d321198e47">&#9670;&nbsp;</a></span>random_file()</h2>
@@ -1437,7 +1427,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(offset, bytes, exclusive, deadline(std::chrono::seconds(0))); }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
+<div class="fragment"><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(offset, bytes, exclusive, deadline(std::chrono::seconds(0))); }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -1665,7 +1655,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; {</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; const_buffer_type *_reqs = <span class="keyword">reinterpret_cast&lt;</span>const_buffer_type *<span class="keyword">&gt;</span>(alloca(<span class="keyword">sizeof</span>(const_buffer_type) * lst.size()));</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; io_request&lt;const_buffers_type&gt; reqs(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>(_reqs, lst.size()), offset);</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keyword">auto</span> ret = <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a>(reqs, d);</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keywordflow">if</span>(ret)</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; {</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">return</span> ret.bytes_transferred();</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; }</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keywordflow">return</span> std::move(ret).error();</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a693a8c64bb7de1a6835d6a151e37aa0e"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">llfio_v2_xxx::io_handle::const_buffers_type</a></div><div class="ttdeci">span&lt; const_buffer_type &gt; const_buffers_type</div><div class="ttdoc">The gather buffers type used by this handle. Guaranteed to be TrivialType apart from construction...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:165</div></div>
+<div class="fragment"><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; {</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; const_buffer_type *_reqs = <span class="keyword">reinterpret_cast&lt;</span>const_buffer_type *<span class="keyword">&gt;</span>(alloca(<span class="keyword">sizeof</span>(const_buffer_type) * lst.size()));</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; io_request&lt;const_buffers_type&gt; reqs(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>(_reqs, lst.size()), offset);</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keyword">auto</span> ret = <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a>(reqs, d);</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">if</span>(ret)</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; {</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <span class="keywordflow">return</span> ret.bytes_transferred();</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; }</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">return</span> std::move(ret).error();</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a693a8c64bb7de1a6835d6a151e37aa0e"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">llfio_v2_xxx::io_handle::const_buffers_type</a></div><div class="ttdeci">span&lt; const_buffer_type &gt; const_buffers_type</div><div class="ttdoc">The gather buffers type used by this handle. Guaranteed to be TrivialType apart from construction...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:188</div></div>
<div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a83884eca7b4cd09125a5cf8a155e6052"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">llfio_v2_xxx::io_handle::write</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle. </div></div>
</div><!-- fragment -->
</div>
diff --git a/classllfio__v2__xxx_1_1fast__random__file__handle.js b/classllfio__v2__xxx_1_1fast__random__file__handle.js
index 799546f4..1b5e152c 100644
--- a/classllfio__v2__xxx_1_1fast__random__file__handle.js
+++ b/classllfio__v2__xxx_1_1fast__random__file__handle.js
@@ -18,22 +18,11 @@ var classllfio__v2__xxx_1_1fast__random__file__handle =
[ "path_view_type", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ac8b7de182379e57f0b40fda48d58822d", null ],
[ "size_type", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a5d4e51504bf58219c598047132b89c75", null ],
[ "unique_id_type", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a1a65884346740af7fb4648c79d44a750", null ],
- [ "bitfield__flag", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2a", [
- [ "none", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298", null ],
- [ "none", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
- [ "none", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
- [ "unlink_on_first_close", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962", null ],
- [ "disable_safety_barriers", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d", null ],
- [ "disable_safety_unlinks", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b", null ],
- [ "disable_prefetching", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3", null ],
- [ "maximum_prefetching", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0", null ],
- [ "win_disable_unlink_emulation", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c", null ],
- [ "win_disable_sparse_file_creation", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0", null ],
- [ "disable_parallelism", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322", null ],
- [ "win_create_case_sensitive_directory", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681", null ],
- [ "overlapped", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a", null ],
- [ "byte_lock_insanity", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59", null ],
- [ "anonymous_inode", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d", null ]
+ [ "barrier_kind", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565", [
+ [ "nowait_data_only", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb", null ],
+ [ "wait_data_only", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce", null ],
+ [ "nowait_all", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1", null ],
+ [ "wait_all", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345", null ]
] ],
[ "fast_random_file_handle", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a4661a9c1551d33d054ccd80599806ba7", null ],
[ "fast_random_file_handle", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a2b7cbbd9f7cb5563cb08e7ca26225a63", null ],
@@ -45,8 +34,8 @@ var classllfio__v2__xxx_1_1fast__random__file__handle =
[ "are_reads_from_cache", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a7126a726b2a06e4c1eca1a94c41163ff", null ],
[ "are_safety_barriers_issued", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1", null ],
[ "are_writes_durable", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a8036792f332459064172d7b0cfaee3cf", null ],
- [ "barrier", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a97b9f47875b8ebc87965a8362d62b633", null ],
- [ "barrier", "classllfio__v2__xxx_1_1fast__random__file__handle.html#aa3ec366f663f85fb4d679542b8c1b41a", null ],
+ [ "barrier", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a28f78f709ba3d7b26ba38cefa21fd7b8", null ],
+ [ "barrier", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a823391cea8818da742c0d4c573f7300f", null ],
[ "clone", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8", null ],
[ "clone", "classllfio__v2__xxx_1_1fast__random__file__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3", null ],
[ "close", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ad67d4e8da0a8fa8719f301d577418165", null ],
@@ -75,6 +64,8 @@ var classllfio__v2__xxx_1_1fast__random__file__handle =
[ "operator=", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a16ccaa28c68e06e7c3d5f7ff94d2cea5", null ],
[ "operator=", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a5477b7a397fce509e1fd04092a559e8c", null ],
[ "parent_path_handle", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5", null ],
+ [ "QUICKCPPLIB_BITFIELD_BEGIN", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ac5222904f116c9beb0515a4a5aa850bf", null ],
+ [ "QUICKCPPLIB_BITFIELD_END", "classllfio__v2__xxx_1_1fast__random__file__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4", null ],
[ "read", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a6e46c6ea379152eb559ab15990f7c467", null ],
[ "read", "classllfio__v2__xxx_1_1fast__random__file__handle.html#ae84ac3c127d067d44d978e4621d4d2f1", null ],
[ "read", "classllfio__v2__xxx_1_1fast__random__file__handle.html#a5f7485307a0704aa1680e5785be2035d", null ],
diff --git a/classllfio__v2__xxx_1_1file__handle-members.html b/classllfio__v2__xxx_1_1file__handle-members.html
index fd416d8f..cfc807a8 100644
--- a/classllfio__v2__xxx_1_1file__handle-members.html
+++ b/classllfio__v2__xxx_1_1file__handle-members.html
@@ -94,16 +94,14 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1file__handle.ht
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_inode</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">mutable</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_service</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>barrier</b>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), bool wait_for_device=false, bool and_metadata=false, deadline d=deadline()) noexcept override (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3ec366f663f85fb4d679542b8c1b41a">llfio_v2_xxx::io_handle::barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), bool wait_for_device=false, bool and_metadata=false, deadline d=deadline()) noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">bitfield__flag</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>buffers_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>barrier</b>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept override (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f">llfio_v2_xxx::io_handle::barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>buffers_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>caching</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8">clone</a>(mode mode_=mode::unchanged, caching caching_=caching::unchanged, deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">llfio_v2_xxx::io_handle::clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
@@ -113,10 +111,6 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1file__handle.ht
<tr bgcolor="#f0f0f0"><td class="entry"><b>creation</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>dev_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>extent_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1c2c1c27b1be6414415b3fc3fcda88b2">extents</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file</a>(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
@@ -161,10 +155,8 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1file__handle.ht
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a198e1c294966a28919d2f0698e3608b8">lock</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ade38a6d55a4eda3c6d5e196683b129a7">max_buffers</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a7991af58283025b80a7225866643f0b4">maximum_extent</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>mode</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mode</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3bba96c52082c14bf168e12f4e9e2fa6">operator=</a>(const file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#abcfaf6aee5ab7a92e7c5bb5aed0fff9a">operator=</a>(file_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6098bb852a95257b513067cd300fc83f">llfio_v2_xxx::io_handle::operator=</a>(io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
@@ -173,42 +165,39 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1file__handle.ht
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba">llfio_v2_xxx::fs_handle::operator=</a>(fs_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b">llfio_v2_xxx::fs_handle::operator=</a>(const fs_handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a>(deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>path_view_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">random_file</a>(const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467">read</a>(extent_type offset, std::initializer_list&lt; buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d">llfio_v2_xxx::io_handle::read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2">relink</a>(const path_handle &amp;base, path_view_type path, bool atomic_replace=true, deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090">st_dev</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc">st_ino</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808">swap</a>(file_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::io_handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a428114e3c8628c0621b1aa156051651c">temp_file</a>(path_view_type name=path_view_type(), mode _mode=mode::write, creation _creation=creation::if_needed, caching _caching=caching::temporary, flag flags=flag::unlink_on_first_close) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5">temp_inode</a>(const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), mode _mode=mode::write, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f">truncate</a>(extent_type newsize) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae1abb705dbe9890e103365bf7c61521e">try_lock</a>(extent_type offset, extent_type bytes, bool exclusive=true) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1">unique_id</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982">unlink</a>(deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a>(deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>path_view_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">random_file</a>(const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467">read</a>(extent_type offset, std::initializer_list&lt; buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d">llfio_v2_xxx::io_handle::read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2">relink</a>(const path_handle &amp;base, path_view_type path, bool atomic_replace=true, deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090">st_dev</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc">st_ino</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808">swap</a>(file_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::io_handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a428114e3c8628c0621b1aa156051651c">temp_file</a>(path_view_type name=path_view_type(), mode _mode=mode::write, creation _creation=creation::if_needed, caching _caching=caching::temporary, flag flags=flag::unlink_on_first_close) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5">temp_inode</a>(const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), mode _mode=mode::write, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f">truncate</a>(extent_type newsize) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae1abb705dbe9890e103365bf7c61521e">try_lock</a>(extent_type offset, extent_type bytes, bool exclusive=true) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1">unique_id</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982">unlink</a>(deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ad720c4c7f350fe06291534d1cbf2feb5">unlock</a>(extent_type offset, extent_type bytes) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">write</a>(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a50caa94c51aae1f23e7708d3c6a21364">zero</a>(extent_type offset, extent_type bytes, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~file_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>~fs_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>~io_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">write</a>(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a50caa94c51aae1f23e7708d3c6a21364">zero</a>(extent_type offset, extent_type bytes, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~file_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~fs_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~io_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
diff --git a/classllfio__v2__xxx_1_1file__handle.html b/classllfio__v2__xxx_1_1file__handle.html
index ed32b062..2b8a20b5 100644
--- a/classllfio__v2__xxx_1_1file__handle.html
+++ b/classllfio__v2__xxx_1_1file__handle.html
@@ -163,29 +163,13 @@ using&#160;</td><td class="memItemRight" valign="bottom"><b>ino_t</b> = fs_handl
<tr class="memitem:a987fcc0fc8a6874cb8275ad0efb1a576"><td class="memItemLeft" align="right" valign="top"><a id="a987fcc0fc8a6874cb8275ad0efb1a576"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>path_view_type</b> = <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#abcd8c8171f4e561620864295e8d5879b">fs_handle::path_view_type</a></td></tr>
<tr class="separator:a987fcc0fc8a6874cb8275ad0efb1a576"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5929f46f42112bd805ab5001bfbf9d2a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">bitfield__flag</a> : unsigned { <br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> = 0,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">none</a> = 2,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">none</a> = 1,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> = 1U &lt;&lt; 0U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> = 1U &lt;&lt; 2U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> = 1U &lt;&lt; 3U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> = 1U &lt;&lt; 4U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> = 1U &lt;&lt; 5U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> = 1U &lt;&lt; 24U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> = 1U &lt;&lt; 25U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> = 1U &lt;&lt; 26U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> = 1U &lt;&lt; 27U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> = 1U &lt;&lt; 28U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> = 1U &lt;&lt; 29U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> = 1U &lt;&lt; 30U
-<br />
- }<tr class="memdesc:a5929f46f42112bd805ab5001bfbf9d2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">More...</a><br /></td></tr>
+<tr class="memitem:a7816bb7ae5156fa2997b68e6300ae565"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> { <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>,
+<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce">barrier_kind::wait_data_only</a>,
+<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1">barrier_kind::nowait_all</a>,
+<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345">barrier_kind::wait_all</a>
+ }<tr class="memdesc:a7816bb7ae5156fa2997b68e6300ae565"><td class="mdescLeft">&#160;</td><td class="mdescRight">The kinds of write reordering barrier which can be performed. <a href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">More...</a><br /></td></tr>
</td></tr>
-<tr class="separator:a5929f46f42112bd805ab5001bfbf9d2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="separator:a7816bb7ae5156fa2997b68e6300ae565"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a65884346740af7fb4648c79d44a750"><td class="memItemLeft" align="right" valign="top"><a id="a1a65884346740af7fb4648c79d44a750"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> = QUICKCPPLIB_NAMESPACE::integers128::uint128</td></tr>
<tr class="memdesc:a1a65884346740af7fb4648c79d44a750"><td class="mdescLeft">&#160;</td><td class="mdescRight">The unique identifier type used by this handle. <br /></td></tr>
@@ -198,7 +182,7 @@ constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href=
<tr class="memdesc:a8f754fdbf69fbb9b989c5aab409f2cb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:a8f754fdbf69fbb9b989c5aab409f2cb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a664770d5a3dc9db34d177622cb494779"><td class="memItemLeft" align="right" valign="top"><a id="a664770d5a3dc9db34d177622cb494779"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a664770d5a3dc9db34d177622cb494779">file_handle</a> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> h, dev_t devid, ino_t inode, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>=<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none)</td></tr>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a664770d5a3dc9db34d177622cb494779">file_handle</a> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> h, dev_t devid, ino_t inode, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none)</td></tr>
<tr class="memdesc:a664770d5a3dc9db34d177622cb494779"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a handle from a supplied native handle. <br /></td></tr>
<tr class="separator:a664770d5a3dc9db34d177622cb494779"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cb49b1828d6a0cf4a7ea6668c38ca42"><td class="memItemLeft" align="right" valign="top"><a id="a9cb49b1828d6a0cf4a7ea6668c38ca42"></a>
@@ -229,9 +213,9 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a665ddf5aa47e1d8a94580570a0457c8a">close</a> () noexcept override</td></tr>
<tr class="memdesc:a665ddf5aa47e1d8a94580570a0457c8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Immediately close the native handle type managed by this handle. <br /></td></tr>
<tr class="separator:a665ddf5aa47e1d8a94580570a0457c8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab9983ea970040b905a4eb6180595e2e6"><td class="memItemLeft" align="right" valign="top"><a id="ab9983ea970040b905a4eb6180595e2e6"></a>
-virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>barrier</b> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), bool wait_for_device=false, bool and_metadata=false, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
-<tr class="separator:ab9983ea970040b905a4eb6180595e2e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adb03b26fe4085d50ea650f6d6a6aee2a"><td class="memItemLeft" align="right" valign="top"><a id="adb03b26fe4085d50ea650f6d6a6aee2a"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>barrier</b> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
+<tr class="separator:adb03b26fe4085d50ea650f6d6a6aee2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b97756d8d46e80da7d0fa04158a71a8"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8">clone</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> mode_=mode::unchanged, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> caching_=caching::unchanged, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr>
<tr class="separator:a6b97756d8d46e80da7d0fa04158a71a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7735588338065ede0ab9b7f979bc65a"><td class="memItemLeft" align="right" valign="top"><a id="ae7735588338065ede0ab9b7f979bc65a"></a>
@@ -263,9 +247,9 @@ virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.htm
<tr class="separator:a83884eca7b4cd09125a5cf8a155e6052"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab500784aa806dc7c2d90028d2f72de57"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; size_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">write</a> (extent_type offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">const_buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
<tr class="separator:ab500784aa806dc7c2d90028d2f72de57"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa3ec366f663f85fb4d679542b8c1b41a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3ec366f663f85fb4d679542b8c1b41a">barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), bool wait_for_device=false, bool and_metadata=false, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept=0</td></tr>
-<tr class="memdesc:aa3ec366f663f85fb4d679542b8c1b41a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier. <a href="#aa3ec366f663f85fb4d679542b8c1b41a">More...</a><br /></td></tr>
-<tr class="separator:aa3ec366f663f85fb4d679542b8c1b41a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a823391cea8818da742c0d4c573f7300f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f">barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept=0</td></tr>
+<tr class="memdesc:a823391cea8818da742c0d4c573f7300f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier. <a href="#a823391cea8818da742c0d4c573f7300f">More...</a><br /></td></tr>
+<tr class="separator:a823391cea8818da742c0d4c573f7300f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29cc9f2525f78dd73f8402cb59d97212"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a> (extent_type offset, extent_type bytes, bool exclusive=true, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
<tr class="memdesc:a29cc9f2525f78dd73f8402cb59d97212"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform: <a href="#a29cc9f2525f78dd73f8402cb59d97212">More...</a><br /></td></tr>
<tr class="separator:a29cc9f2525f78dd73f8402cb59d97212"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -278,6 +262,12 @@ virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.htm
<tr class="memitem:ad720c4c7f350fe06291534d1cbf2feb5"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ad720c4c7f350fe06291534d1cbf2feb5">unlock</a> (extent_type offset, extent_type bytes) noexcept</td></tr>
<tr class="memdesc:ad720c4c7f350fe06291534d1cbf2feb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlocks a byte range previously locked. <a href="#ad720c4c7f350fe06291534d1cbf2feb5">More...</a><br /></td></tr>
<tr class="separator:ad720c4c7f350fe06291534d1cbf2feb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5222904f116c9beb0515a4a5aa850bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a> (flag)</td></tr>
+<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
+<tr class="separator:ac5222904f116c9beb0515a4a5aa850bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memItemLeft" align="right" valign="top"><a id="aa7e9bedf8c7a4c4a79a644a6e1857ee4"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>QUICKCPPLIB_BITFIELD_END</b> (flag)</td></tr>
+<tr class="separator:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4716696b8700953889006251e0678aa4"><td class="memItemLeft" align="right" valign="top"><a id="a4716696b8700953889006251e0678aa4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;o) noexcept</td></tr>
<tr class="memdesc:a4716696b8700953889006251e0678aa4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
@@ -411,7 +401,7 @@ Protected Attributes</h2></td></tr>
<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>_service</b> {nullptr}</td></tr>
<tr class="separator:aa2c2b2847fd039b9c255633e6031817a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:affb091ded80ffde7c0c3854e2abc52fd"><td class="memItemLeft" align="right" valign="top"><a id="affb091ded80ffde7c0c3854e2abc52fd"></a>
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
<tr class="separator:affb091ded80ffde7c0c3854e2abc52fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
@@ -439,8 +429,8 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<td><code>mapped_file_handle</code></td><td>Most</td><td>Least</td><td>None</td><td>Cannot be used with uncached i/o </td></tr>
</table>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
-<a id="a5929f46f42112bd805ab5001bfbf9d2a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5929f46f42112bd805ab5001bfbf9d2a">&#9670;&nbsp;</a></span>bitfield__flag</h2>
+<a id="a7816bb7ae5156fa2997b68e6300ae565"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7816bb7ae5156fa2997b68e6300ae565">&#9670;&nbsp;</a></span>barrier_kind</h2>
<div class="memitem">
<div class="memproto">
@@ -449,72 +439,33 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">llfio_v2_xxx::handle::bitfield__flag</a> : unsigned</td>
+ <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">llfio_v2_xxx::io_handle::barrier_kind</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">strong</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Bitwise flags which can be specified. </p>
+<p>The kinds of write reordering barrier which can be performed. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298"></a>none&#160;</td><td class="fielddoc"><p>No flags. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No ability to read or write anything, but can synchronise (SYNCHRONIZE or 0) </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No caching whatsoever, all reads and writes come from storage (i.e. <code>O_DIRECT|O_SYNC</code>). Align all i/o to 4Kb boundaries for this to work. <code>disable_safety_barriers</code> can be used here. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962"></a>unlink_on_first_close&#160;</td><td class="fielddoc"><p>Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d"></a>disable_safety_barriers&#160;</td><td class="fielddoc"><p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
-<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
-<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b"></a>disable_safety_unlinks&#160;</td><td class="fielddoc"><p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free. </dd></dl>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3"></a>disable_prefetching&#160;</td><td class="fielddoc"><p>Ask the OS to disable prefetching of data. This can improve random i/o performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0"></a>maximum_prefetching&#160;</td><td class="fielddoc"><p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c"></a>win_disable_unlink_emulation&#160;</td><td class="fielddoc"><p>See the documentation for <code>unlink_on_first_close</code> </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0"></a>win_disable_sparse_file_creation&#160;</td><td class="fielddoc"><p>Microsoft Windows NTFS, having been created in the late 1980s, did not originally implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
-<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
-<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening. </p>
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb"></a>nowait_data_only&#160;</td><td class="fielddoc"><p>Barrier data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using <code>nvram_barrier()</code> for even better performance. </p>
</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322"></a>disable_parallelism&#160;</td><td class="fielddoc"><p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag. </p>
+<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce"></a>wait_data_only&#160;</td><td class="fielddoc"><p>Barrier data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using <code>nvram_barrier()</code> for even better performance. </p>
</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681"></a>win_create_case_sensitive_directory&#160;</td><td class="fielddoc"><p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off. </p>
+<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1"></a>nowait_all&#160;</td><td class="fielddoc"><p>Barrier data and the metadata to retrieve it, non-blocking. </p>
</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a"></a>overlapped&#160;</td><td class="fielddoc"><p>On Windows, create any new handles with OVERLAPPED semantics. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59"></a>byte_lock_insanity&#160;</td><td class="fielddoc"><p>Using insane POSIX byte range locks. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d"></a>anonymous_inode&#160;</td><td class="fielddoc"><p>This is an inode created with no representation on the filing system. </p>
+<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345"></a>wait_all&#160;</td><td class="fielddoc"><p>Barrier data and the metadata to retrieve it, block until it is done. </p>
</td></tr>
</table>
-<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div><div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">llfio_v2_xxx::handle::win_create_case_sensitive_directory</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:176</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">llfio_v2_xxx::handle::anonymous_inode</a></div><div class="ttdoc">This is an inode created with no representation on the filing system. </div><div class="ttdef"><b>Definition:</b> handle.hpp:182</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">llfio_v2_xxx::handle::disable_safety_unlinks</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:137</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">llfio_v2_xxx::handle::disable_parallelism</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:170</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">llfio_v2_xxx::handle::none</a></div><div class="ttdoc">No flags. </div><div class="ttdef"><b>Definition:</b> handle.hpp:99</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">llfio_v2_xxx::handle::maximum_prefetching</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:145</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">llfio_v2_xxx::handle::overlapped</a></div><div class="ttdoc">On Windows, create any new handles with OVERLAPPED semantics. </div><div class="ttdef"><b>Definition:</b> handle.hpp:180</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">llfio_v2_xxx::handle::disable_prefetching</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:141</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">llfio_v2_xxx::handle::byte_lock_insanity</a></div><div class="ttdoc">Using insane POSIX byte range locks. </div><div class="ttdef"><b>Definition:</b> handle.hpp:181</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">llfio_v2_xxx::handle::unlink_on_first_close</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:109</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">llfio_v2_xxx::handle::win_disable_unlink_emulation</a></div><div class="ttdoc">See the documentation for unlink_on_first_close </div><div class="ttdef"><b>Definition:</b> handle.hpp:147</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">llfio_v2_xxx::handle::disable_safety_barriers</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:128</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">llfio_v2_xxx::handle::win_disable_sparse_file_creation</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:163</div></div>
-</div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; {</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; nowait_data_only, <span class="comment">//!&lt; Barrier data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using `nvram_barrier()` for even better performance.</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment"></span> wait_data_only, <span class="comment">//!&lt; Barrier data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using `nvram_barrier()` for even better performance.</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"></span> nowait_all, <span class="comment">//!&lt; Barrier data and the metadata to retrieve it, non-blocking.</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"></span> wait_all <span class="comment">//!&lt; Barrier data and the metadata to retrieve it, block until it is done.</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"></span> };</div></div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
-<a id="aa3ec366f663f85fb4d679542b8c1b41a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa3ec366f663f85fb4d679542b8c1b41a">&#9670;&nbsp;</a></span>barrier()</h2>
+<a id="a823391cea8818da742c0d4c573f7300f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a823391cea8818da742c0d4c573f7300f">&#9670;&nbsp;</a></span>barrier()</h2>
<div class="memitem">
<div class="memproto">
@@ -531,14 +482,8 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">bool&#160;</td>
- <td class="paramname"><em>wait_for_device</em> = <code>false</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&#160;</td>
- <td class="paramname"><em>and_metadata</em> = <code>false</code>, </td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a>&#160;</td>
+ <td class="paramname"><em>kind</em> = <code><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -569,8 +514,7 @@ For portability, you can only assume that barriers write order for a single hand
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">reqs</td><td>A scatter-gather and offset request for what range to barrier. May be ignored on some platforms which always write barrier the entire file. Supplying a default initialised reqs write barriers the entire file. </td></tr>
- <tr><td class="paramname">wait_for_device</td><td>True if you want the call to wait until data reaches storage and that storage has acknowledged the data is physically written. Slow. </td></tr>
- <tr><td class="paramname">and_metadata</td><td>True if you want the call to sync the metadata for retrieving the writes before the barrier after a sudden power loss event. Slow. Setting this to false enables much faster performance, especially on non-volatile memory. </td></tr>
+ <tr><td class="paramname">kind</td><td>Which kind of write reordering barrier to perform. </td></tr>
<tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
</table>
</dd>
@@ -676,7 +620,7 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</div><div class="memdoc">
<p>Returns the current path of the open handle as said by the operating system. Note that you are NOT guaranteed that any path refreshed bears any resemblance to the original, some operating systems will return some different path which still reaches the same inode via some other route e.g. hardlinks, dereferenced symbolic links, etc. Windows and Linux correctly track changes to the specific path the handle was opened with, not getting confused by other hard links. MacOS nearly gets it right, but under some circumstances e.g. renaming may switch to a different hard link's path which is almost certainly a bug.</p>
-<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::stablized_path&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
+<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
<p>On Linux if <code>/proc</code> is not mounted, this call fails with an error. All APIs in LLFIO which require the use of <code>current_path()</code> can be told to not use it e.g. <code>flag::disable_safety_unlinks</code>. It is up to you to detect if <code>current_path()</code> is not working, and to change how you call LLFIO appropriately.</p>
<dl class="section warning"><dt>Warning</dt><dd>This call is expensive, it always asks the kernel for the current path, and no checking is done to ensure what the kernel returns is accurate or even sensible. Be aware that despite these precautions, paths are unstable and <b>can change randomly at any moment</b>. Most code written to use absolute file systems paths is <b>racy</b>, so don't do it, use <code>path_handle</code> to fix a base location on the file system and work from that anchor instead!</dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>At least one malloc for the <code>path_type</code>, likely several more. </dd></dl>
@@ -892,7 +836,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; {</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; {</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; {</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; }</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; bytes += i.size();</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; }</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(reqs.offset, bytes, <span class="keyword">false</span>, d);</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
+<div class="fragment"><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; {</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; {</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; {</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; }</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; bytes += i.size();</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; }</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(reqs.offset, bytes, <span class="keyword">false</span>, d);</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -930,7 +874,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; {</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; {</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; {</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; }</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; bytes += i.size();</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; }</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(reqs.offset, bytes, <span class="keyword">true</span>, d);</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
+<div class="fragment"><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; {</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; {</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; {</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; }</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; bytes += i.size();</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; }</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(reqs.offset, bytes, <span class="keyword">true</span>, d);</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -960,7 +904,8 @@ For portability, you can only assume that barriers write order for a single hand
<p>The <em>maximum</em> number of buffers which a single read or write syscall can process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. </p>
<p>Note that the actual number of buffers accepted for a read or a write may be significantly lower than this system-defined limit, depending on available resources. The <code>read()</code> or <code>write()</code> call will return the buffers accepted.</p>
<p>Note also that some OSs will error out if you supply more than this limit to <code>read()</code> or <code>write()</code>, but other OSs do not. Some OSs guarantee that each i/o syscall has effects atomically visible or not to other i/o, other OSs do not.</p>
-<p>Microsoft Windows and OS X does not implement scatter-gather file i/o syscalls. Thus this function will always return <code>1</code> in that situation. </p>
+<p>OS X does not implement scatter-gather file i/o syscalls. Thus this function will always return <code>1</code> in that situation.</p>
+<p>Microsoft Windows <em>may</em> implement scatter-gather file i/o under very limited circumstances. Most of the time this function will return <code>1</code>. </p>
</div>
</div>
@@ -1023,6 +968,51 @@ For portability, you can only assume that barriers write order for a single hand
</div>
</div>
+<a id="ac5222904f116c9beb0515a4a5aa850bf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac5222904f116c9beb0515a4a5aa850bf">&#9670;&nbsp;</a></span>QUICKCPPLIB_BITFIELD_BEGIN()</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::handle::QUICKCPPLIB_BITFIELD_BEGIN </td>
+ <td>(</td>
+ <td class="paramtype">flag&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Bitwise flags which can be specified. </p>
+<p>&lt; No flags </p><pre class="fragment">Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed
+</pre><p> to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
+<p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
+<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
+<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers</p>
+<p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free.</dd></dl>
+<p>Ask the OS to disable prefetching of data. This can improve random i/o performance.</p>
+<p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance.</p>
+<p>&lt; See the documentation for <code>unlink_on_first_close</code> </p><pre class="fragment">Microsoft Windows NTFS, having been created in the late 1980s, did not originally
+</pre><p> implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
+<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
+<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening.</p>
+<p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag.</p>
+<p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off.</p>
+<p>&lt; On Windows, create any new handles with OVERLAPPED semantics</p>
+<p>&lt; Using insane POSIX byte range locks</p>
+<p>&lt; This is an inode created with no representation on the filing system </p>
+<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; overlapped = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div></div><!-- fragment -->
+</div>
+</div>
<a id="a3141a85996e46a3cc6b238d321198e47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3141a85996e46a3cc6b238d321198e47">&#9670;&nbsp;</a></span>random_file()</h2>
@@ -1400,7 +1390,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(offset, bytes, exclusive, deadline(std::chrono::seconds(0))); }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
+<div class="fragment"><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(offset, bytes, exclusive, deadline(std::chrono::seconds(0))); }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -1579,7 +1569,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; {</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; const_buffer_type *_reqs = <span class="keyword">reinterpret_cast&lt;</span>const_buffer_type *<span class="keyword">&gt;</span>(alloca(<span class="keyword">sizeof</span>(const_buffer_type) * lst.size()));</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; io_request&lt;const_buffers_type&gt; reqs(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>(_reqs, lst.size()), offset);</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keyword">auto</span> ret = <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a>(reqs, d);</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keywordflow">if</span>(ret)</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; {</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">return</span> ret.bytes_transferred();</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; }</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keywordflow">return</span> std::move(ret).error();</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a693a8c64bb7de1a6835d6a151e37aa0e"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">llfio_v2_xxx::io_handle::const_buffers_type</a></div><div class="ttdeci">span&lt; const_buffer_type &gt; const_buffers_type</div><div class="ttdoc">The gather buffers type used by this handle. Guaranteed to be TrivialType apart from construction...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:165</div></div>
+<div class="fragment"><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; {</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; const_buffer_type *_reqs = <span class="keyword">reinterpret_cast&lt;</span>const_buffer_type *<span class="keyword">&gt;</span>(alloca(<span class="keyword">sizeof</span>(const_buffer_type) * lst.size()));</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; io_request&lt;const_buffers_type&gt; reqs(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>(_reqs, lst.size()), offset);</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keyword">auto</span> ret = <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a>(reqs, d);</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">if</span>(ret)</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; {</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <span class="keywordflow">return</span> ret.bytes_transferred();</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; }</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">return</span> std::move(ret).error();</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a693a8c64bb7de1a6835d6a151e37aa0e"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">llfio_v2_xxx::io_handle::const_buffers_type</a></div><div class="ttdeci">span&lt; const_buffer_type &gt; const_buffers_type</div><div class="ttdoc">The gather buffers type used by this handle. Guaranteed to be TrivialType apart from construction...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:188</div></div>
<div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a83884eca7b4cd09125a5cf8a155e6052"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">llfio_v2_xxx::io_handle::write</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle. </div></div>
</div><!-- fragment -->
</div>
diff --git a/classllfio__v2__xxx_1_1file__handle.js b/classllfio__v2__xxx_1_1file__handle.js
index 0db2ebb7..0db06c3b 100644
--- a/classllfio__v2__xxx_1_1file__handle.js
+++ b/classllfio__v2__xxx_1_1file__handle.js
@@ -17,22 +17,11 @@ var classllfio__v2__xxx_1_1file__handle =
[ "path_view_type", "classllfio__v2__xxx_1_1file__handle.html#a987fcc0fc8a6874cb8275ad0efb1a576", null ],
[ "size_type", "classllfio__v2__xxx_1_1file__handle.html#a5f710a7dc78385ffeea9d0619243dd8f", null ],
[ "unique_id_type", "classllfio__v2__xxx_1_1file__handle.html#a1a65884346740af7fb4648c79d44a750", null ],
- [ "bitfield__flag", "classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2a", [
- [ "none", "classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298", null ],
- [ "none", "classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
- [ "none", "classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
- [ "unlink_on_first_close", "classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962", null ],
- [ "disable_safety_barriers", "classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d", null ],
- [ "disable_safety_unlinks", "classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b", null ],
- [ "disable_prefetching", "classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3", null ],
- [ "maximum_prefetching", "classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0", null ],
- [ "win_disable_unlink_emulation", "classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c", null ],
- [ "win_disable_sparse_file_creation", "classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0", null ],
- [ "disable_parallelism", "classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322", null ],
- [ "win_create_case_sensitive_directory", "classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681", null ],
- [ "overlapped", "classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a", null ],
- [ "byte_lock_insanity", "classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59", null ],
- [ "anonymous_inode", "classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d", null ]
+ [ "barrier_kind", "classllfio__v2__xxx_1_1file__handle.html#a7816bb7ae5156fa2997b68e6300ae565", [
+ [ "nowait_data_only", "classllfio__v2__xxx_1_1file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb", null ],
+ [ "wait_data_only", "classllfio__v2__xxx_1_1file__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce", null ],
+ [ "nowait_all", "classllfio__v2__xxx_1_1file__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1", null ],
+ [ "wait_all", "classllfio__v2__xxx_1_1file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345", null ]
] ],
[ "file_handle", "classllfio__v2__xxx_1_1file__handle.html#a8f754fdbf69fbb9b989c5aab409f2cb2", null ],
[ "file_handle", "classllfio__v2__xxx_1_1file__handle.html#a664770d5a3dc9db34d177622cb494779", null ],
@@ -44,8 +33,8 @@ var classllfio__v2__xxx_1_1file__handle =
[ "are_reads_from_cache", "classllfio__v2__xxx_1_1file__handle.html#a7126a726b2a06e4c1eca1a94c41163ff", null ],
[ "are_safety_barriers_issued", "classllfio__v2__xxx_1_1file__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1", null ],
[ "are_writes_durable", "classllfio__v2__xxx_1_1file__handle.html#a8036792f332459064172d7b0cfaee3cf", null ],
- [ "barrier", "classllfio__v2__xxx_1_1file__handle.html#ab9983ea970040b905a4eb6180595e2e6", null ],
- [ "barrier", "classllfio__v2__xxx_1_1file__handle.html#aa3ec366f663f85fb4d679542b8c1b41a", null ],
+ [ "barrier", "classllfio__v2__xxx_1_1file__handle.html#adb03b26fe4085d50ea650f6d6a6aee2a", null ],
+ [ "barrier", "classllfio__v2__xxx_1_1file__handle.html#a823391cea8818da742c0d4c573f7300f", null ],
[ "clone", "classllfio__v2__xxx_1_1file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8", null ],
[ "clone", "classllfio__v2__xxx_1_1file__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3", null ],
[ "close", "classllfio__v2__xxx_1_1file__handle.html#a665ddf5aa47e1d8a94580570a0457c8a", null ],
@@ -74,6 +63,8 @@ var classllfio__v2__xxx_1_1file__handle =
[ "operator=", "classllfio__v2__xxx_1_1file__handle.html#a3bba96c52082c14bf168e12f4e9e2fa6", null ],
[ "operator=", "classllfio__v2__xxx_1_1file__handle.html#abcfaf6aee5ab7a92e7c5bb5aed0fff9a", null ],
[ "parent_path_handle", "classllfio__v2__xxx_1_1file__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5", null ],
+ [ "QUICKCPPLIB_BITFIELD_BEGIN", "classllfio__v2__xxx_1_1file__handle.html#ac5222904f116c9beb0515a4a5aa850bf", null ],
+ [ "QUICKCPPLIB_BITFIELD_END", "classllfio__v2__xxx_1_1file__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4", null ],
[ "read", "classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467", null ],
[ "read", "classllfio__v2__xxx_1_1file__handle.html#a5f7485307a0704aa1680e5785be2035d", null ],
[ "release", "classllfio__v2__xxx_1_1file__handle.html#a1d273e38c061eb11f5012f624e9a202e", null ],
diff --git a/classllfio__v2__xxx_1_1handle-members.html b/classllfio__v2__xxx_1_1handle-members.html
index eabb3c19..94d2632e 100644
--- a/classllfio__v2__xxx_1_1handle-members.html
+++ b/classllfio__v2__xxx_1_1handle-members.html
@@ -90,59 +90,47 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1handle.html',''
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_caching</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_flags</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">bitfield__flag</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a62a75b1a4a24fbc9ad2e98a641167db6">close</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>fs_handle</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4">handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4">handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11">handle</a>(const handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a62a75b1a4a24fbc9ad2e98a641167db6">close</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>fs_handle</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4">handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4">handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11">handle</a>(const handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&lt;&lt;</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator&lt;&lt;</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">path_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
diff --git a/classllfio__v2__xxx_1_1handle.html b/classllfio__v2__xxx_1_1handle.html
index 1d01ea75..1db854d9 100644
--- a/classllfio__v2__xxx_1_1handle.html
+++ b/classllfio__v2__xxx_1_1handle.html
@@ -118,7 +118,7 @@ Inheritance diagram for llfio_v2_xxx::handle:</div>
Public Types</h2></td></tr>
<tr class="memitem:aa3930273a2d4cabbac309e0b75701dca"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> : unsigned char { <br />
&#160;&#160;<b>unchanged</b> = 0,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">none</a> = 2,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa334c4a4c42fdb79d7ebc3e73b517e6f8">mode::none</a> = 2,
<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaa4daf6d1e8da35af49c33bbe9ee91d79">mode::attr_read</a> = 4,
<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9f56aff64cb748e078ab221474132d19">mode::attr_write</a> = 5,
<br />
@@ -142,7 +142,7 @@ Public Types</h2></td></tr>
<tr class="separator:af0b352d0f273ba6fa70c178b2c2fee42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecd3a7db6cee3aec07d32fe6f99e6852"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> : unsigned char { <br />
&#160;&#160;<b>unchanged</b> = 0,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">none</a> = 1,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a> = 1,
<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98">caching::only_metadata</a> = 2,
<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1">caching::reads</a> = 3,
<br />
@@ -154,29 +154,6 @@ Public Types</h2></td></tr>
}<tr class="memdesc:aecd3a7db6cee3aec07d32fe6f99e6852"><td class="mdescLeft">&#160;</td><td class="mdescRight">What i/o on the handle may complete immediately due to kernel caching. <a href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:aecd3a7db6cee3aec07d32fe6f99e6852"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5929f46f42112bd805ab5001bfbf9d2a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">bitfield__flag</a> : unsigned { <br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> = 0,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">none</a> = 2,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">none</a> = 1,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> = 1U &lt;&lt; 0U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> = 1U &lt;&lt; 2U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> = 1U &lt;&lt; 3U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> = 1U &lt;&lt; 4U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> = 1U &lt;&lt; 5U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> = 1U &lt;&lt; 24U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> = 1U &lt;&lt; 25U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> = 1U &lt;&lt; 26U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> = 1U &lt;&lt; 27U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> = 1U &lt;&lt; 28U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> = 1U &lt;&lt; 29U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> = 1U &lt;&lt; 30U
-<br />
- }<tr class="memdesc:a5929f46f42112bd805ab5001bfbf9d2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">More...</a><br /></td></tr>
-</td></tr>
-<tr class="separator:a5929f46f42112bd805ab5001bfbf9d2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33481bae57d9ccd0c97946416f9682f3"><td class="memItemLeft" align="right" valign="top"><a id="a33481bae57d9ccd0c97946416f9682f3"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">path_type</a> = filesystem::path</td></tr>
<tr class="memdesc:a33481bae57d9ccd0c97946416f9682f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The path type used by this handle. <br /></td></tr>
@@ -192,12 +169,18 @@ using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cla
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
+<tr class="memitem:ac5222904f116c9beb0515a4a5aa850bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a> (flag)</td></tr>
+<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
+<tr class="separator:ac5222904f116c9beb0515a4a5aa850bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memItemLeft" align="right" valign="top"><a id="aa7e9bedf8c7a4c4a79a644a6e1857ee4"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>QUICKCPPLIB_BITFIELD_END</b> (flag)</td></tr>
+<tr class="separator:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea43917ff5cc28f3da3c622c0b3382c4"><td class="memItemLeft" align="right" valign="top"><a id="aea43917ff5cc28f3da3c622c0b3382c4"></a>
constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4">handle</a> ()</td></tr>
<tr class="memdesc:aea43917ff5cc28f3da3c622c0b3382c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:aea43917ff5cc28f3da3c622c0b3382c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7912947fb8fe6270535eb6bddba50d4"><td class="memItemLeft" align="right" valign="top"><a id="ad7912947fb8fe6270535eb6bddba50d4"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4">handle</a> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> h, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>=<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4">handle</a> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> h, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
<tr class="memdesc:ad7912947fb8fe6270535eb6bddba50d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a handle from a supplied native handle. <br /></td></tr>
<tr class="separator:ad7912947fb8fe6270535eb6bddba50d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a798fa51a935da9b16ed7bb565b3a4c11"><td class="memItemLeft" align="right" valign="top"><a id="a798fa51a935da9b16ed7bb565b3a4c11"></a>
@@ -314,7 +297,7 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:affb091ded80ffde7c0c3854e2abc52fd"><td class="memItemLeft" align="right" valign="top"><a id="affb091ded80ffde7c0c3854e2abc52fd"></a>
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
<tr class="separator:affb091ded80ffde7c0c3854e2abc52fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
@@ -335,71 +318,6 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A native_handle_type which is managed by the lifetime of this object instance. </p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
-<a id="a5929f46f42112bd805ab5001bfbf9d2a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5929f46f42112bd805ab5001bfbf9d2a">&#9670;&nbsp;</a></span>bitfield__flag</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">llfio_v2_xxx::handle::bitfield__flag</a> : unsigned</td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Bitwise flags which can be specified. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298"></a>none&#160;</td><td class="fielddoc"><p>No flags. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No ability to read or write anything, but can synchronise (SYNCHRONIZE or 0) </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No caching whatsoever, all reads and writes come from storage (i.e. <code>O_DIRECT|O_SYNC</code>). Align all i/o to 4Kb boundaries for this to work. <code>disable_safety_barriers</code> can be used here. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962"></a>unlink_on_first_close&#160;</td><td class="fielddoc"><p>Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d"></a>disable_safety_barriers&#160;</td><td class="fielddoc"><p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
-<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
-<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b"></a>disable_safety_unlinks&#160;</td><td class="fielddoc"><p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free. </dd></dl>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3"></a>disable_prefetching&#160;</td><td class="fielddoc"><p>Ask the OS to disable prefetching of data. This can improve random i/o performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0"></a>maximum_prefetching&#160;</td><td class="fielddoc"><p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c"></a>win_disable_unlink_emulation&#160;</td><td class="fielddoc"><p>See the documentation for <code>unlink_on_first_close</code> </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0"></a>win_disable_sparse_file_creation&#160;</td><td class="fielddoc"><p>Microsoft Windows NTFS, having been created in the late 1980s, did not originally implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
-<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
-<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322"></a>disable_parallelism&#160;</td><td class="fielddoc"><p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681"></a>win_create_case_sensitive_directory&#160;</td><td class="fielddoc"><p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a"></a>overlapped&#160;</td><td class="fielddoc"><p>On Windows, create any new handles with OVERLAPPED semantics. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59"></a>byte_lock_insanity&#160;</td><td class="fielddoc"><p>Using insane POSIX byte range locks. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d"></a>anonymous_inode&#160;</td><td class="fielddoc"><p>This is an inode created with no representation on the filing system. </p>
-</td></tr>
-</table>
-<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div><div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">llfio_v2_xxx::handle::win_create_case_sensitive_directory</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:176</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">llfio_v2_xxx::handle::anonymous_inode</a></div><div class="ttdoc">This is an inode created with no representation on the filing system. </div><div class="ttdef"><b>Definition:</b> handle.hpp:182</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">llfio_v2_xxx::handle::disable_safety_unlinks</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:137</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">llfio_v2_xxx::handle::disable_parallelism</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:170</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">llfio_v2_xxx::handle::none</a></div><div class="ttdoc">No flags. </div><div class="ttdef"><b>Definition:</b> handle.hpp:99</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">llfio_v2_xxx::handle::maximum_prefetching</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:145</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">llfio_v2_xxx::handle::overlapped</a></div><div class="ttdoc">On Windows, create any new handles with OVERLAPPED semantics. </div><div class="ttdef"><b>Definition:</b> handle.hpp:180</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">llfio_v2_xxx::handle::disable_prefetching</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:141</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">llfio_v2_xxx::handle::byte_lock_insanity</a></div><div class="ttdoc">Using insane POSIX byte range locks. </div><div class="ttdef"><b>Definition:</b> handle.hpp:181</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">llfio_v2_xxx::handle::unlink_on_first_close</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:109</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">llfio_v2_xxx::handle::win_disable_unlink_emulation</a></div><div class="ttdoc">See the documentation for unlink_on_first_close </div><div class="ttdef"><b>Definition:</b> handle.hpp:147</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">llfio_v2_xxx::handle::disable_safety_barriers</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:128</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">llfio_v2_xxx::handle::win_disable_sparse_file_creation</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:163</div></div>
-</div><!-- fragment -->
-</div>
-</div>
<a id="aecd3a7db6cee3aec07d32fe6f99e6852"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aecd3a7db6cee3aec07d32fe6f99e6852">&#9670;&nbsp;</a></span>caching</h2>
@@ -422,7 +340,7 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<p>What i/o on the handle may complete immediately due to kernel caching. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No caching whatsoever, all reads and writes come from storage (i.e. <code>O_DIRECT|O_SYNC</code>). Align all i/o to 4Kb boundaries for this to work. <code>disable_safety_barriers</code> can be used here. </p>
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No caching whatsoever, all reads and writes come from storage (i.e. <code>O_DIRECT|O_SYNC</code>). Align all i/o to 4Kb boundaries for this to work. <code>disable_safety_barriers</code> can be used here. </p>
</td></tr>
<tr><td class="fieldname"><a id="aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98"></a>only_metadata&#160;</td><td class="fielddoc"><p>Cache reads and writes of metadata but avoid caching data (<code>O_DIRECT</code>), thus i/o here does not affect other cached data for other handles. Align all i/o to 4Kb boundaries for this to work. </p>
</td></tr>
@@ -437,8 +355,7 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<tr><td class="fieldname"><a id="aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef"></a>temporary&#160;</td><td class="fielddoc"><p>Cache reads and writes of data and metadata so they complete immediately, only sending any updates to storage on last handle close in the system or if memory becomes tight as this file is expected to be temporary (Windows and FreeBSD only). </p>
</td></tr>
</table>
-<div class="fragment"><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; : <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <span class="comment">// bit 0 set means safety barriers enabled</span></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; {</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; unchanged = 0,</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> = 1, <span class="comment">//!&lt; No caching whatsoever, all reads and writes come from storage (i.e. &lt;tt&gt;O_DIRECT|O_SYNC&lt;/tt&gt;). Align all i/o to 4Kb boundaries for this to work. &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment"></span> only_metadata = 2, <span class="comment">//!&lt; Cache reads and writes of metadata but avoid caching data (&lt;tt&gt;O_DIRECT&lt;/tt&gt;), thus i/o here does not affect other cached data for other handles. Align all i/o to 4Kb boundaries for this to work.</span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="comment"></span> reads = 3, <span class="comment">//!&lt; Cache reads only. Writes of data and metadata do not complete until reaching storage (&lt;tt&gt;O_SYNC&lt;/tt&gt;). &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="comment"></span> reads_and_metadata = 5, <span class="comment">//!&lt; Cache reads and writes of metadata, but writes of data do not complete until reaching storage (&lt;tt&gt;O_DSYNC&lt;/tt&gt;). &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="comment"></span> all = 6, <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, sending writes to storage at some point when the kernel decides (this is the default file system caching on a system).</span></div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment"></span> safety_barriers = 7, <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, but issue safety barriers at certain points. See documentation for &lt;tt&gt;disable_safety_barriers&lt;/tt&gt;.</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment"></span> temporary = 8 <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, only sending any updates to storage on last handle close in the system or if memory becomes tight as this file is expected to be temporary (Windows and FreeBSD only).</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment"></span> <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; };</div><div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">llfio_v2_xxx::handle::none</a></div><div class="ttdoc">No flags. </div><div class="ttdef"><b>Definition:</b> handle.hpp:99</div></div>
-</div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; : <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <span class="comment">// bit 0 set means safety barriers enabled</span></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; {</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; unchanged = 0,</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; none = 1, <span class="comment">//!&lt; No caching whatsoever, all reads and writes come from storage (i.e. &lt;tt&gt;O_DIRECT|O_SYNC&lt;/tt&gt;). Align all i/o to 4Kb boundaries for this to work. &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment"></span> only_metadata = 2, <span class="comment">//!&lt; Cache reads and writes of metadata but avoid caching data (&lt;tt&gt;O_DIRECT&lt;/tt&gt;), thus i/o here does not affect other cached data for other handles. Align all i/o to 4Kb boundaries for this to work.</span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="comment"></span> reads = 3, <span class="comment">//!&lt; Cache reads only. Writes of data and metadata do not complete until reaching storage (&lt;tt&gt;O_SYNC&lt;/tt&gt;). &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="comment"></span> reads_and_metadata = 5, <span class="comment">//!&lt; Cache reads and writes of metadata, but writes of data do not complete until reaching storage (&lt;tt&gt;O_DSYNC&lt;/tt&gt;). &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="comment"></span> all = 6, <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, sending writes to storage at some point when the kernel decides (this is the default file system caching on a system).</span></div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment"></span> safety_barriers = 7, <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, but issue safety barriers at certain points. See documentation for &lt;tt&gt;disable_safety_barriers&lt;/tt&gt;.</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment"></span> temporary = 8 <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, only sending any updates to storage on last handle close in the system or if memory becomes tight as this file is expected to be temporary (Windows and FreeBSD only).</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment"></span> <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; };</div></div><!-- fragment -->
</div>
</div>
<a id="af0b352d0f273ba6fa70c178b2c2fee42"></a>
@@ -499,7 +416,7 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<p>The behaviour of the handle: does it read, read and write, or atomic append? </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No ability to read or write anything, but can synchronise (SYNCHRONIZE or 0) </p>
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aa3930273a2d4cabbac309e0b75701dcaa334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No ability to read or write anything, but can synchronise (SYNCHRONIZE or 0) </p>
</td></tr>
<tr><td class="fieldname"><a id="aa3930273a2d4cabbac309e0b75701dcaaa4daf6d1e8da35af49c33bbe9ee91d79"></a>attr_read&#160;</td><td class="fielddoc"><p>Ability to read attributes (FILE_READ_ATTRIBUTES|SYNCHRONIZE or O_RDONLY) </p>
</td></tr>
@@ -512,9 +429,8 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<tr><td class="fieldname"><a id="aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d"></a>append&#160;</td><td class="fielddoc"><p>All mainstream OSs and CIFS guarantee this is atomic with respect to all other appenders (FILE_APPEND_DATA|SYNCHRONISE or O_APPEND) </p>
</td></tr>
</table>
-<div class="fragment"><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; : <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <span class="comment">// bit 0 set means writable</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; {</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; unchanged = 0,</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> = 2, <span class="comment">//!&lt; No ability to read or write anything, but can synchronise (SYNCHRONIZE or 0)</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment"></span> attr_read = 4, <span class="comment">//!&lt; Ability to read attributes (FILE_READ_ATTRIBUTES|SYNCHRONIZE or O_RDONLY)</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment"></span> attr_write = 5, <span class="comment">//!&lt; Ability to read and write attributes (FILE_READ_ATTRIBUTES|FILE_WRITE_ATTRIBUTES|SYNCHRONIZE or O_RDONLY)</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">read</a> = 6, <span class="comment">//!&lt; Ability to read (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|SYNCHRONISE or O_RDONLY)</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">write</a> = 7, <span class="comment">//!&lt; Ability to read and write (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|FILE_WRITE_DATA|FILE_WRITE_ATTRIBUTES|FILE_WRITE_EA|FILE_APPEND_DATA|SYNCHRONISE or O_RDWR)</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"></span> append = 9 <span class="comment">//!&lt; All mainstream OSs and CIFS guarantee this is atomic with respect to all other appenders (FILE_APPEND_DATA|SYNCHRONISE or O_APPEND)</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"></span> <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; };</div><div class="ttc" id="namespacellfio__v2__xxx_html_af678f58d20e1f0962ff0744150342683"><div class="ttname"><a href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">llfio_v2_xxx::read</a></div><div class="ttdeci">file_handle::io_result&lt; file_handle::size_type &gt; read(file_handle &amp;self, file_handle::extent_type offset, std::initializer_list&lt; file_handle::buffer_type &gt; lst, deadline d=deadline()) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:386</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">llfio_v2_xxx::handle::none</a></div><div class="ttdoc">No flags. </div><div class="ttdef"><b>Definition:</b> handle.hpp:99</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_html_a5a8908704c9988bbecc69c2359e6fd4a"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">llfio_v2_xxx::write</a></div><div class="ttdeci">io_handle::io_result&lt; io_handle::const_buffers_type &gt; write(io_handle &amp;self, io_handle::io_request&lt; io_handle::const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle. </div><div class="ttdef"><b>Definition:</b> io_handle.hpp:588</div></div>
+<div class="fragment"><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; : <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <span class="comment">// bit 0 set means writable</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; {</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; unchanged = 0,</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; none = 2, <span class="comment">//!&lt; No ability to read or write anything, but can synchronise (SYNCHRONIZE or 0)</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment"></span> attr_read = 4, <span class="comment">//!&lt; Ability to read attributes (FILE_READ_ATTRIBUTES|SYNCHRONIZE or O_RDONLY)</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment"></span> attr_write = 5, <span class="comment">//!&lt; Ability to read and write attributes (FILE_READ_ATTRIBUTES|FILE_WRITE_ATTRIBUTES|SYNCHRONIZE or O_RDONLY)</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">read</a> = 6, <span class="comment">//!&lt; Ability to read (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|SYNCHRONISE or O_RDONLY)</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">write</a> = 7, <span class="comment">//!&lt; Ability to read and write (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|FILE_WRITE_DATA|FILE_WRITE_ATTRIBUTES|FILE_WRITE_EA|FILE_APPEND_DATA|SYNCHRONISE or O_RDWR)</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"></span> append = 9 <span class="comment">//!&lt; All mainstream OSs and CIFS guarantee this is atomic with respect to all other appenders (FILE_APPEND_DATA|SYNCHRONISE or O_APPEND)</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"></span> <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; };</div><div class="ttc" id="namespacellfio__v2__xxx_html_af678f58d20e1f0962ff0744150342683"><div class="ttname"><a href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">llfio_v2_xxx::read</a></div><div class="ttdeci">file_handle::io_result&lt; file_handle::size_type &gt; read(file_handle &amp;self, file_handle::extent_type offset, std::initializer_list&lt; file_handle::buffer_type &gt; lst, deadline d=deadline()) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:387</div></div>
+<div class="ttc" id="namespacellfio__v2__xxx_html_a5a8908704c9988bbecc69c2359e6fd4a"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">llfio_v2_xxx::write</a></div><div class="ttdeci">io_handle::io_result&lt; io_handle::const_buffers_type &gt; write(io_handle &amp;self, io_handle::io_request&lt; io_handle::const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle. </div><div class="ttdef"><b>Definition:</b> io_handle.hpp:623</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -569,7 +485,7 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
</table>
</div><div class="memdoc">
<p>Returns the current path of the open handle as said by the operating system. Note that you are NOT guaranteed that any path refreshed bears any resemblance to the original, some operating systems will return some different path which still reaches the same inode via some other route e.g. hardlinks, dereferenced symbolic links, etc. Windows and Linux correctly track changes to the specific path the handle was opened with, not getting confused by other hard links. MacOS nearly gets it right, but under some circumstances e.g. renaming may switch to a different hard link's path which is almost certainly a bug.</p>
-<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::stablized_path&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
+<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
<p>On Linux if <code>/proc</code> is not mounted, this call fails with an error. All APIs in LLFIO which require the use of <code>current_path()</code> can be told to not use it e.g. <code>flag::disable_safety_unlinks</code>. It is up to you to detect if <code>current_path()</code> is not working, and to change how you call LLFIO appropriately.</p>
<dl class="section warning"><dt>Warning</dt><dd>This call is expensive, it always asks the kernel for the current path, and no checking is done to ensure what the kernel returns is accurate or even sensible. Be aware that despite these precautions, paths are unstable and <b>can change randomly at any moment</b>. Most code written to use absolute file systems paths is <b>racy</b>, so don't do it, use <code>path_handle</code> to fix a base location on the file system and work from that anchor instead!</dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>At least one malloc for the <code>path_type</code>, likely several more. </dd></dl>
@@ -579,6 +495,51 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
</div>
</div>
+<a id="ac5222904f116c9beb0515a4a5aa850bf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac5222904f116c9beb0515a4a5aa850bf">&#9670;&nbsp;</a></span>QUICKCPPLIB_BITFIELD_BEGIN()</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::handle::QUICKCPPLIB_BITFIELD_BEGIN </td>
+ <td>(</td>
+ <td class="paramtype">flag&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></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>Bitwise flags which can be specified. </p>
+<p>&lt; No flags </p><pre class="fragment">Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed
+</pre><p> to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
+<p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
+<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
+<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers</p>
+<p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free.</dd></dl>
+<p>Ask the OS to disable prefetching of data. This can improve random i/o performance.</p>
+<p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance.</p>
+<p>&lt; See the documentation for <code>unlink_on_first_close</code> </p><pre class="fragment">Microsoft Windows NTFS, having been created in the late 1980s, did not originally
+</pre><p> implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
+<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
+<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening.</p>
+<p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag.</p>
+<p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off.</p>
+<p>&lt; On Windows, create any new handles with OVERLAPPED semantics</p>
+<p>&lt; Using insane POSIX byte range locks</p>
+<p>&lt; This is an inode created with no representation on the filing system </p>
+<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; overlapped = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div></div><!-- fragment -->
+</div>
+</div>
<a id="a101620e9fff0c0e8c346af0e9de58b6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a101620e9fff0c0e8c346af0e9de58b6a">&#9670;&nbsp;</a></span>set_append_only()</h2>
diff --git a/classllfio__v2__xxx_1_1handle.js b/classllfio__v2__xxx_1_1handle.js
index 71c75495..be7834dd 100644
--- a/classllfio__v2__xxx_1_1handle.js
+++ b/classllfio__v2__xxx_1_1handle.js
@@ -3,26 +3,9 @@ var classllfio__v2__xxx_1_1handle =
[ "extent_type", "classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f", null ],
[ "path_type", "classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3", null ],
[ "size_type", "classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58", null ],
- [ "bitfield__flag", "classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a", [
- [ "none", "classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298", null ],
- [ "none", "classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
- [ "none", "classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
- [ "unlink_on_first_close", "classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962", null ],
- [ "disable_safety_barriers", "classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d", null ],
- [ "disable_safety_unlinks", "classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b", null ],
- [ "disable_prefetching", "classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3", null ],
- [ "maximum_prefetching", "classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0", null ],
- [ "win_disable_unlink_emulation", "classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c", null ],
- [ "win_disable_sparse_file_creation", "classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0", null ],
- [ "disable_parallelism", "classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322", null ],
- [ "win_create_case_sensitive_directory", "classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681", null ],
- [ "overlapped", "classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a", null ],
- [ "byte_lock_insanity", "classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59", null ],
- [ "anonymous_inode", "classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d", null ]
- ] ],
[ "caching", "classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852", [
[ "unchanged", "classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a8d7b3d6b83c0a517eac07e1aac94b773", null ],
- [ "none", "classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
+ [ "none", "classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
[ "only_metadata", "classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98", null ],
[ "reads", "classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1", null ],
[ "reads_and_metadata", "classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852adec4ecca8ae1593f84eea4656599a693", null ],
@@ -39,7 +22,7 @@ var classllfio__v2__xxx_1_1handle =
] ],
[ "mode", "classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca", [
[ "unchanged", "classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa8d7b3d6b83c0a517eac07e1aac94b773", null ],
- [ "none", "classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
+ [ "none", "classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
[ "attr_read", "classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaa4daf6d1e8da35af49c33bbe9ee91d79", null ],
[ "attr_write", "classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9f56aff64cb748e078ab221474132d19", null ],
[ "read", "classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e", null ],
@@ -74,6 +57,8 @@ var classllfio__v2__xxx_1_1handle =
[ "native_handle", "classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72", null ],
[ "operator=", "classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0", null ],
[ "operator=", "classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365", null ],
+ [ "QUICKCPPLIB_BITFIELD_BEGIN", "classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf", null ],
+ [ "QUICKCPPLIB_BITFIELD_END", "classllfio__v2__xxx_1_1handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4", null ],
[ "release", "classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e", null ],
[ "requires_aligned_io", "classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb", null ],
[ "set_append_only", "classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a", null ],
diff --git a/classllfio__v2__xxx_1_1io__handle-members.html b/classllfio__v2__xxx_1_1io__handle-members.html
index b3486707..231d194c 100644
--- a/classllfio__v2__xxx_1_1io__handle-members.html
+++ b/classllfio__v2__xxx_1_1io__handle-members.html
@@ -90,24 +90,18 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1io__handle.html
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_caching</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_flags</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3ec366f663f85fb4d679542b8c1b41a">barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), bool wait_for_device=false, bool and_metadata=false, deadline d=deadline()) noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">bitfield__flag</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">buffers_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f">barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">buffers_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>caching</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a62a75b1a4a24fbc9ad2e98a641167db6">close</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>creation</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>extent_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>flag</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
@@ -137,32 +131,27 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1io__handle.html
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a369f8ec6a682030f8e7f5749eb7bc77e">lock</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a198e1c294966a28919d2f0698e3608b8">lock</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ade38a6d55a4eda3c6d5e196683b129a7">max_buffers</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>mode</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mode</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6098bb852a95257b513067cd300fc83f">operator=</a>(io_handle &amp;&amp;)=default</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7e31726ff57b2eca62591209c17ad4a4">operator=</a>(const io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle::operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d">read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae1abb705dbe9890e103365bf7c61521e">try_lock</a>(extent_type offset, extent_type bytes, bool exclusive=true) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d">read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae1abb705dbe9890e103365bf7c61521e">try_lock</a>(extent_type offset, extent_type bytes, bool exclusive=true) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ad720c4c7f350fe06291534d1cbf2feb5">unlock</a>(extent_type offset, extent_type bytes) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">write</a>(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>~io_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">write</a>(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~io_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
diff --git a/classllfio__v2__xxx_1_1io__handle.html b/classllfio__v2__xxx_1_1io__handle.html
index ad7a3a38..ae46a9ab 100644
--- a/classllfio__v2__xxx_1_1io__handle.html
+++ b/classllfio__v2__xxx_1_1io__handle.html
@@ -123,11 +123,18 @@ Classes</h2></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o request type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction, and <code>StandardLayoutType</code>. <a href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o result type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction.. <a href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html#details">More...</a><br /></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o result type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction. <a href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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:a7816bb7ae5156fa2997b68e6300ae565"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> { <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>,
+<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce">barrier_kind::wait_data_only</a>,
+<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1">barrier_kind::nowait_all</a>,
+<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345">barrier_kind::wait_all</a>
+ }<tr class="memdesc:a7816bb7ae5156fa2997b68e6300ae565"><td class="mdescLeft">&#160;</td><td class="mdescRight">The kinds of write reordering barrier which can be performed. <a href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">More...</a><br /></td></tr>
+</td></tr>
+<tr class="separator:a7816bb7ae5156fa2997b68e6300ae565"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70374e65bae2e28bd94bffc0d73d1099"><td class="memItemLeft" align="right" valign="top"><a id="a70374e65bae2e28bd94bffc0d73d1099"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>path_type</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">handle::path_type</a></td></tr>
<tr class="separator:a70374e65bae2e28bd94bffc0d73d1099"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -157,29 +164,6 @@ 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_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> = span&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">const_buffer_type</a> &gt;</td></tr>
<tr class="memdesc:a693a8c64bb7de1a6835d6a151e37aa0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The gather buffers type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction, and <code>StandardLayoutType</code>. <br /></td></tr>
<tr class="separator:a693a8c64bb7de1a6835d6a151e37aa0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5929f46f42112bd805ab5001bfbf9d2a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">bitfield__flag</a> : unsigned { <br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> = 0,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">none</a> = 2,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">none</a> = 1,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> = 1U &lt;&lt; 0U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> = 1U &lt;&lt; 2U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> = 1U &lt;&lt; 3U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> = 1U &lt;&lt; 4U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> = 1U &lt;&lt; 5U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> = 1U &lt;&lt; 24U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> = 1U &lt;&lt; 25U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> = 1U &lt;&lt; 26U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> = 1U &lt;&lt; 27U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> = 1U &lt;&lt; 28U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> = 1U &lt;&lt; 29U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> = 1U &lt;&lt; 30U
-<br />
- }<tr class="memdesc:a5929f46f42112bd805ab5001bfbf9d2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">More...</a><br /></td></tr>
-</td></tr>
-<tr class="separator:a5929f46f42112bd805ab5001bfbf9d2a"><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>
@@ -187,7 +171,7 @@ Public Member Functions</h2></td></tr>
<tr class="memdesc:ab4b195f6b8cee1ffd48e28545245c762"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <a href="#ab4b195f6b8cee1ffd48e28545245c762">More...</a><br /></td></tr>
<tr class="separator:ab4b195f6b8cee1ffd48e28545245c762"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa27be0c27aeb13dd6a9dfb22e190bed3"><td class="memItemLeft" align="right" valign="top"><a id="aa27be0c27aeb13dd6a9dfb22e190bed3"></a>
-constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa27be0c27aeb13dd6a9dfb22e190bed3">io_handle</a> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> h, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>=<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none)</td></tr>
+constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa27be0c27aeb13dd6a9dfb22e190bed3">io_handle</a> (<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a> h, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none)</td></tr>
<tr class="memdesc:aa27be0c27aeb13dd6a9dfb22e190bed3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a handle from a supplied native handle. <br /></td></tr>
<tr class="separator:aa27be0c27aeb13dd6a9dfb22e190bed3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb43111b811438b9193f4561e89a0a5b"><td class="memItemLeft" align="right" valign="top"><a id="aeb43111b811438b9193f4561e89a0a5b"></a>
@@ -221,9 +205,9 @@ constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href=
<tr class="separator:a83884eca7b4cd09125a5cf8a155e6052"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab500784aa806dc7c2d90028d2f72de57"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">write</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">const_buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
<tr class="separator:ab500784aa806dc7c2d90028d2f72de57"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa3ec366f663f85fb4d679542b8c1b41a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3ec366f663f85fb4d679542b8c1b41a">barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;(), bool wait_for_device=false, bool and_metadata=false, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept=0</td></tr>
-<tr class="memdesc:aa3ec366f663f85fb4d679542b8c1b41a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier. <a href="#aa3ec366f663f85fb4d679542b8c1b41a">More...</a><br /></td></tr>
-<tr class="separator:aa3ec366f663f85fb4d679542b8c1b41a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a823391cea8818da742c0d4c573f7300f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f">barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept=0</td></tr>
+<tr class="memdesc:a823391cea8818da742c0d4c573f7300f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier. <a href="#a823391cea8818da742c0d4c573f7300f">More...</a><br /></td></tr>
+<tr class="separator:a823391cea8818da742c0d4c573f7300f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29cc9f2525f78dd73f8402cb59d97212"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> offset, <a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> bytes, bool exclusive=true, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
<tr class="memdesc:a29cc9f2525f78dd73f8402cb59d97212"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform: <a href="#a29cc9f2525f78dd73f8402cb59d97212">More...</a><br /></td></tr>
<tr class="separator:a29cc9f2525f78dd73f8402cb59d97212"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -236,6 +220,12 @@ constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href=
<tr class="memitem:ad720c4c7f350fe06291534d1cbf2feb5"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ad720c4c7f350fe06291534d1cbf2feb5">unlock</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> offset, <a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> bytes) noexcept</td></tr>
<tr class="memdesc:ad720c4c7f350fe06291534d1cbf2feb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlocks a byte range previously locked. <a href="#ad720c4c7f350fe06291534d1cbf2feb5">More...</a><br /></td></tr>
<tr class="separator:ad720c4c7f350fe06291534d1cbf2feb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5222904f116c9beb0515a4a5aa850bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a> (flag)</td></tr>
+<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
+<tr class="separator:ac5222904f116c9beb0515a4a5aa850bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memItemLeft" align="right" valign="top"><a id="aa7e9bedf8c7a4c4a79a644a6e1857ee4"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>QUICKCPPLIB_BITFIELD_END</b> (flag)</td></tr>
+<tr class="separator:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4716696b8700953889006251e0678aa4"><td class="memItemLeft" align="right" valign="top"><a id="a4716696b8700953889006251e0678aa4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;o) noexcept</td></tr>
<tr class="memdesc:a4716696b8700953889006251e0678aa4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
@@ -334,7 +324,7 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:affb091ded80ffde7c0c3854e2abc52fd"><td class="memItemLeft" align="right" valign="top"><a id="affb091ded80ffde7c0c3854e2abc52fd"></a>
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
<tr class="separator:affb091ded80ffde7c0c3854e2abc52fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
@@ -346,8 +336,8 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A handle to something capable of scatter-gather i/o. </p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
-<a id="a5929f46f42112bd805ab5001bfbf9d2a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5929f46f42112bd805ab5001bfbf9d2a">&#9670;&nbsp;</a></span>bitfield__flag</h2>
+<a id="a7816bb7ae5156fa2997b68e6300ae565"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7816bb7ae5156fa2997b68e6300ae565">&#9670;&nbsp;</a></span>barrier_kind</h2>
<div class="memitem">
<div class="memproto">
@@ -356,67 +346,28 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">llfio_v2_xxx::handle::bitfield__flag</a> : unsigned</td>
+ <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">llfio_v2_xxx::io_handle::barrier_kind</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Bitwise flags which can be specified. </p>
+<p>The kinds of write reordering barrier which can be performed. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298"></a>none&#160;</td><td class="fielddoc"><p>No flags. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No ability to read or write anything, but can synchronise (SYNCHRONIZE or 0) </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No caching whatsoever, all reads and writes come from storage (i.e. <code>O_DIRECT|O_SYNC</code>). Align all i/o to 4Kb boundaries for this to work. <code>disable_safety_barriers</code> can be used here. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962"></a>unlink_on_first_close&#160;</td><td class="fielddoc"><p>Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d"></a>disable_safety_barriers&#160;</td><td class="fielddoc"><p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
-<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
-<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b"></a>disable_safety_unlinks&#160;</td><td class="fielddoc"><p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free. </dd></dl>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3"></a>disable_prefetching&#160;</td><td class="fielddoc"><p>Ask the OS to disable prefetching of data. This can improve random i/o performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0"></a>maximum_prefetching&#160;</td><td class="fielddoc"><p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c"></a>win_disable_unlink_emulation&#160;</td><td class="fielddoc"><p>See the documentation for <code>unlink_on_first_close</code> </p>
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb"></a>nowait_data_only&#160;</td><td class="fielddoc"><p>Barrier data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using <code>nvram_barrier()</code> for even better performance. </p>
</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0"></a>win_disable_sparse_file_creation&#160;</td><td class="fielddoc"><p>Microsoft Windows NTFS, having been created in the late 1980s, did not originally implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
-<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
-<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322"></a>disable_parallelism&#160;</td><td class="fielddoc"><p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681"></a>win_create_case_sensitive_directory&#160;</td><td class="fielddoc"><p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off. </p>
+<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce"></a>wait_data_only&#160;</td><td class="fielddoc"><p>Barrier data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using <code>nvram_barrier()</code> for even better performance. </p>
</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a"></a>overlapped&#160;</td><td class="fielddoc"><p>On Windows, create any new handles with OVERLAPPED semantics. </p>
+<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1"></a>nowait_all&#160;</td><td class="fielddoc"><p>Barrier data and the metadata to retrieve it, non-blocking. </p>
</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59"></a>byte_lock_insanity&#160;</td><td class="fielddoc"><p>Using insane POSIX byte range locks. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d"></a>anonymous_inode&#160;</td><td class="fielddoc"><p>This is an inode created with no representation on the filing system. </p>
+<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345"></a>wait_all&#160;</td><td class="fielddoc"><p>Barrier data and the metadata to retrieve it, block until it is done. </p>
</td></tr>
</table>
-<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div><div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">llfio_v2_xxx::handle::win_create_case_sensitive_directory</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:176</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">llfio_v2_xxx::handle::anonymous_inode</a></div><div class="ttdoc">This is an inode created with no representation on the filing system. </div><div class="ttdef"><b>Definition:</b> handle.hpp:182</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">llfio_v2_xxx::handle::disable_safety_unlinks</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:137</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">llfio_v2_xxx::handle::disable_parallelism</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:170</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">llfio_v2_xxx::handle::none</a></div><div class="ttdoc">No flags. </div><div class="ttdef"><b>Definition:</b> handle.hpp:99</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">llfio_v2_xxx::handle::maximum_prefetching</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:145</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">llfio_v2_xxx::handle::overlapped</a></div><div class="ttdoc">On Windows, create any new handles with OVERLAPPED semantics. </div><div class="ttdef"><b>Definition:</b> handle.hpp:180</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">llfio_v2_xxx::handle::disable_prefetching</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:141</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">llfio_v2_xxx::handle::byte_lock_insanity</a></div><div class="ttdoc">Using insane POSIX byte range locks. </div><div class="ttdef"><b>Definition:</b> handle.hpp:181</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">llfio_v2_xxx::handle::unlink_on_first_close</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:109</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">llfio_v2_xxx::handle::win_disable_unlink_emulation</a></div><div class="ttdoc">See the documentation for unlink_on_first_close </div><div class="ttdef"><b>Definition:</b> handle.hpp:147</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">llfio_v2_xxx::handle::disable_safety_barriers</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:128</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">llfio_v2_xxx::handle::win_disable_sparse_file_creation</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:163</div></div>
-</div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; {</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; nowait_data_only, <span class="comment">//!&lt; Barrier data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using `nvram_barrier()` for even better performance.</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment"></span> wait_data_only, <span class="comment">//!&lt; Barrier data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using `nvram_barrier()` for even better performance.</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"></span> nowait_all, <span class="comment">//!&lt; Barrier data and the metadata to retrieve it, non-blocking.</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"></span> wait_all <span class="comment">//!&lt; Barrier data and the metadata to retrieve it, block until it is done.</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"></span> };</div></div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
@@ -445,12 +396,12 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
<p>Default constructor. </p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd>Why is io_result&lt;buffers_type&gt; not a standard layout type? </dd></dl>
-<div class="fragment"><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;{} <span class="comment">// NOLINT</span></div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;{} <span class="comment">// NOLINT</span></div></div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
-<a id="aa3ec366f663f85fb4d679542b8c1b41a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa3ec366f663f85fb4d679542b8c1b41a">&#9670;&nbsp;</a></span>barrier()</h2>
+<a id="a823391cea8818da742c0d4c573f7300f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a823391cea8818da742c0d4c573f7300f">&#9670;&nbsp;</a></span>barrier()</h2>
<div class="memitem">
<div class="memproto">
@@ -467,14 +418,8 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">bool&#160;</td>
- <td class="paramname"><em>wait_for_device</em> = <code>false</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&#160;</td>
- <td class="paramname"><em>and_metadata</em> = <code>false</code>, </td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a>&#160;</td>
+ <td class="paramname"><em>kind</em> = <code><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -505,8 +450,7 @@ For portability, you can only assume that barriers write order for a single hand
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">reqs</td><td>A scatter-gather and offset request for what range to barrier. May be ignored on some platforms which always write barrier the entire file. Supplying a default initialised reqs write barriers the entire file. </td></tr>
- <tr><td class="paramname">wait_for_device</td><td>True if you want the call to wait until data reaches storage and that storage has acknowledged the data is physically written. Slow. </td></tr>
- <tr><td class="paramname">and_metadata</td><td>True if you want the call to sync the metadata for retrieving the writes before the barrier after a sudden power loss event. Slow. Setting this to false enables much faster performance, especially on non-volatile memory. </td></tr>
+ <tr><td class="paramname">kind</td><td>Which kind of write reordering barrier to perform. </td></tr>
<tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
</table>
</dd>
@@ -566,7 +510,7 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</div><div class="memdoc">
<p>Returns the current path of the open handle as said by the operating system. Note that you are NOT guaranteed that any path refreshed bears any resemblance to the original, some operating systems will return some different path which still reaches the same inode via some other route e.g. hardlinks, dereferenced symbolic links, etc. Windows and Linux correctly track changes to the specific path the handle was opened with, not getting confused by other hard links. MacOS nearly gets it right, but under some circumstances e.g. renaming may switch to a different hard link's path which is almost certainly a bug.</p>
-<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::stablized_path&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
+<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
<p>On Linux if <code>/proc</code> is not mounted, this call fails with an error. All APIs in LLFIO which require the use of <code>current_path()</code> can be told to not use it e.g. <code>flag::disable_safety_unlinks</code>. It is up to you to detect if <code>current_path()</code> is not working, and to change how you call LLFIO appropriately.</p>
<dl class="section warning"><dt>Warning</dt><dd>This call is expensive, it always asks the kernel for the current path, and no checking is done to ensure what the kernel returns is accurate or even sensible. Be aware that despite these precautions, paths are unstable and <b>can change randomly at any moment</b>. Most code written to use absolute file systems paths is <b>racy</b>, so don't do it, use <code>path_handle</code> to fix a base location on the file system and work from that anchor instead!</dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>At least one malloc for the <code>path_type</code>, likely several more. </dd></dl>
@@ -680,7 +624,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; {</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; {</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; {</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; }</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; bytes += i.size();</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; }</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(reqs.offset, bytes, <span class="keyword">false</span>, d);</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
+<div class="fragment"><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; {</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; {</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; {</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; }</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; bytes += i.size();</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; }</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(reqs.offset, bytes, <span class="keyword">false</span>, d);</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -718,7 +662,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; {</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; {</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; {</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; }</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; bytes += i.size();</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; }</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(reqs.offset, bytes, <span class="keyword">true</span>, d);</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
+<div class="fragment"><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; {</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; {</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; {</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; }</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; bytes += i.size();</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; }</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(reqs.offset, bytes, <span class="keyword">true</span>, d);</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -748,10 +692,56 @@ For portability, you can only assume that barriers write order for a single hand
<p>The <em>maximum</em> number of buffers which a single read or write syscall can process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. </p>
<p>Note that the actual number of buffers accepted for a read or a write may be significantly lower than this system-defined limit, depending on available resources. The <code>read()</code> or <code>write()</code> call will return the buffers accepted.</p>
<p>Note also that some OSs will error out if you supply more than this limit to <code>read()</code> or <code>write()</code>, but other OSs do not. Some OSs guarantee that each i/o syscall has effects atomically visible or not to other i/o, other OSs do not.</p>
-<p>Microsoft Windows and OS X does not implement scatter-gather file i/o syscalls. Thus this function will always return <code>1</code> in that situation. </p>
+<p>OS X does not implement scatter-gather file i/o syscalls. Thus this function will always return <code>1</code> in that situation.</p>
+<p>Microsoft Windows <em>may</em> implement scatter-gather file i/o under very limited circumstances. Most of the time this function will return <code>1</code>. </p>
</div>
</div>
+<a id="ac5222904f116c9beb0515a4a5aa850bf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac5222904f116c9beb0515a4a5aa850bf">&#9670;&nbsp;</a></span>QUICKCPPLIB_BITFIELD_BEGIN()</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::handle::QUICKCPPLIB_BITFIELD_BEGIN </td>
+ <td>(</td>
+ <td class="paramtype">flag&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Bitwise flags which can be specified. </p>
+<p>&lt; No flags </p><pre class="fragment">Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed
+</pre><p> to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
+<p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
+<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
+<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers</p>
+<p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free.</dd></dl>
+<p>Ask the OS to disable prefetching of data. This can improve random i/o performance.</p>
+<p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance.</p>
+<p>&lt; See the documentation for <code>unlink_on_first_close</code> </p><pre class="fragment">Microsoft Windows NTFS, having been created in the late 1980s, did not originally
+</pre><p> implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
+<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
+<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening.</p>
+<p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag.</p>
+<p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off.</p>
+<p>&lt; On Windows, create any new handles with OVERLAPPED semantics</p>
+<p>&lt; Using insane POSIX byte range locks</p>
+<p>&lt; This is an inode created with no representation on the filing system </p>
+<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; overlapped = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div></div><!-- fragment -->
+</div>
+</div>
<a id="a5f7485307a0704aa1680e5785be2035d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f7485307a0704aa1680e5785be2035d">&#9670;&nbsp;</a></span>read()</h2>
@@ -871,7 +861,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(offset, bytes, exclusive, deadline(std::chrono::seconds(0))); }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
+<div class="fragment"><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(offset, bytes, exclusive, deadline(std::chrono::seconds(0))); }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -1013,7 +1003,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; {</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; const_buffer_type *_reqs = <span class="keyword">reinterpret_cast&lt;</span>const_buffer_type *<span class="keyword">&gt;</span>(alloca(<span class="keyword">sizeof</span>(const_buffer_type) * lst.size()));</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; io_request&lt;const_buffers_type&gt; reqs(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>(_reqs, lst.size()), offset);</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keyword">auto</span> ret = <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a>(reqs, d);</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keywordflow">if</span>(ret)</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; {</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">return</span> ret.bytes_transferred();</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; }</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keywordflow">return</span> std::move(ret).error();</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a693a8c64bb7de1a6835d6a151e37aa0e"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">llfio_v2_xxx::io_handle::const_buffers_type</a></div><div class="ttdeci">span&lt; const_buffer_type &gt; const_buffers_type</div><div class="ttdoc">The gather buffers type used by this handle. Guaranteed to be TrivialType apart from construction...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:165</div></div>
+<div class="fragment"><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; {</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; const_buffer_type *_reqs = <span class="keyword">reinterpret_cast&lt;</span>const_buffer_type *<span class="keyword">&gt;</span>(alloca(<span class="keyword">sizeof</span>(const_buffer_type) * lst.size()));</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; io_request&lt;const_buffers_type&gt; reqs(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>(_reqs, lst.size()), offset);</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keyword">auto</span> ret = <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a>(reqs, d);</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">if</span>(ret)</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; {</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <span class="keywordflow">return</span> ret.bytes_transferred();</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; }</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">return</span> std::move(ret).error();</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a693a8c64bb7de1a6835d6a151e37aa0e"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">llfio_v2_xxx::io_handle::const_buffers_type</a></div><div class="ttdeci">span&lt; const_buffer_type &gt; const_buffers_type</div><div class="ttdoc">The gather buffers type used by this handle. Guaranteed to be TrivialType apart from construction...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:188</div></div>
<div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a83884eca7b4cd09125a5cf8a155e6052"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">llfio_v2_xxx::io_handle::write</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle. </div></div>
</div><!-- fragment -->
</div>
diff --git a/classllfio__v2__xxx_1_1io__handle.js b/classllfio__v2__xxx_1_1io__handle.js
index bf31ea69..c5a55747 100644
--- a/classllfio__v2__xxx_1_1io__handle.js
+++ b/classllfio__v2__xxx_1_1io__handle.js
@@ -14,22 +14,11 @@ var classllfio__v2__xxx_1_1io__handle =
[ "mode", "classllfio__v2__xxx_1_1io__handle.html#ae2956bce00d899553c80f9de7f585984", null ],
[ "path_type", "classllfio__v2__xxx_1_1io__handle.html#a70374e65bae2e28bd94bffc0d73d1099", null ],
[ "size_type", "classllfio__v2__xxx_1_1io__handle.html#a3d1224d5941b8c70761b2dcc2ba31217", null ],
- [ "bitfield__flag", "classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2a", [
- [ "none", "classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298", null ],
- [ "none", "classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
- [ "none", "classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
- [ "unlink_on_first_close", "classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962", null ],
- [ "disable_safety_barriers", "classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d", null ],
- [ "disable_safety_unlinks", "classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b", null ],
- [ "disable_prefetching", "classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3", null ],
- [ "maximum_prefetching", "classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0", null ],
- [ "win_disable_unlink_emulation", "classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c", null ],
- [ "win_disable_sparse_file_creation", "classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0", null ],
- [ "disable_parallelism", "classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322", null ],
- [ "win_create_case_sensitive_directory", "classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681", null ],
- [ "overlapped", "classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a", null ],
- [ "byte_lock_insanity", "classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59", null ],
- [ "anonymous_inode", "classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d", null ]
+ [ "barrier_kind", "classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565", [
+ [ "nowait_data_only", "classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb", null ],
+ [ "wait_data_only", "classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce", null ],
+ [ "nowait_all", "classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1", null ],
+ [ "wait_all", "classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345", null ]
] ],
[ "io_handle", "classllfio__v2__xxx_1_1io__handle.html#ab4b195f6b8cee1ffd48e28545245c762", null ],
[ "~io_handle", "classllfio__v2__xxx_1_1io__handle.html#a7117e0e4327c09103c1f27a9363c8b24", null ],
@@ -40,7 +29,7 @@ var classllfio__v2__xxx_1_1io__handle =
[ "are_reads_from_cache", "classllfio__v2__xxx_1_1io__handle.html#a7126a726b2a06e4c1eca1a94c41163ff", null ],
[ "are_safety_barriers_issued", "classllfio__v2__xxx_1_1io__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1", null ],
[ "are_writes_durable", "classllfio__v2__xxx_1_1io__handle.html#a8036792f332459064172d7b0cfaee3cf", null ],
- [ "barrier", "classllfio__v2__xxx_1_1io__handle.html#aa3ec366f663f85fb4d679542b8c1b41a", null ],
+ [ "barrier", "classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f", null ],
[ "clone", "classllfio__v2__xxx_1_1io__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3", null ],
[ "close", "classllfio__v2__xxx_1_1io__handle.html#a62a75b1a4a24fbc9ad2e98a641167db6", null ],
[ "current_path", "classllfio__v2__xxx_1_1io__handle.html#a00a85eec5a41f7edb2c574d40cf04535", null ],
@@ -65,6 +54,8 @@ var classllfio__v2__xxx_1_1io__handle =
[ "native_handle", "classllfio__v2__xxx_1_1io__handle.html#a942b0d276c9f20fe41baab679b88fe72", null ],
[ "operator=", "classllfio__v2__xxx_1_1io__handle.html#a6098bb852a95257b513067cd300fc83f", null ],
[ "operator=", "classllfio__v2__xxx_1_1io__handle.html#a7e31726ff57b2eca62591209c17ad4a4", null ],
+ [ "QUICKCPPLIB_BITFIELD_BEGIN", "classllfio__v2__xxx_1_1io__handle.html#ac5222904f116c9beb0515a4a5aa850bf", null ],
+ [ "QUICKCPPLIB_BITFIELD_END", "classllfio__v2__xxx_1_1io__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4", null ],
[ "read", "classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d", null ],
[ "release", "classllfio__v2__xxx_1_1io__handle.html#a1d273e38c061eb11f5012f624e9a202e", null ],
[ "requires_aligned_io", "classllfio__v2__xxx_1_1io__handle.html#a751e912d8dab755ea969a418c1d544eb", null ],
diff --git a/classllfio__v2__xxx_1_1io__service.html b/classllfio__v2__xxx_1_1io__service.html
index 8f6a79d2..8e71aa64 100644
--- a/classllfio__v2__xxx_1_1io__service.html
+++ b/classllfio__v2__xxx_1_1io__service.html
@@ -201,7 +201,7 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>async_file_handle</b
<p>This service is used in conjunction with <code>async_file_handle</code> to multiplex initating i/o and completing it onto a single kernel thread. Unlike the <code>io_service</code> in ASIO or the Networking TS, this <code>io_service</code> is much simpler, in particular it is single threaded per instance only i.e. you must run a separate <code>io_service</code> instance one per kernel thread if you wish to run i/o processing across multiple threads. LLFIO does not do this for you (and for good reason, unlike socket i/o, it is generally unwise to distribute file i/o across kernel threads due to the much more code executable between user space and physical storage i.e. keeping processing per CPU core hot in cache delivers outsize benefits compared to socket i/o).</p>
<p>Furthermore, you cannot use this i/o service in any way from any thread other than where it was created. You cannot call its <code>run()</code> from any thread other than where it was created. And you cannot initiate i/o on an <code>async_file_handle</code> from any thread other than where its owning i/o service was created.</p>
<p>In other words, keep your i/o service and all associated file handles on their owning thread. The sole function you can call from another thread is <code>post()</code> which lets you execute some callback in the <code>run()</code> of the owning thread. This lets you schedule i/o from other threads if you really must do that.</p>
-<div class="fragment"><div class="line"> <span class="keyword">namespace </span><a class="code" href="namespacellfio__v2__xxx.html">llfio</a> = <a class="code" href="group__config.html#gac9f7f0153adb9034d26c4554728f817a">LLFIO_V2_NAMESPACE</a>;</div><div class="line"></div><div class="line"> <span class="comment">// Create an i/o service for this thread</span></div><div class="line"> <a class="code" href="classllfio__v2__xxx_1_1io__service.html">llfio::io_service</a> service;</div><div class="line"></div><div class="line"> <span class="comment">// Create an async file i/o handle attached to the i/o service for this thread</span></div><div class="line"> <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio::async_file_handle</a> h = <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#aa7511a8b300c448a5a0eeaea499e665e">llfio::async_file_handle::async_file</a>(service, {}, <span class="stringliteral">&quot;temp&quot;</span>, <a class="code" href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">llfio::file_handle::mode::write</a>, llfio::file_handle::creation::if_needed, llfio::file_handle::caching::only_metadata, llfio::file_handle::flag::unlink_on_first_close).value();</div><div class="line"></div><div class="line"> <span class="comment">// Truncate to 1Mb</span></div><div class="line"> h.<a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f">truncate</a>(1024 * 4096);</div><div class="line"></div><div class="line"> <span class="comment">// Launch 8 coroutines, each writing 4Kb of chars 0-8 to every 32Kb block</span></div><div class="line"> <span class="keyword">auto</span> coroutine = [&amp;h](<span class="keywordtype">size_t</span> no) -&gt; std::future&lt;void&gt; {</div><div class="line"> std::vector&lt;llfio::byte, llfio::utils::page_allocator&lt;llfio::byte&gt;&gt; buffer(4096);</div><div class="line"> memset(buffer.data(), (int) (<span class="charliteral">&#39;0&#39;</span> + no), 4096);</div><div class="line"> llfio::async_file_handle::const_buffer_type bt{buffer.data(), buffer.size()};</div><div class="line"> <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> n = 0; n &lt; 128; n++)</div><div class="line"> {</div><div class="line"> <span class="comment">// This will initiate the i/o, and suspend the coroutine until completion.</span></div><div class="line"> <span class="comment">// The caller will thus resume execution with a valid unsignaled future.</span></div><div class="line"> <span class="keyword">auto</span> written = co_await h.<a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#a3a7030863cef0cdc5646f18e76a43411">co_write</a>({bt, n * 32768 + no * 4096}).value();</div><div class="line"> written.value();</div><div class="line"> }</div><div class="line"> };</div><div class="line"> std::vector&lt;std::future&lt;void&gt;&gt; coroutines;</div><div class="line"> <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> n = 0; n &lt; 8; n++)</div><div class="line"> {</div><div class="line"> <span class="comment">// Construct each coroutine, initiating the i/o, then suspending.</span></div><div class="line"> coroutines.push_back(coroutine(n));</div><div class="line"> }</div><div class="line"> <span class="comment">// Pump the i/o, multiplexing the coroutines, until no more work remains.</span></div><div class="line"> <span class="keywordflow">while</span>(service.<a class="code" href="classllfio__v2__xxx_1_1io__service.html#a5719f4f0779047c202d7fb3cda0dcc28">run</a>().value())</div><div class="line"> ;</div><div class="line"> <span class="comment">// Make sure nothing went wrong by fetching the futures.</span></div><div class="line"> <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : coroutines)</div><div class="line"> {</div><div class="line"> i.get();</div><div class="line"> }</div></div><!-- fragment --></div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<div class="fragment"><div class="line"> <span class="keyword">namespace </span><a class="code" href="namespacellfio__v2__xxx.html">llfio</a> = <a class="code" href="group__config.html#gac9f7f0153adb9034d26c4554728f817a">LLFIO_V2_NAMESPACE</a>;</div><div class="line"></div><div class="line"> <span class="comment">// Create an i/o service for this thread</span></div><div class="line"> <a class="code" href="classllfio__v2__xxx_1_1io__service.html">llfio::io_service</a> service;</div><div class="line"></div><div class="line"> <span class="comment">// Create an async file i/o handle attached to the i/o service for this thread</span></div><div class="line"> <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html">llfio::async_file_handle</a> h = <a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#aa7511a8b300c448a5a0eeaea499e665e">llfio::async_file_handle::async_file</a>(service, {}, <span class="stringliteral">&quot;temp&quot;</span>, <a class="code" href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">llfio::file_handle::mode::write</a>, llfio::file_handle::creation::if_needed, llfio::file_handle::caching::only_metadata, llfio::file_handle::flag::unlink_on_first_close).value();</div><div class="line"></div><div class="line"> <span class="comment">// Truncate to 1Mb</span></div><div class="line"> (void) h.<a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f">truncate</a>(1024 * 4096);</div><div class="line"></div><div class="line"> <span class="comment">// Launch 8 coroutines, each writing 4Kb of chars 0-8 to every 32Kb block</span></div><div class="line"> <span class="keyword">auto</span> coroutine = [&amp;h](<span class="keywordtype">size_t</span> no) -&gt; llfio::eager&lt;void&gt; {</div><div class="line"> std::vector&lt;llfio::byte, llfio::utils::page_allocator&lt;llfio::byte&gt;&gt; buffer(4096);</div><div class="line"> memset(buffer.data(), (int) (<span class="charliteral">&#39;0&#39;</span> + no), 4096);</div><div class="line"> llfio::async_file_handle::const_buffer_type bt{buffer.data(), buffer.size()};</div><div class="line"> <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> n = 0; n &lt; 128; n++)</div><div class="line"> {</div><div class="line"> <span class="comment">// This will initiate the i/o, and suspend the coroutine until completion.</span></div><div class="line"> <span class="comment">// The caller will thus resume execution with a valid unsignaled future.</span></div><div class="line"> <span class="keyword">auto</span> written = co_await h.<a class="code" href="classllfio__v2__xxx_1_1async__file__handle.html#a3a7030863cef0cdc5646f18e76a43411">co_write</a>({bt, n * 32768 + no * 4096}).value();</div><div class="line"> written.value();</div><div class="line"> }</div><div class="line"> };</div><div class="line"> std::vector&lt;llfio::eager&lt;void&gt;&gt; coroutines;</div><div class="line"> <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> n = 0; n &lt; 8; n++)</div><div class="line"> {</div><div class="line"> <span class="comment">// Construct each coroutine, initiating the i/o, then suspending.</span></div><div class="line"> coroutines.push_back(coroutine(n));</div><div class="line"> }</div><div class="line"> <span class="comment">// Pump the i/o, multiplexing the coroutines, until no more work remains.</span></div><div class="line"> <span class="keywordflow">while</span>(service.<a class="code" href="classllfio__v2__xxx_1_1io__service.html#a5719f4f0779047c202d7fb3cda0dcc28">run</a>().value())</div><div class="line"> ;</div></div><!-- fragment --></div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a6a00c11cd49640dffc2bae95f13b6835"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6a00c11cd49640dffc2bae95f13b6835">&#9670;&nbsp;</a></span>io_service()</h2>
@@ -282,7 +282,7 @@ template&lt;class U &gt; </div>
</table>
</div><div class="memdoc">
<p>Schedule the callable to be invoked by the thread owning this object and executing <code>run()</code> at its next available opportunity. Unlike any other function in this API layer, this function is thread safe. </p>
-<div class="fragment"><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;{ _post(detail::make_function_ptr&lt;<span class="keywordtype">void</span>(<a class="code" href="classllfio__v2__xxx_1_1io__service.html#a6a00c11cd49640dffc2bae95f13b6835">io_service</a> *)&gt;(std::forward&lt;U&gt;(f))); }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__service_html_a6a00c11cd49640dffc2bae95f13b6835"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__service.html#a6a00c11cd49640dffc2bae95f13b6835">llfio_v2_xxx::io_service::io_service</a></div><div class="ttdeci">io_service()</div></div>
+<div class="fragment"><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;{ _post(detail::make_function_ptr&lt;<span class="keywordtype">void</span>(<a class="code" href="classllfio__v2__xxx_1_1io__service.html#a6a00c11cd49640dffc2bae95f13b6835">io_service</a> *)&gt;(std::forward&lt;U&gt;(f))); }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__service_html_a6a00c11cd49640dffc2bae95f13b6835"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__service.html#a6a00c11cd49640dffc2bae95f13b6835">llfio_v2_xxx::io_service::io_service</a></div><div class="ttdeci">io_service()</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -309,7 +309,7 @@ template&lt;class U &gt; </div>
</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>
-<div class="fragment"><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__service.html#a528acb1c8ec8caa06fc084962f974106">run_until</a>(deadline()); }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__service_html_a528acb1c8ec8caa06fc084962f974106"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__service.html#a528acb1c8ec8caa06fc084962f974106">llfio_v2_xxx::io_service::run_until</a></div><div class="ttdeci">virtual result&lt; bool &gt; run_until(deadline d) noexcept</div></div>
+<div class="fragment"><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__service.html#a528acb1c8ec8caa06fc084962f974106">run_until</a>(deadline()); }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__service_html_a528acb1c8ec8caa06fc084962f974106"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__service.html#a528acb1c8ec8caa06fc084962f974106">llfio_v2_xxx::io_service::run_until</a></div><div class="ttdeci">virtual result&lt; bool &gt; run_until(deadline d) noexcept</div></div>
</div><!-- fragment -->
</div>
</div>
diff --git a/classllfio__v2__xxx_1_1map__handle-members.html b/classllfio__v2__xxx_1_1map__handle-members.html
index d0a38a43..a9bbe9a2 100644
--- a/classllfio__v2__xxx_1_1map__handle-members.html
+++ b/classllfio__v2__xxx_1_1map__handle-members.html
@@ -98,16 +98,14 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1map__handle.htm
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_section</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a7456b95e191ec373af61af6541dd4737">address</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>barrier</b>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), bool wait_for_device=false, bool and_metadata=false, deadline d=deadline()) noexcept override (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3ec366f663f85fb4d679542b8c1b41a">llfio_v2_xxx::io_handle::barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), bool wait_for_device=false, bool and_metadata=false, deadline d=deadline()) noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">bitfield__flag</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>buffers_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>barrier</b>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept override (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f">llfio_v2_xxx::io_handle::barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>buffers_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>caching</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ac7d048f830c0b2563fb4b50eb0597152">capacity</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
@@ -118,10 +116,6 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1map__handle.htm
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>creation</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a518ff43602ac8e32ae48a198d0de1d75">decommit</a>(buffer_type region) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a3efb39f1b54a7c156a3e0ee2a953712d">do_not_store</a>(buffer_type region) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>extent_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>flag</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"></td></tr>
@@ -163,10 +157,8 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1map__handle.htm
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#aa3225a2ee86b12e6099d15a2a87b99b4">map_handle</a>(const map_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mapped_file_handle</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ade38a6d55a4eda3c6d5e196683b129a7">max_buffers</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>mode</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mode</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a9b65f62129418d02a925e6ef56220198">offset</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a22cfe5a7c6868d0952fde18f62f71195">operator=</a>(map_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a01dcb36c0a955692e016a90656a6ceb2">operator=</a>(const map_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"></td></tr>
@@ -174,36 +166,33 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1map__handle.htm
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7e31726ff57b2eca62591209c17ad4a4">llfio_v2_xxx::io_handle::operator=</a>(const io_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle::operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a7224b586e457183ebcb0a694e282d0fc">page_size</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a25dcce3a7127c5552687c540c37b9f27">prefetch</a>(span&lt; buffer_type &gt; regions) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#af047e43f418d68c618fab258b733302d">prefetch</a>(buffer_type region) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a073cdca57e3e3718d2eb285be51d5c92">read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d">llfio_v2_xxx::io_handle::read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a06cfd3521ff08782a848821951510f11">release</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a173539843aebd387bb8ca06246067ead">section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a7a27e949d3333a75e96f5d979e2d6bbf">set_section</a>(section_handle *s) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a2049c6f936df05dd539919f947355506">swap</a>(map_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::io_handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a1fb1c874bdab5540c3310e468e41325a">truncate</a>(size_type newsize, bool permit_relocation=false) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae1abb705dbe9890e103365bf7c61521e">try_lock</a>(extent_type offset, extent_type bytes, bool exclusive=true) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a7224b586e457183ebcb0a694e282d0fc">page_size</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a25dcce3a7127c5552687c540c37b9f27">prefetch</a>(span&lt; buffer_type &gt; regions) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#af047e43f418d68c618fab258b733302d">prefetch</a>(buffer_type region) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a073cdca57e3e3718d2eb285be51d5c92">read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d">llfio_v2_xxx::io_handle::read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a06cfd3521ff08782a848821951510f11">release</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a173539843aebd387bb8ca06246067ead">section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a7a27e949d3333a75e96f5d979e2d6bbf">set_section</a>(section_handle *s) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a2049c6f936df05dd539919f947355506">swap</a>(map_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::io_handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a1fb1c874bdab5540c3310e468e41325a">truncate</a>(size_type newsize, bool permit_relocation=false) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae1abb705dbe9890e103365bf7c61521e">try_lock</a>(extent_type offset, extent_type bytes, bool exclusive=true) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ad720c4c7f350fe06291534d1cbf2feb5">unlock</a>(extent_type offset, extent_type bytes) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ac7aeb0aa6182a22d0242340eb6d341b9">update_map</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a90afda5433656ed35a5814e048cc1f1b">write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">llfio_v2_xxx::io_handle::write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">llfio_v2_xxx::io_handle::write</a>(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f">zero_memory</a>(buffer_type region) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>~io_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~map_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a90afda5433656ed35a5814e048cc1f1b">write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">llfio_v2_xxx::io_handle::write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">llfio_v2_xxx::io_handle::write</a>(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f">zero_memory</a>(buffer_type region) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~io_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~map_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html">llfio_v2_xxx::map_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
diff --git a/classllfio__v2__xxx_1_1map__handle.html b/classllfio__v2__xxx_1_1map__handle.html
index f311d6f8..3a43a31e 100644
--- a/classllfio__v2__xxx_1_1map__handle.html
+++ b/classllfio__v2__xxx_1_1map__handle.html
@@ -148,32 +148,16 @@ template&lt;class T &gt; </td></tr>
template&lt;class T &gt; </td></tr>
<tr class="memitem:ab814c4ba9fb6486c21f701a00691df2f"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_result</b> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_handle::io_result</a>&lt; T &gt;</td></tr>
<tr class="separator:ab814c4ba9fb6486c21f701a00691df2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7816bb7ae5156fa2997b68e6300ae565"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> { <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>,
+<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce">barrier_kind::wait_data_only</a>,
+<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1">barrier_kind::nowait_all</a>,
+<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345">barrier_kind::wait_all</a>
+ }<tr class="memdesc:a7816bb7ae5156fa2997b68e6300ae565"><td class="mdescLeft">&#160;</td><td class="mdescRight">The kinds of write reordering barrier which can be performed. <a href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">More...</a><br /></td></tr>
+</td></tr>
+<tr class="separator:a7816bb7ae5156fa2997b68e6300ae565"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70374e65bae2e28bd94bffc0d73d1099"><td class="memItemLeft" align="right" valign="top"><a id="a70374e65bae2e28bd94bffc0d73d1099"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>path_type</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">handle::path_type</a></td></tr>
<tr class="separator:a70374e65bae2e28bd94bffc0d73d1099"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5929f46f42112bd805ab5001bfbf9d2a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">bitfield__flag</a> : unsigned { <br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> = 0,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">none</a> = 2,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">none</a> = 1,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> = 1U &lt;&lt; 0U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> = 1U &lt;&lt; 2U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> = 1U &lt;&lt; 3U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> = 1U &lt;&lt; 4U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> = 1U &lt;&lt; 5U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> = 1U &lt;&lt; 24U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> = 1U &lt;&lt; 25U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> = 1U &lt;&lt; 26U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> = 1U &lt;&lt; 27U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> = 1U &lt;&lt; 28U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> = 1U &lt;&lt; 29U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> = 1U &lt;&lt; 30U
-<br />
- }<tr class="memdesc:a5929f46f42112bd805ab5001bfbf9d2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">More...</a><br /></td></tr>
-</td></tr>
-<tr class="separator:a5929f46f42112bd805ab5001bfbf9d2a"><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>
@@ -209,9 +193,9 @@ virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom">
virtual <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a06cfd3521ff08782a848821951510f11">release</a> () noexcept override</td></tr>
<tr class="memdesc:a06cfd3521ff08782a848821951510f11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases the mapped view, but does NOT release the native handle. <br /></td></tr>
<tr class="separator:a06cfd3521ff08782a848821951510f11"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab9fb41b19bd14bba06e3df8f41e9087d"><td class="memItemLeft" align="right" valign="top"><a id="ab9fb41b19bd14bba06e3df8f41e9087d"></a>
-virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>barrier</b> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;(), bool wait_for_device=false, bool and_metadata=false, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
-<tr class="separator:ab9fb41b19bd14bba06e3df8f41e9087d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab0aa8cab289373bace4c576465fe7e3d"><td class="memItemLeft" align="right" valign="top"><a id="ab0aa8cab289373bace4c576465fe7e3d"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>barrier</b> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
+<tr class="separator:ab0aa8cab289373bace4c576465fe7e3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a173539843aebd387bb8ca06246067ead"><td class="memItemLeft" align="right" valign="top"><a id="a173539843aebd387bb8ca06246067ead"></a>
<a class="el" href="classllfio__v2__xxx_1_1section__handle.html">section_handle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a173539843aebd387bb8ca06246067ead">section</a> () const noexcept</td></tr>
<tr class="memdesc:a173539843aebd387bb8ca06246067ead"><td class="mdescLeft">&#160;</td><td class="mdescRight">The memory section this handle is using. <br /></td></tr>
@@ -279,9 +263,9 @@ result&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__typ
<tr class="separator:a83884eca7b4cd09125a5cf8a155e6052"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab500784aa806dc7c2d90028d2f72de57"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">write</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a9b65f62129418d02a925e6ef56220198">offset</a>, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">const_buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
<tr class="separator:ab500784aa806dc7c2d90028d2f72de57"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa3ec366f663f85fb4d679542b8c1b41a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3ec366f663f85fb4d679542b8c1b41a">barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;(), bool wait_for_device=false, bool and_metadata=false, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept=0</td></tr>
-<tr class="memdesc:aa3ec366f663f85fb4d679542b8c1b41a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier. <a href="#aa3ec366f663f85fb4d679542b8c1b41a">More...</a><br /></td></tr>
-<tr class="separator:aa3ec366f663f85fb4d679542b8c1b41a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a823391cea8818da742c0d4c573f7300f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f">barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a> &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept=0</td></tr>
+<tr class="memdesc:a823391cea8818da742c0d4c573f7300f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier. <a href="#a823391cea8818da742c0d4c573f7300f">More...</a><br /></td></tr>
+<tr class="separator:a823391cea8818da742c0d4c573f7300f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29cc9f2525f78dd73f8402cb59d97212"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html">extent_guard</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a9b65f62129418d02a925e6ef56220198">offset</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> bytes, bool exclusive=true, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
<tr class="memdesc:a29cc9f2525f78dd73f8402cb59d97212"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes through the same semantics as the underlying OS call, including any POSIX insanity present on your platform: <a href="#a29cc9f2525f78dd73f8402cb59d97212">More...</a><br /></td></tr>
<tr class="separator:a29cc9f2525f78dd73f8402cb59d97212"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -294,6 +278,12 @@ result&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__typ
<tr class="memitem:ad720c4c7f350fe06291534d1cbf2feb5"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ad720c4c7f350fe06291534d1cbf2feb5">unlock</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a9b65f62129418d02a925e6ef56220198">offset</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">extent_type</a> bytes) noexcept</td></tr>
<tr class="memdesc:ad720c4c7f350fe06291534d1cbf2feb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlocks a byte range previously locked. <a href="#ad720c4c7f350fe06291534d1cbf2feb5">More...</a><br /></td></tr>
<tr class="separator:ad720c4c7f350fe06291534d1cbf2feb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5222904f116c9beb0515a4a5aa850bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a> (flag)</td></tr>
+<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
+<tr class="separator:ac5222904f116c9beb0515a4a5aa850bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memItemLeft" align="right" valign="top"><a id="aa7e9bedf8c7a4c4a79a644a6e1857ee4"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>QUICKCPPLIB_BITFIELD_END</b> (flag)</td></tr>
+<tr class="separator:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4716696b8700953889006251e0678aa4"><td class="memItemLeft" align="right" valign="top"><a id="a4716696b8700953889006251e0678aa4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;o) noexcept</td></tr>
<tr class="memdesc:a4716696b8700953889006251e0678aa4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
@@ -424,7 +414,7 @@ byte *&#160;</td><td class="memItemRight" valign="bottom"><b>_addr</b> {nullptr}
section_handle::flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flag</b> {section_handle::flag::none}</td></tr>
<tr class="separator:a68216d4c582fc817fa86229dce397146"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:affb091ded80ffde7c0c3854e2abc52fd"><td class="memItemLeft" align="right" valign="top"><a id="affb091ded80ffde7c0c3854e2abc52fd"></a>
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
<tr class="separator:affb091ded80ffde7c0c3854e2abc52fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
@@ -465,8 +455,8 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>mapped_file_handle</
<p>MacOS only supports large pages for memory allocations, not for mapping files. It fails if large pages could not be used when a large page allocation was requested.</p>
<dl class="section see"><dt>See also</dt><dd><code>mapped_file_handle</code>, <code>algorithm::mapped_span</code> </dd></dl>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
-<a id="a5929f46f42112bd805ab5001bfbf9d2a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5929f46f42112bd805ab5001bfbf9d2a">&#9670;&nbsp;</a></span>bitfield__flag</h2>
+<a id="a7816bb7ae5156fa2997b68e6300ae565"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7816bb7ae5156fa2997b68e6300ae565">&#9670;&nbsp;</a></span>barrier_kind</h2>
<div class="memitem">
<div class="memproto">
@@ -475,72 +465,33 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>mapped_file_handle</
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">llfio_v2_xxx::handle::bitfield__flag</a> : unsigned</td>
+ <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">llfio_v2_xxx::io_handle::barrier_kind</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">strong</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Bitwise flags which can be specified. </p>
+<p>The kinds of write reordering barrier which can be performed. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298"></a>none&#160;</td><td class="fielddoc"><p>No flags. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No ability to read or write anything, but can synchronise (SYNCHRONIZE or 0) </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No caching whatsoever, all reads and writes come from storage (i.e. <code>O_DIRECT|O_SYNC</code>). Align all i/o to 4Kb boundaries for this to work. <code>disable_safety_barriers</code> can be used here. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962"></a>unlink_on_first_close&#160;</td><td class="fielddoc"><p>Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d"></a>disable_safety_barriers&#160;</td><td class="fielddoc"><p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
-<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
-<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b"></a>disable_safety_unlinks&#160;</td><td class="fielddoc"><p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free. </dd></dl>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3"></a>disable_prefetching&#160;</td><td class="fielddoc"><p>Ask the OS to disable prefetching of data. This can improve random i/o performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0"></a>maximum_prefetching&#160;</td><td class="fielddoc"><p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c"></a>win_disable_unlink_emulation&#160;</td><td class="fielddoc"><p>See the documentation for <code>unlink_on_first_close</code> </p>
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb"></a>nowait_data_only&#160;</td><td class="fielddoc"><p>Barrier data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using <code>nvram_barrier()</code> for even better performance. </p>
</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0"></a>win_disable_sparse_file_creation&#160;</td><td class="fielddoc"><p>Microsoft Windows NTFS, having been created in the late 1980s, did not originally implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
-<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
-<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322"></a>disable_parallelism&#160;</td><td class="fielddoc"><p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681"></a>win_create_case_sensitive_directory&#160;</td><td class="fielddoc"><p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off. </p>
+<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce"></a>wait_data_only&#160;</td><td class="fielddoc"><p>Barrier data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using <code>nvram_barrier()</code> for even better performance. </p>
</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a"></a>overlapped&#160;</td><td class="fielddoc"><p>On Windows, create any new handles with OVERLAPPED semantics. </p>
+<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1"></a>nowait_all&#160;</td><td class="fielddoc"><p>Barrier data and the metadata to retrieve it, non-blocking. </p>
</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59"></a>byte_lock_insanity&#160;</td><td class="fielddoc"><p>Using insane POSIX byte range locks. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d"></a>anonymous_inode&#160;</td><td class="fielddoc"><p>This is an inode created with no representation on the filing system. </p>
+<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345"></a>wait_all&#160;</td><td class="fielddoc"><p>Barrier data and the metadata to retrieve it, block until it is done. </p>
</td></tr>
</table>
-<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div><div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">llfio_v2_xxx::handle::win_create_case_sensitive_directory</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:176</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">llfio_v2_xxx::handle::anonymous_inode</a></div><div class="ttdoc">This is an inode created with no representation on the filing system. </div><div class="ttdef"><b>Definition:</b> handle.hpp:182</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">llfio_v2_xxx::handle::disable_safety_unlinks</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:137</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">llfio_v2_xxx::handle::disable_parallelism</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:170</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">llfio_v2_xxx::handle::none</a></div><div class="ttdoc">No flags. </div><div class="ttdef"><b>Definition:</b> handle.hpp:99</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">llfio_v2_xxx::handle::maximum_prefetching</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:145</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">llfio_v2_xxx::handle::overlapped</a></div><div class="ttdoc">On Windows, create any new handles with OVERLAPPED semantics. </div><div class="ttdef"><b>Definition:</b> handle.hpp:180</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">llfio_v2_xxx::handle::disable_prefetching</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:141</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">llfio_v2_xxx::handle::byte_lock_insanity</a></div><div class="ttdoc">Using insane POSIX byte range locks. </div><div class="ttdef"><b>Definition:</b> handle.hpp:181</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">llfio_v2_xxx::handle::unlink_on_first_close</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:109</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">llfio_v2_xxx::handle::win_disable_unlink_emulation</a></div><div class="ttdoc">See the documentation for unlink_on_first_close </div><div class="ttdef"><b>Definition:</b> handle.hpp:147</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">llfio_v2_xxx::handle::disable_safety_barriers</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:128</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">llfio_v2_xxx::handle::win_disable_sparse_file_creation</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:163</div></div>
-</div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; {</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; nowait_data_only, <span class="comment">//!&lt; Barrier data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using `nvram_barrier()` for even better performance.</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment"></span> wait_data_only, <span class="comment">//!&lt; Barrier data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using `nvram_barrier()` for even better performance.</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"></span> nowait_all, <span class="comment">//!&lt; Barrier data and the metadata to retrieve it, non-blocking.</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"></span> wait_all <span class="comment">//!&lt; Barrier data and the metadata to retrieve it, block until it is done.</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"></span> };</div></div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
-<a id="aa3ec366f663f85fb4d679542b8c1b41a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa3ec366f663f85fb4d679542b8c1b41a">&#9670;&nbsp;</a></span>barrier()</h2>
+<a id="a823391cea8818da742c0d4c573f7300f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a823391cea8818da742c0d4c573f7300f">&#9670;&nbsp;</a></span>barrier()</h2>
<div class="memitem">
<div class="memproto">
@@ -557,14 +508,8 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>mapped_file_handle</
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">bool&#160;</td>
- <td class="paramname"><em>wait_for_device</em> = <code>false</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&#160;</td>
- <td class="paramname"><em>and_metadata</em> = <code>false</code>, </td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a>&#160;</td>
+ <td class="paramname"><em>kind</em> = <code><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -595,8 +540,7 @@ For portability, you can only assume that barriers write order for a single hand
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">reqs</td><td>A scatter-gather and offset request for what range to barrier. May be ignored on some platforms which always write barrier the entire file. Supplying a default initialised reqs write barriers the entire file. </td></tr>
- <tr><td class="paramname">wait_for_device</td><td>True if you want the call to wait until data reaches storage and that storage has acknowledged the data is physically written. Slow. </td></tr>
- <tr><td class="paramname">and_metadata</td><td>True if you want the call to sync the metadata for retrieving the writes before the barrier after a sudden power loss event. Slow. Setting this to false enables much faster performance, especially on non-volatile memory. </td></tr>
+ <tr><td class="paramname">kind</td><td>Which kind of write reordering barrier to perform. </td></tr>
<tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
</table>
</dd>
@@ -656,7 +600,7 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</div><div class="memdoc">
<p>Returns the current path of the open handle as said by the operating system. Note that you are NOT guaranteed that any path refreshed bears any resemblance to the original, some operating systems will return some different path which still reaches the same inode via some other route e.g. hardlinks, dereferenced symbolic links, etc. Windows and Linux correctly track changes to the specific path the handle was opened with, not getting confused by other hard links. MacOS nearly gets it right, but under some circumstances e.g. renaming may switch to a different hard link's path which is almost certainly a bug.</p>
-<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::stablized_path&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
+<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
<p>On Linux if <code>/proc</code> is not mounted, this call fails with an error. All APIs in LLFIO which require the use of <code>current_path()</code> can be told to not use it e.g. <code>flag::disable_safety_unlinks</code>. It is up to you to detect if <code>current_path()</code> is not working, and to change how you call LLFIO appropriately.</p>
<dl class="section warning"><dt>Warning</dt><dd>This call is expensive, it always asks the kernel for the current path, and no checking is done to ensure what the kernel returns is accurate or even sensible. Be aware that despite these precautions, paths are unstable and <b>can change randomly at any moment</b>. Most code written to use absolute file systems paths is <b>racy</b>, so don't do it, use <code>path_handle</code> to fix a base location on the file system and work from that anchor instead!</dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>At least one malloc for the <code>path_type</code>, likely several more. </dd></dl>
@@ -799,7 +743,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; {</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; {</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; {</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; }</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; bytes += i.size();</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; }</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(reqs.offset, bytes, <span class="keyword">false</span>, d);</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
+<div class="fragment"><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; {</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; {</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; {</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; }</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; bytes += i.size();</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; }</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(reqs.offset, bytes, <span class="keyword">false</span>, d);</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -837,7 +781,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; {</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; {</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; {</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; }</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; bytes += i.size();</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; }</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(reqs.offset, bytes, <span class="keyword">true</span>, d);</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
+<div class="fragment"><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; {</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; {</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; {</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; }</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; bytes += i.size();</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; }</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(reqs.offset, bytes, <span class="keyword">true</span>, d);</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -977,7 +921,8 @@ For portability, you can only assume that barriers write order for a single hand
<p>The <em>maximum</em> number of buffers which a single read or write syscall can process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. </p>
<p>Note that the actual number of buffers accepted for a read or a write may be significantly lower than this system-defined limit, depending on available resources. The <code>read()</code> or <code>write()</code> call will return the buffers accepted.</p>
<p>Note also that some OSs will error out if you supply more than this limit to <code>read()</code> or <code>write()</code>, but other OSs do not. Some OSs guarantee that each i/o syscall has effects atomically visible or not to other i/o, other OSs do not.</p>
-<p>Microsoft Windows and OS X does not implement scatter-gather file i/o syscalls. Thus this function will always return <code>1</code> in that situation. </p>
+<p>OS X does not implement scatter-gather file i/o syscalls. Thus this function will always return <code>1</code> in that situation.</p>
+<p>Microsoft Windows <em>may</em> implement scatter-gather file i/o under very limited circumstances. Most of the time this function will return <code>1</code>. </p>
</div>
</div>
@@ -1009,6 +954,51 @@ For portability, you can only assume that barriers write order for a single hand
</div><!-- fragment -->
</div>
</div>
+<a id="ac5222904f116c9beb0515a4a5aa850bf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac5222904f116c9beb0515a4a5aa850bf">&#9670;&nbsp;</a></span>QUICKCPPLIB_BITFIELD_BEGIN()</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::handle::QUICKCPPLIB_BITFIELD_BEGIN </td>
+ <td>(</td>
+ <td class="paramtype">flag&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Bitwise flags which can be specified. </p>
+<p>&lt; No flags </p><pre class="fragment">Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed
+</pre><p> to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
+<p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
+<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
+<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers</p>
+<p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free.</dd></dl>
+<p>Ask the OS to disable prefetching of data. This can improve random i/o performance.</p>
+<p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance.</p>
+<p>&lt; See the documentation for <code>unlink_on_first_close</code> </p><pre class="fragment">Microsoft Windows NTFS, having been created in the late 1980s, did not originally
+</pre><p> implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
+<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
+<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening.</p>
+<p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag.</p>
+<p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off.</p>
+<p>&lt; On Windows, create any new handles with OVERLAPPED semantics</p>
+<p>&lt; Using insane POSIX byte range locks</p>
+<p>&lt; This is an inode created with no representation on the filing system </p>
+<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; overlapped = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div></div><!-- fragment -->
+</div>
+</div>
<a id="a5f7485307a0704aa1680e5785be2035d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f7485307a0704aa1680e5785be2035d">&#9670;&nbsp;</a></span>read() <span class="overload">[1/2]</span></h2>
@@ -1226,7 +1216,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(offset, bytes, exclusive, deadline(std::chrono::seconds(0))); }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
+<div class="fragment"><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(offset, bytes, exclusive, deadline(std::chrono::seconds(0))); }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -1368,7 +1358,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; {</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; const_buffer_type *_reqs = <span class="keyword">reinterpret_cast&lt;</span>const_buffer_type *<span class="keyword">&gt;</span>(alloca(<span class="keyword">sizeof</span>(const_buffer_type) * lst.size()));</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; io_request&lt;const_buffers_type&gt; reqs(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>(_reqs, lst.size()), offset);</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keyword">auto</span> ret = <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a>(reqs, d);</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keywordflow">if</span>(ret)</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; {</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">return</span> ret.bytes_transferred();</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; }</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keywordflow">return</span> std::move(ret).error();</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a693a8c64bb7de1a6835d6a151e37aa0e"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">llfio_v2_xxx::io_handle::const_buffers_type</a></div><div class="ttdeci">span&lt; const_buffer_type &gt; const_buffers_type</div><div class="ttdoc">The gather buffers type used by this handle. Guaranteed to be TrivialType apart from construction...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:165</div></div>
+<div class="fragment"><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; {</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; const_buffer_type *_reqs = <span class="keyword">reinterpret_cast&lt;</span>const_buffer_type *<span class="keyword">&gt;</span>(alloca(<span class="keyword">sizeof</span>(const_buffer_type) * lst.size()));</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; io_request&lt;const_buffers_type&gt; reqs(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>(_reqs, lst.size()), offset);</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keyword">auto</span> ret = <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a>(reqs, d);</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">if</span>(ret)</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; {</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <span class="keywordflow">return</span> ret.bytes_transferred();</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; }</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">return</span> std::move(ret).error();</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a693a8c64bb7de1a6835d6a151e37aa0e"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">llfio_v2_xxx::io_handle::const_buffers_type</a></div><div class="ttdeci">span&lt; const_buffer_type &gt; const_buffers_type</div><div class="ttdoc">The gather buffers type used by this handle. Guaranteed to be TrivialType apart from construction...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:188</div></div>
<div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a83884eca7b4cd09125a5cf8a155e6052"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">llfio_v2_xxx::io_handle::write</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle. </div></div>
</div><!-- fragment -->
</div>
diff --git a/classllfio__v2__xxx_1_1map__handle.js b/classllfio__v2__xxx_1_1map__handle.js
index 7279b098..c26bd94b 100644
--- a/classllfio__v2__xxx_1_1map__handle.js
+++ b/classllfio__v2__xxx_1_1map__handle.js
@@ -13,22 +13,11 @@ var classllfio__v2__xxx_1_1map__handle =
[ "mode", "classllfio__v2__xxx_1_1map__handle.html#a936a1df99ed13959c716f434fec642a0", null ],
[ "path_type", "classllfio__v2__xxx_1_1map__handle.html#a70374e65bae2e28bd94bffc0d73d1099", null ],
[ "size_type", "classllfio__v2__xxx_1_1map__handle.html#addcc662f728bb854dc83d7fbbbef7f19", null ],
- [ "bitfield__flag", "classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2a", [
- [ "none", "classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298", null ],
- [ "none", "classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
- [ "none", "classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
- [ "unlink_on_first_close", "classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962", null ],
- [ "disable_safety_barriers", "classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d", null ],
- [ "disable_safety_unlinks", "classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b", null ],
- [ "disable_prefetching", "classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3", null ],
- [ "maximum_prefetching", "classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0", null ],
- [ "win_disable_unlink_emulation", "classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c", null ],
- [ "win_disable_sparse_file_creation", "classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0", null ],
- [ "disable_parallelism", "classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322", null ],
- [ "win_create_case_sensitive_directory", "classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681", null ],
- [ "overlapped", "classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a", null ],
- [ "byte_lock_insanity", "classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59", null ],
- [ "anonymous_inode", "classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d", null ]
+ [ "barrier_kind", "classllfio__v2__xxx_1_1map__handle.html#a7816bb7ae5156fa2997b68e6300ae565", [
+ [ "nowait_data_only", "classllfio__v2__xxx_1_1map__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb", null ],
+ [ "wait_data_only", "classllfio__v2__xxx_1_1map__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce", null ],
+ [ "nowait_all", "classllfio__v2__xxx_1_1map__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1", null ],
+ [ "wait_all", "classllfio__v2__xxx_1_1map__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345", null ]
] ],
[ "map_handle", "classllfio__v2__xxx_1_1map__handle.html#aa954d9b40b2685bbc8a229e3907c297d", null ],
[ "map_handle", "classllfio__v2__xxx_1_1map__handle.html#a9c69e0d3f3fa2c213bdd4deabc6c2279", null ],
@@ -39,8 +28,8 @@ var classllfio__v2__xxx_1_1map__handle =
[ "are_reads_from_cache", "classllfio__v2__xxx_1_1map__handle.html#a7126a726b2a06e4c1eca1a94c41163ff", null ],
[ "are_safety_barriers_issued", "classllfio__v2__xxx_1_1map__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1", null ],
[ "are_writes_durable", "classllfio__v2__xxx_1_1map__handle.html#a8036792f332459064172d7b0cfaee3cf", null ],
- [ "barrier", "classllfio__v2__xxx_1_1map__handle.html#aa3ec366f663f85fb4d679542b8c1b41a", null ],
- [ "barrier", "classllfio__v2__xxx_1_1map__handle.html#ab9fb41b19bd14bba06e3df8f41e9087d", null ],
+ [ "barrier", "classllfio__v2__xxx_1_1map__handle.html#a823391cea8818da742c0d4c573f7300f", null ],
+ [ "barrier", "classllfio__v2__xxx_1_1map__handle.html#ab0aa8cab289373bace4c576465fe7e3d", null ],
[ "capacity", "classllfio__v2__xxx_1_1map__handle.html#ac7d048f830c0b2563fb4b50eb0597152", null ],
[ "clone", "classllfio__v2__xxx_1_1map__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3", null ],
[ "close", "classllfio__v2__xxx_1_1map__handle.html#ab6704788ecc652589c3e155f47b40a5e", null ],
@@ -73,6 +62,8 @@ var classllfio__v2__xxx_1_1map__handle =
[ "operator=", "classllfio__v2__xxx_1_1map__handle.html#a22cfe5a7c6868d0952fde18f62f71195", null ],
[ "operator=", "classllfio__v2__xxx_1_1map__handle.html#a01dcb36c0a955692e016a90656a6ceb2", null ],
[ "page_size", "classllfio__v2__xxx_1_1map__handle.html#a7224b586e457183ebcb0a694e282d0fc", null ],
+ [ "QUICKCPPLIB_BITFIELD_BEGIN", "classllfio__v2__xxx_1_1map__handle.html#ac5222904f116c9beb0515a4a5aa850bf", null ],
+ [ "QUICKCPPLIB_BITFIELD_END", "classllfio__v2__xxx_1_1map__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4", null ],
[ "read", "classllfio__v2__xxx_1_1map__handle.html#a5f7485307a0704aa1680e5785be2035d", null ],
[ "read", "classllfio__v2__xxx_1_1map__handle.html#a073cdca57e3e3718d2eb285be51d5c92", null ],
[ "release", "classllfio__v2__xxx_1_1map__handle.html#a06cfd3521ff08782a848821951510f11", null ],
diff --git a/classllfio__v2__xxx_1_1mapped__file__handle-members.html b/classllfio__v2__xxx_1_1mapped__file__handle-members.html
index 3f6e5157..684274d7 100644
--- a/classllfio__v2__xxx_1_1mapped__file__handle-members.html
+++ b/classllfio__v2__xxx_1_1mapped__file__handle-members.html
@@ -98,16 +98,14 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1mapped__file__h
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_sh</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#af781e99c23d0a8158c249066214ac49c">address</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>barrier</b>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), bool wait_for_device=false, bool and_metadata=false, deadline d=deadline()) noexcept override (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3ec366f663f85fb4d679542b8c1b41a">llfio_v2_xxx::io_handle::barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), bool wait_for_device=false, bool and_metadata=false, deadline d=deadline()) noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">bitfield__flag</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>buffers_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>barrier</b>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept override (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f">llfio_v2_xxx::io_handle::barrier</a>(io_request&lt; const_buffers_type &gt; reqs=io_request&lt; const_buffers_type &gt;(), barrier_kind kind=barrier_kind::nowait_data_only, deadline d=deadline()) noexcept=0</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>buffer_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>buffers_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>caching</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ac3f6788f559c6e4f0f577eeebf120efe">capacity</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>clone</b>(size_type reservation, mode mode_=mode::unchanged, caching caching_=caching::unchanged, deadline d=std::chrono::seconds(30)) const noexcept (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
@@ -119,10 +117,6 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1mapped__file__h
<tr bgcolor="#f0f0f0"><td class="entry"><b>creation</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>dev_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>extent_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1c2c1c27b1be6414415b3fc3fcda88b2">extents</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file</a>(const path_handle &amp;base, path_view_type path, mode _mode=mode::read, creation _creation=creation::open_existing, caching _caching=caching::all, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
@@ -180,10 +174,8 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1mapped__file__h
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ae385ed0e4be736c60025786be9109b9b">mapped_temp_inode</a>(const path_handle &amp;dir=path_discovery::storage_backed_temporary_files_directory(), mode _mode=mode::write, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ade38a6d55a4eda3c6d5e196683b129a7">max_buffers</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a0723a6ba04a578754bb601541be832d0">maximum_extent</a>() const noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mode</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>mode</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ae865ab7d7aceab91b9556f6704329e57">operator=</a>(mapped_file_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a606d8adfa6139b48b0007b97dae5a303">operator=</a>(const mapped_file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3bba96c52082c14bf168e12f4e9e2fa6">llfio_v2_xxx::file_handle::operator=</a>(const file_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"></td></tr>
@@ -194,52 +186,49 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1mapped__file__h
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba">llfio_v2_xxx::fs_handle::operator=</a>(fs_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b">llfio_v2_xxx::fs_handle::operator=</a>(const fs_handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a0f147e2d7d2758605019d9ea0dd8a35b">page_size</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a>(deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>path_view_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">random_file</a>(const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ae4ca3f09ab781322c22f903d31ec7aa9">read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467">llfio_v2_xxx::file_handle::read</a>(extent_type offset, std::initializer_list&lt; buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d">llfio_v2_xxx::io_handle::read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a4072a4f2448ef3b8c7075fa8734acf71">release</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2">relink</a>(const path_handle &amp;base, path_view_type path, bool atomic_replace=true, deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a15f9dd6f1c89f8f4cc52bba178f14433">reserve</a>(size_type reservation=0) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a308969448e8934b7a86bcc693b9cc578">section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a07e95f16802d266bfbbf5a7ccde95c33">section</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090">st_dev</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc">st_ino</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a32dd26dd2dbffbab505e7b7bd8aa41ee">swap</a>(mapped_file_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808">llfio_v2_xxx::file_handle::swap</a>(file_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::io_handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a428114e3c8628c0621b1aa156051651c">temp_file</a>(path_view_type name=path_view_type(), mode _mode=mode::write, creation _creation=creation::if_needed, caching _caching=caching::temporary, flag flags=flag::unlink_on_first_close) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5">temp_inode</a>(const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), mode _mode=mode::write, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a01a5da3834fd354c5c3d38284b84ef75">truncate</a>(extent_type newsize) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae1abb705dbe9890e103365bf7c61521e">try_lock</a>(extent_type offset, extent_type bytes, bool exclusive=true) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a23f61ce914c2564b6eaf885a13a19395">underlying_file_maximum_extent</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1">unique_id</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982">unlink</a>(deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a0f147e2d7d2758605019d9ea0dd8a35b">page_size</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a>(deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>path_view_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">random_file</a>(const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::temporary, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ae4ca3f09ab781322c22f903d31ec7aa9">read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467">llfio_v2_xxx::file_handle::read</a>(extent_type offset, std::initializer_list&lt; buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d">llfio_v2_xxx::io_handle::read</a>(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a4072a4f2448ef3b8c7075fa8734acf71">release</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2">relink</a>(const path_handle &amp;base, path_view_type path, bool atomic_replace=true, deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a15f9dd6f1c89f8f4cc52bba178f14433">reserve</a>(size_type reservation=0) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a308969448e8934b7a86bcc693b9cc578">section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a07e95f16802d266bfbbf5a7ccde95c33">section</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090">st_dev</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc">st_ino</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a32dd26dd2dbffbab505e7b7bd8aa41ee">swap</a>(mapped_file_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808">llfio_v2_xxx::file_handle::swap</a>(file_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::io_handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a428114e3c8628c0621b1aa156051651c">temp_file</a>(path_view_type name=path_view_type(), mode _mode=mode::write, creation _creation=creation::if_needed, caching _caching=caching::temporary, flag flags=flag::unlink_on_first_close) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5">temp_inode</a>(const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), mode _mode=mode::write, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a01a5da3834fd354c5c3d38284b84ef75">truncate</a>(extent_type newsize) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ae1abb705dbe9890e103365bf7c61521e">try_lock</a>(extent_type offset, extent_type bytes, bool exclusive=true) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a23f61ce914c2564b6eaf885a13a19395">underlying_file_maximum_extent</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1">unique_id</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982">unlink</a>(deadline d=std::chrono::seconds(30)) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ad720c4c7f350fe06291534d1cbf2feb5">unlock</a>(extent_type offset, extent_type bytes) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#acb5a5b1e9f5bd7b1555edbacd057972c">update_map</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a269e37ceff90d2d92fa65e7d5a17c9f5">write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">llfio_v2_xxx::file_handle::write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">llfio_v2_xxx::file_handle::write</a>(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#aecc5c8f55550a0c83e63b73e50e5ed0b">zero</a>(extent_type offset, extent_type bytes, deadline=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~file_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>~fs_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>~io_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~mapped_file_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a269e37ceff90d2d92fa65e7d5a17c9f5">write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">llfio_v2_xxx::file_handle::write</a>(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">llfio_v2_xxx::file_handle::write</a>(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#aecc5c8f55550a0c83e63b73e50e5ed0b">zero</a>(extent_type offset, extent_type bytes, deadline=deadline()) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~file_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html">llfio_v2_xxx::file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~fs_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~io_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">llfio_v2_xxx::io_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~mapped_file_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">llfio_v2_xxx::mapped_file_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
diff --git a/classllfio__v2__xxx_1_1mapped__file__handle.html b/classllfio__v2__xxx_1_1mapped__file__handle.html
index 0f63cf31..42d87300 100644
--- a/classllfio__v2__xxx_1_1mapped__file__handle.html
+++ b/classllfio__v2__xxx_1_1mapped__file__handle.html
@@ -161,29 +161,13 @@ template&lt;class T &gt; </td></tr>
template&lt;class T &gt; </td></tr>
<tr class="memitem:a49db79127d440f0f8997bd52f0699818"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>io_result</b> = <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_handle::io_result</a>&lt; T &gt;</td></tr>
<tr class="separator:a49db79127d440f0f8997bd52f0699818"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5929f46f42112bd805ab5001bfbf9d2a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">bitfield__flag</a> : unsigned { <br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> = 0,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">none</a> = 2,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">none</a> = 1,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> = 1U &lt;&lt; 0U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> = 1U &lt;&lt; 2U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> = 1U &lt;&lt; 3U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> = 1U &lt;&lt; 4U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> = 1U &lt;&lt; 5U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> = 1U &lt;&lt; 24U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> = 1U &lt;&lt; 25U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> = 1U &lt;&lt; 26U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> = 1U &lt;&lt; 27U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> = 1U &lt;&lt; 28U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> = 1U &lt;&lt; 29U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> = 1U &lt;&lt; 30U
-<br />
- }<tr class="memdesc:a5929f46f42112bd805ab5001bfbf9d2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">More...</a><br /></td></tr>
+<tr class="memitem:a7816bb7ae5156fa2997b68e6300ae565"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> { <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>,
+<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce">barrier_kind::wait_data_only</a>,
+<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1">barrier_kind::nowait_all</a>,
+<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345">barrier_kind::wait_all</a>
+ }<tr class="memdesc:a7816bb7ae5156fa2997b68e6300ae565"><td class="mdescLeft">&#160;</td><td class="mdescRight">The kinds of write reordering barrier which can be performed. <a href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">More...</a><br /></td></tr>
</td></tr>
-<tr class="separator:a5929f46f42112bd805ab5001bfbf9d2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="separator:a7816bb7ae5156fa2997b68e6300ae565"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a65884346740af7fb4648c79d44a750"><td class="memItemLeft" align="right" valign="top"><a id="a1a65884346740af7fb4648c79d44a750"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> = QUICKCPPLIB_NAMESPACE::integers128::uint128</td></tr>
<tr class="memdesc:a1a65884346740af7fb4648c79d44a750"><td class="mdescLeft">&#160;</td><td class="mdescRight">The unique identifier type used by this handle. <br /></td></tr>
@@ -270,9 +254,9 @@ virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom">
virtual <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">native_handle_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a4072a4f2448ef3b8c7075fa8734acf71">release</a> () noexcept override</td></tr>
<tr class="memdesc:a4072a4f2448ef3b8c7075fa8734acf71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release the native handle type managed by this handle. <br /></td></tr>
<tr class="separator:a4072a4f2448ef3b8c7075fa8734acf71"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3af6cc47edd710a60cd7fd7435e8a479"><td class="memItemLeft" align="right" valign="top"><a id="a3af6cc47edd710a60cd7fd7435e8a479"></a>
-virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>barrier</b> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), bool wait_for_device=false, bool and_metadata=false, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
-<tr class="separator:a3af6cc47edd710a60cd7fd7435e8a479"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa2850681ae5fe8f7c270cca3cba7c929"><td class="memItemLeft" align="right" valign="top"><a id="aa2850681ae5fe8f7c270cca3cba7c929"></a>
+virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>barrier</b> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr>
+<tr class="separator:aa2850681ae5fe8f7c270cca3cba7c929"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc2e847ad7de6d05e9ed95bb1b3aac71"><td class="memItemLeft" align="right" valign="top"><a id="adc2e847ad7de6d05e9ed95bb1b3aac71"></a>
result&lt; <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>clone</b> (size_type reservation, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> mode_=mode::unchanged, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> caching_=caching::unchanged, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr>
<tr class="separator:adc2e847ad7de6d05e9ed95bb1b3aac71"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -303,9 +287,9 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;o) noexcept</td></tr>
<tr class="memdesc:a4716696b8700953889006251e0678aa4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
<tr class="separator:a4716696b8700953889006251e0678aa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa3ec366f663f85fb4d679542b8c1b41a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3ec366f663f85fb4d679542b8c1b41a">barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), bool wait_for_device=false, bool and_metadata=false, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept=0</td></tr>
-<tr class="memdesc:aa3ec366f663f85fb4d679542b8c1b41a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier. <a href="#aa3ec366f663f85fb4d679542b8c1b41a">More...</a><br /></td></tr>
-<tr class="separator:aa3ec366f663f85fb4d679542b8c1b41a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a823391cea8818da742c0d4c573f7300f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>&lt; const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f">barrier</a> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>&lt; const_buffers_type &gt;(), <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a> kind=<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a>, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept=0</td></tr>
+<tr class="memdesc:a823391cea8818da742c0d4c573f7300f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier. <a href="#a823391cea8818da742c0d4c573f7300f">More...</a><br /></td></tr>
+<tr class="separator:a823391cea8818da742c0d4c573f7300f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b97756d8d46e80da7d0fa04158a71a8"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8">clone</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> mode_=mode::unchanged, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> caching_=caching::unchanged, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr>
<tr class="separator:a6b97756d8d46e80da7d0fa04158a71a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeea4389189021b94dde6d8f2c3ccc5b3"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a> () const noexcept</td></tr>
@@ -344,6 +328,12 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<tr class="memitem:ad720c4c7f350fe06291534d1cbf2feb5"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ad720c4c7f350fe06291534d1cbf2feb5">unlock</a> (extent_type offset, extent_type bytes) noexcept</td></tr>
<tr class="memdesc:ad720c4c7f350fe06291534d1cbf2feb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlocks a byte range previously locked. <a href="#ad720c4c7f350fe06291534d1cbf2feb5">More...</a><br /></td></tr>
<tr class="separator:ad720c4c7f350fe06291534d1cbf2feb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5222904f116c9beb0515a4a5aa850bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a> (flag)</td></tr>
+<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
+<tr class="separator:ac5222904f116c9beb0515a4a5aa850bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memItemLeft" align="right" valign="top"><a id="aa7e9bedf8c7a4c4a79a644a6e1857ee4"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>QUICKCPPLIB_BITFIELD_END</b> (flag)</td></tr>
+<tr class="separator:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00a85eec5a41f7edb2c574d40cf04535"><td class="memItemLeft" align="right" valign="top">virtual result&lt; path_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a> () const noexcept</td></tr>
<tr class="separator:a00a85eec5a41f7edb2c574d40cf04535"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c7f6a0a8ffdea22763c75a9319ba0c2"><td class="memItemLeft" align="right" valign="top"><a id="a5c7f6a0a8ffdea22763c75a9319ba0c2"></a>
@@ -486,7 +476,7 @@ size_type&#160;</td><td class="memItemRight" valign="bottom"><b>_reservation</b>
<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>_service</b> {nullptr}</td></tr>
<tr class="separator:aa2c2b2847fd039b9c255633e6031817a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:affb091ded80ffde7c0c3854e2abc52fd"><td class="memItemLeft" align="right" valign="top"><a id="affb091ded80ffde7c0c3854e2abc52fd"></a>
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
<tr class="separator:affb091ded80ffde7c0c3854e2abc52fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
@@ -523,8 +513,8 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<p>It is thus up to you to detect that the reservation has been exhausted, and to reserve a new reservation which will change the value returned by <code>address()</code>. This entirely manual system is a bit tedious and cumbersome to use, but as mapping files is an expensive operation given TLB shootdown, we leave it up to the end user to decide when to expend the cost of mapping.</p>
<dl class="section warning"><dt>Warning</dt><dd>You must be cautious when the file is being extended by third parties which are not using this <code>mapped_file_handle</code> to write the new data. With unified page cache kernels, mixing mapped and normal i/o is generally safe except at the end of a file where race conditions and outright kernel bugs tend to abound. To avoid these, solely and exclusively use a dedicated handle configured to atomic append only to do the appends. </dd></dl>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
-<a id="a5929f46f42112bd805ab5001bfbf9d2a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5929f46f42112bd805ab5001bfbf9d2a">&#9670;&nbsp;</a></span>bitfield__flag</h2>
+<a id="a7816bb7ae5156fa2997b68e6300ae565"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7816bb7ae5156fa2997b68e6300ae565">&#9670;&nbsp;</a></span>barrier_kind</h2>
<div class="memitem">
<div class="memproto">
@@ -533,72 +523,33 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">llfio_v2_xxx::handle::bitfield__flag</a> : unsigned</td>
+ <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">llfio_v2_xxx::io_handle::barrier_kind</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
+<span class="mlabels"><span class="mlabel">strong</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
-<p>Bitwise flags which can be specified. </p>
+<p>The kinds of write reordering barrier which can be performed. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298"></a>none&#160;</td><td class="fielddoc"><p>No flags. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No ability to read or write anything, but can synchronise (SYNCHRONIZE or 0) </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No caching whatsoever, all reads and writes come from storage (i.e. <code>O_DIRECT|O_SYNC</code>). Align all i/o to 4Kb boundaries for this to work. <code>disable_safety_barriers</code> can be used here. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962"></a>unlink_on_first_close&#160;</td><td class="fielddoc"><p>Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d"></a>disable_safety_barriers&#160;</td><td class="fielddoc"><p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
-<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
-<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b"></a>disable_safety_unlinks&#160;</td><td class="fielddoc"><p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free. </dd></dl>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3"></a>disable_prefetching&#160;</td><td class="fielddoc"><p>Ask the OS to disable prefetching of data. This can improve random i/o performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0"></a>maximum_prefetching&#160;</td><td class="fielddoc"><p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c"></a>win_disable_unlink_emulation&#160;</td><td class="fielddoc"><p>See the documentation for <code>unlink_on_first_close</code> </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0"></a>win_disable_sparse_file_creation&#160;</td><td class="fielddoc"><p>Microsoft Windows NTFS, having been created in the late 1980s, did not originally implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
-<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
-<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening. </p>
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb"></a>nowait_data_only&#160;</td><td class="fielddoc"><p>Barrier data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using <code>nvram_barrier()</code> for even better performance. </p>
</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322"></a>disable_parallelism&#160;</td><td class="fielddoc"><p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag. </p>
+<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce"></a>wait_data_only&#160;</td><td class="fielddoc"><p>Barrier data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using <code>nvram_barrier()</code> for even better performance. </p>
</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681"></a>win_create_case_sensitive_directory&#160;</td><td class="fielddoc"><p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off. </p>
+<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1"></a>nowait_all&#160;</td><td class="fielddoc"><p>Barrier data and the metadata to retrieve it, non-blocking. </p>
</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a"></a>overlapped&#160;</td><td class="fielddoc"><p>On Windows, create any new handles with OVERLAPPED semantics. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59"></a>byte_lock_insanity&#160;</td><td class="fielddoc"><p>Using insane POSIX byte range locks. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d"></a>anonymous_inode&#160;</td><td class="fielddoc"><p>This is an inode created with no representation on the filing system. </p>
+<tr><td class="fieldname"><a id="a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345"></a>wait_all&#160;</td><td class="fielddoc"><p>Barrier data and the metadata to retrieve it, block until it is done. </p>
</td></tr>
</table>
-<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div><div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">llfio_v2_xxx::handle::win_create_case_sensitive_directory</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:176</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">llfio_v2_xxx::handle::anonymous_inode</a></div><div class="ttdoc">This is an inode created with no representation on the filing system. </div><div class="ttdef"><b>Definition:</b> handle.hpp:182</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">llfio_v2_xxx::handle::disable_safety_unlinks</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:137</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">llfio_v2_xxx::handle::disable_parallelism</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:170</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">llfio_v2_xxx::handle::none</a></div><div class="ttdoc">No flags. </div><div class="ttdef"><b>Definition:</b> handle.hpp:99</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">llfio_v2_xxx::handle::maximum_prefetching</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:145</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">llfio_v2_xxx::handle::overlapped</a></div><div class="ttdoc">On Windows, create any new handles with OVERLAPPED semantics. </div><div class="ttdef"><b>Definition:</b> handle.hpp:180</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">llfio_v2_xxx::handle::disable_prefetching</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:141</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">llfio_v2_xxx::handle::byte_lock_insanity</a></div><div class="ttdoc">Using insane POSIX byte range locks. </div><div class="ttdef"><b>Definition:</b> handle.hpp:181</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">llfio_v2_xxx::handle::unlink_on_first_close</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:109</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">llfio_v2_xxx::handle::win_disable_unlink_emulation</a></div><div class="ttdoc">See the documentation for unlink_on_first_close </div><div class="ttdef"><b>Definition:</b> handle.hpp:147</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">llfio_v2_xxx::handle::disable_safety_barriers</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:128</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">llfio_v2_xxx::handle::win_disable_sparse_file_creation</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:163</div></div>
-</div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; {</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; nowait_data_only, <span class="comment">//!&lt; Barrier data only, non-blocking. This is highly optimised on NV-DIMM storage, but consider using `nvram_barrier()` for even better performance.</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment"></span> wait_data_only, <span class="comment">//!&lt; Barrier data only, block until it is done. This is highly optimised on NV-DIMM storage, but consider using `nvram_barrier()` for even better performance.</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"></span> nowait_all, <span class="comment">//!&lt; Barrier data and the metadata to retrieve it, non-blocking.</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"></span> wait_all <span class="comment">//!&lt; Barrier data and the metadata to retrieve it, block until it is done.</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"></span> };</div></div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
-<a id="aa3ec366f663f85fb4d679542b8c1b41a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa3ec366f663f85fb4d679542b8c1b41a">&#9670;&nbsp;</a></span>barrier()</h2>
+<a id="a823391cea8818da742c0d4c573f7300f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a823391cea8818da742c0d4c573f7300f">&#9670;&nbsp;</a></span>barrier()</h2>
<div class="memitem">
<div class="memproto">
@@ -615,14 +566,8 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">bool&#160;</td>
- <td class="paramname"><em>wait_for_device</em> = <code>false</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&#160;</td>
- <td class="paramname"><em>and_metadata</em> = <code>false</code>, </td>
+ <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">barrier_kind</a>&#160;</td>
+ <td class="paramname"><em>kind</em> = <code><a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb">barrier_kind::nowait_data_only</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -653,8 +598,7 @@ For portability, you can only assume that barriers write order for a single hand
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">reqs</td><td>A scatter-gather and offset request for what range to barrier. May be ignored on some platforms which always write barrier the entire file. Supplying a default initialised reqs write barriers the entire file. </td></tr>
- <tr><td class="paramname">wait_for_device</td><td>True if you want the call to wait until data reaches storage and that storage has acknowledged the data is physically written. Slow. </td></tr>
- <tr><td class="paramname">and_metadata</td><td>True if you want the call to sync the metadata for retrieving the writes before the barrier after a sudden power loss event. Slow. Setting this to false enables much faster performance, especially on non-volatile memory. </td></tr>
+ <tr><td class="paramname">kind</td><td>Which kind of write reordering barrier to perform. </td></tr>
<tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
</table>
</dd>
@@ -760,7 +704,7 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</div><div class="memdoc">
<p>Returns the current path of the open handle as said by the operating system. Note that you are NOT guaranteed that any path refreshed bears any resemblance to the original, some operating systems will return some different path which still reaches the same inode via some other route e.g. hardlinks, dereferenced symbolic links, etc. Windows and Linux correctly track changes to the specific path the handle was opened with, not getting confused by other hard links. MacOS nearly gets it right, but under some circumstances e.g. renaming may switch to a different hard link's path which is almost certainly a bug.</p>
-<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::stablized_path&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
+<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
<p>On Linux if <code>/proc</code> is not mounted, this call fails with an error. All APIs in LLFIO which require the use of <code>current_path()</code> can be told to not use it e.g. <code>flag::disable_safety_unlinks</code>. It is up to you to detect if <code>current_path()</code> is not working, and to change how you call LLFIO appropriately.</p>
<dl class="section warning"><dt>Warning</dt><dd>This call is expensive, it always asks the kernel for the current path, and no checking is done to ensure what the kernel returns is accurate or even sensible. Be aware that despite these precautions, paths are unstable and <b>can change randomly at any moment</b>. Most code written to use absolute file systems paths is <b>racy</b>, so don't do it, use <code>path_handle</code> to fix a base location on the file system and work from that anchor instead!</dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>At least one malloc for the <code>path_type</code>, likely several more. </dd></dl>
@@ -976,7 +920,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; {</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; {</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; {</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; }</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; bytes += i.size();</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; }</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(reqs.offset, bytes, <span class="keyword">false</span>, d);</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
+<div class="fragment"><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; {</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; {</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; {</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; }</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; bytes += i.size();</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; }</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(reqs.offset, bytes, <span class="keyword">false</span>, d);</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -1014,7 +958,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; {</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; {</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; {</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; }</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; bytes += i.size();</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; }</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(reqs.offset, bytes, <span class="keyword">true</span>, d);</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
+<div class="fragment"><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; {</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; {</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; {</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; }</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; bytes += i.size();</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; }</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(reqs.offset, bytes, <span class="keyword">true</span>, d);</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -1368,7 +1312,8 @@ For portability, you can only assume that barriers write order for a single hand
<p>The <em>maximum</em> number of buffers which a single read or write syscall can process at a time for this specific open handle. On POSIX, this is known as <code>IOV_MAX</code>. </p>
<p>Note that the actual number of buffers accepted for a read or a write may be significantly lower than this system-defined limit, depending on available resources. The <code>read()</code> or <code>write()</code> call will return the buffers accepted.</p>
<p>Note also that some OSs will error out if you supply more than this limit to <code>read()</code> or <code>write()</code>, but other OSs do not. Some OSs guarantee that each i/o syscall has effects atomically visible or not to other i/o, other OSs do not.</p>
-<p>Microsoft Windows and OS X does not implement scatter-gather file i/o syscalls. Thus this function will always return <code>1</code> in that situation. </p>
+<p>OS X does not implement scatter-gather file i/o syscalls. Thus this function will always return <code>1</code> in that situation.</p>
+<p>Microsoft Windows <em>may</em> implement scatter-gather file i/o under very limited circumstances. Most of the time this function will return <code>1</code>. </p>
</div>
</div>
@@ -1402,6 +1347,51 @@ For portability, you can only assume that barriers write order for a single hand
</div>
</div>
+<a id="ac5222904f116c9beb0515a4a5aa850bf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac5222904f116c9beb0515a4a5aa850bf">&#9670;&nbsp;</a></span>QUICKCPPLIB_BITFIELD_BEGIN()</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::handle::QUICKCPPLIB_BITFIELD_BEGIN </td>
+ <td>(</td>
+ <td class="paramtype">flag&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Bitwise flags which can be specified. </p>
+<p>&lt; No flags </p><pre class="fragment">Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed
+</pre><p> to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
+<p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
+<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
+<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers</p>
+<p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free.</dd></dl>
+<p>Ask the OS to disable prefetching of data. This can improve random i/o performance.</p>
+<p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance.</p>
+<p>&lt; See the documentation for <code>unlink_on_first_close</code> </p><pre class="fragment">Microsoft Windows NTFS, having been created in the late 1980s, did not originally
+</pre><p> implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
+<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
+<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening.</p>
+<p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag.</p>
+<p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off.</p>
+<p>&lt; On Windows, create any new handles with OVERLAPPED semantics</p>
+<p>&lt; Using insane POSIX byte range locks</p>
+<p>&lt; This is an inode created with no representation on the filing system </p>
+<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; overlapped = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div></div><!-- fragment -->
+</div>
+</div>
<a id="a3141a85996e46a3cc6b238d321198e47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3141a85996e46a3cc6b238d321198e47">&#9670;&nbsp;</a></span>random_file()</h2>
@@ -1866,7 +1856,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(offset, bytes, exclusive, deadline(std::chrono::seconds(0))); }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
+<div class="fragment"><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(offset, bytes, exclusive, deadline(std::chrono::seconds(0))); }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result&lt; extent_guard &gt; lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -2074,7 +2064,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; {</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; const_buffer_type *_reqs = <span class="keyword">reinterpret_cast&lt;</span>const_buffer_type *<span class="keyword">&gt;</span>(alloca(<span class="keyword">sizeof</span>(const_buffer_type) * lst.size()));</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; io_request&lt;const_buffers_type&gt; reqs(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>(_reqs, lst.size()), offset);</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keyword">auto</span> ret = <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a>(reqs, d);</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keywordflow">if</span>(ret)</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; {</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">return</span> ret.bytes_transferred();</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; }</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keywordflow">return</span> std::move(ret).error();</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a693a8c64bb7de1a6835d6a151e37aa0e"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">llfio_v2_xxx::io_handle::const_buffers_type</a></div><div class="ttdeci">span&lt; const_buffer_type &gt; const_buffers_type</div><div class="ttdoc">The gather buffers type used by this handle. Guaranteed to be TrivialType apart from construction...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:165</div></div>
+<div class="fragment"><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; {</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; const_buffer_type *_reqs = <span class="keyword">reinterpret_cast&lt;</span>const_buffer_type *<span class="keyword">&gt;</span>(alloca(<span class="keyword">sizeof</span>(const_buffer_type) * lst.size()));</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; io_request&lt;const_buffers_type&gt; reqs(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>(_reqs, lst.size()), offset);</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keyword">auto</span> ret = <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a>(reqs, d);</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">if</span>(ret)</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; {</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <span class="keywordflow">return</span> ret.bytes_transferred();</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; }</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">return</span> std::move(ret).error();</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a693a8c64bb7de1a6835d6a151e37aa0e"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">llfio_v2_xxx::io_handle::const_buffers_type</a></div><div class="ttdeci">span&lt; const_buffer_type &gt; const_buffers_type</div><div class="ttdoc">The gather buffers type used by this handle. Guaranteed to be TrivialType apart from construction...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:188</div></div>
<div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a83884eca7b4cd09125a5cf8a155e6052"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">llfio_v2_xxx::io_handle::write</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle. </div></div>
</div><!-- fragment -->
</div>
diff --git a/classllfio__v2__xxx_1_1mapped__file__handle.js b/classllfio__v2__xxx_1_1mapped__file__handle.js
index 7e08ca72..fb3e129b 100644
--- a/classllfio__v2__xxx_1_1mapped__file__handle.js
+++ b/classllfio__v2__xxx_1_1mapped__file__handle.js
@@ -17,22 +17,11 @@ var classllfio__v2__xxx_1_1mapped__file__handle =
[ "path_view_type", "classllfio__v2__xxx_1_1mapped__file__handle.html#a60ebe6a1e7e0831c0c5d3bea9050cc96", null ],
[ "size_type", "classllfio__v2__xxx_1_1mapped__file__handle.html#a2947864bd359b008c1ae36046abd79ca", null ],
[ "unique_id_type", "classllfio__v2__xxx_1_1mapped__file__handle.html#a1a65884346740af7fb4648c79d44a750", null ],
- [ "bitfield__flag", "classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2a", [
- [ "none", "classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298", null ],
- [ "none", "classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
- [ "none", "classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
- [ "unlink_on_first_close", "classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962", null ],
- [ "disable_safety_barriers", "classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d", null ],
- [ "disable_safety_unlinks", "classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b", null ],
- [ "disable_prefetching", "classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3", null ],
- [ "maximum_prefetching", "classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0", null ],
- [ "win_disable_unlink_emulation", "classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c", null ],
- [ "win_disable_sparse_file_creation", "classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0", null ],
- [ "disable_parallelism", "classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322", null ],
- [ "win_create_case_sensitive_directory", "classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681", null ],
- [ "overlapped", "classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a", null ],
- [ "byte_lock_insanity", "classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59", null ],
- [ "anonymous_inode", "classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d", null ]
+ [ "barrier_kind", "classllfio__v2__xxx_1_1mapped__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565", [
+ [ "nowait_data_only", "classllfio__v2__xxx_1_1mapped__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb", null ],
+ [ "wait_data_only", "classllfio__v2__xxx_1_1mapped__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce", null ],
+ [ "nowait_all", "classllfio__v2__xxx_1_1mapped__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1", null ],
+ [ "wait_all", "classllfio__v2__xxx_1_1mapped__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345", null ]
] ],
[ "mapped_file_handle", "classllfio__v2__xxx_1_1mapped__file__handle.html#a4aa124e03ec6376c70d9e07c548d0d44", null ],
[ "mapped_file_handle", "classllfio__v2__xxx_1_1mapped__file__handle.html#ae6f542f218c7413a71aeccc5918a5ca3", null ],
@@ -45,8 +34,8 @@ var classllfio__v2__xxx_1_1mapped__file__handle =
[ "are_reads_from_cache", "classllfio__v2__xxx_1_1mapped__file__handle.html#a7126a726b2a06e4c1eca1a94c41163ff", null ],
[ "are_safety_barriers_issued", "classllfio__v2__xxx_1_1mapped__file__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1", null ],
[ "are_writes_durable", "classllfio__v2__xxx_1_1mapped__file__handle.html#a8036792f332459064172d7b0cfaee3cf", null ],
- [ "barrier", "classllfio__v2__xxx_1_1mapped__file__handle.html#a3af6cc47edd710a60cd7fd7435e8a479", null ],
- [ "barrier", "classllfio__v2__xxx_1_1mapped__file__handle.html#aa3ec366f663f85fb4d679542b8c1b41a", null ],
+ [ "barrier", "classllfio__v2__xxx_1_1mapped__file__handle.html#aa2850681ae5fe8f7c270cca3cba7c929", null ],
+ [ "barrier", "classllfio__v2__xxx_1_1mapped__file__handle.html#a823391cea8818da742c0d4c573f7300f", null ],
[ "capacity", "classllfio__v2__xxx_1_1mapped__file__handle.html#ac3f6788f559c6e4f0f577eeebf120efe", null ],
[ "clone", "classllfio__v2__xxx_1_1mapped__file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8", null ],
[ "clone", "classllfio__v2__xxx_1_1mapped__file__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3", null ],
@@ -81,6 +70,8 @@ var classllfio__v2__xxx_1_1mapped__file__handle =
[ "operator=", "classllfio__v2__xxx_1_1mapped__file__handle.html#a606d8adfa6139b48b0007b97dae5a303", null ],
[ "page_size", "classllfio__v2__xxx_1_1mapped__file__handle.html#a0f147e2d7d2758605019d9ea0dd8a35b", null ],
[ "parent_path_handle", "classllfio__v2__xxx_1_1mapped__file__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5", null ],
+ [ "QUICKCPPLIB_BITFIELD_BEGIN", "classllfio__v2__xxx_1_1mapped__file__handle.html#ac5222904f116c9beb0515a4a5aa850bf", null ],
+ [ "QUICKCPPLIB_BITFIELD_END", "classllfio__v2__xxx_1_1mapped__file__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4", null ],
[ "read", "classllfio__v2__xxx_1_1mapped__file__handle.html#a6e46c6ea379152eb559ab15990f7c467", null ],
[ "read", "classllfio__v2__xxx_1_1mapped__file__handle.html#a5f7485307a0704aa1680e5785be2035d", null ],
[ "read", "classllfio__v2__xxx_1_1mapped__file__handle.html#ae4ca3f09ab781322c22f903d31ec7aa9", null ],
diff --git a/classllfio__v2__xxx_1_1path__handle-members.html b/classllfio__v2__xxx_1_1path__handle-members.html
index d455a4d1..421b880c 100644
--- a/classllfio__v2__xxx_1_1path__handle-members.html
+++ b/classllfio__v2__xxx_1_1path__handle-members.html
@@ -90,51 +90,41 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1path__handle.ht
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_caching</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_flags</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">bitfield__flag</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>caching</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ae260bf811da1b17c142f51fbb53476bf">clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ad397dbfc5cd5eb53f203a2c1c9540a2e">close</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>creation</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>directory_handle</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>extent_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>flag</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4">handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4">handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11">handle</a>(const handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>caching</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ae260bf811da1b17c142f51fbb53476bf">clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ad397dbfc5cd5eb53f203a2c1c9540a2e">close</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>creation</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>directory_handle</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>extent_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>flag</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4">handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4">handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11">handle</a>(const handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mode</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a6dbe3970805ad071cdfa258192e9107a">operator=</a>(path_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a0c9df3cc8d9b696f5397dccef87c55b8">operator=</a>(const path_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle::operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a6dbe3970805ad071cdfa258192e9107a">operator=</a>(path_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a0c9df3cc8d9b696f5397dccef87c55b8">operator=</a>(const path_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle::operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a579c3752604c65325d16a6f8c818c6ab">path</a>(const path_handle &amp;base, path_view_type path) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a464c3dfe19b544dfcb0527d83407026b">path</a>(path_view_type _path) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a01603d237d7f48f649abebd25bb7daaf">path_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
@@ -144,16 +134,14 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1path__handle.ht
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ae81c55923bdf4bfc78c75fa60c2badcc">path_handle</a>(const path_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a6f2c51636f17ae97255106d37ef4187c">path_view_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a8752c5e4f4189c7bdfcd6eccb637bef9">swap</a>(path_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~path_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html">llfio_v2_xxx::path_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
diff --git a/classllfio__v2__xxx_1_1path__handle.html b/classllfio__v2__xxx_1_1path__handle.html
index 6e4b511d..e22ec409 100644
--- a/classllfio__v2__xxx_1_1path__handle.html
+++ b/classllfio__v2__xxx_1_1path__handle.html
@@ -134,29 +134,6 @@ using&#160;</td><td class="memItemRight" valign="bottom"><b>flag</b> = handle::f
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a6f2c51636f17ae97255106d37ef4187c">path_view_type</a> = <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a></td></tr>
<tr class="memdesc:a6f2c51636f17ae97255106d37ef4187c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The path view type used by this handle. <br /></td></tr>
<tr class="separator:a6f2c51636f17ae97255106d37ef4187c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5929f46f42112bd805ab5001bfbf9d2a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">bitfield__flag</a> : unsigned { <br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> = 0,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">none</a> = 2,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">none</a> = 1,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> = 1U &lt;&lt; 0U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> = 1U &lt;&lt; 2U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> = 1U &lt;&lt; 3U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> = 1U &lt;&lt; 4U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> = 1U &lt;&lt; 5U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> = 1U &lt;&lt; 24U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> = 1U &lt;&lt; 25U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> = 1U &lt;&lt; 26U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> = 1U &lt;&lt; 27U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> = 1U &lt;&lt; 28U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> = 1U &lt;&lt; 29U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> = 1U &lt;&lt; 30U
-<br />
- }<tr class="memdesc:a5929f46f42112bd805ab5001bfbf9d2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">More...</a><br /></td></tr>
-</td></tr>
-<tr class="separator:a5929f46f42112bd805ab5001bfbf9d2a"><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>
@@ -198,6 +175,12 @@ virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom">
<tr class="separator:ad397dbfc5cd5eb53f203a2c1c9540a2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae260bf811da1b17c142f51fbb53476bf"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ae260bf811da1b17c142f51fbb53476bf">clone</a> () const noexcept</td></tr>
<tr class="separator:ae260bf811da1b17c142f51fbb53476bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5222904f116c9beb0515a4a5aa850bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a> (flag)</td></tr>
+<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
+<tr class="separator:ac5222904f116c9beb0515a4a5aa850bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memItemLeft" align="right" valign="top"><a id="aa7e9bedf8c7a4c4a79a644a6e1857ee4"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>QUICKCPPLIB_BITFIELD_END</b> (flag)</td></tr>
+<tr class="separator:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4716696b8700953889006251e0678aa4"><td class="memItemLeft" align="right" valign="top"><a id="a4716696b8700953889006251e0678aa4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;o) noexcept</td></tr>
<tr class="memdesc:a4716696b8700953889006251e0678aa4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
@@ -297,7 +280,7 @@ Static Public Member Functions</h2></td></tr>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:affb091ded80ffde7c0c3854e2abc52fd"><td class="memItemLeft" align="right" valign="top"><a id="affb091ded80ffde7c0c3854e2abc52fd"></a>
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
<tr class="separator:affb091ded80ffde7c0c3854e2abc52fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
@@ -314,81 +297,7 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>directory_handle</b>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A handle to somewhere originally identified by a path on the filing system. Typically used as the lightest weight handle to some location on the filing system which may unpredictably relocate over time. This handle is thus an <em>anchor</em> to a subset island of the filing system, free of any race conditions introduced by third party changes to any part of the path leading to that island. </p>
-</div><h2 class="groupheader">Member Enumeration Documentation</h2>
-<a id="a5929f46f42112bd805ab5001bfbf9d2a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5929f46f42112bd805ab5001bfbf9d2a">&#9670;&nbsp;</a></span>bitfield__flag</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_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">llfio_v2_xxx::handle::bitfield__flag</a> : unsigned</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>Bitwise flags which can be specified. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298"></a>none&#160;</td><td class="fielddoc"><p>No flags. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No ability to read or write anything, but can synchronise (SYNCHRONIZE or 0) </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No caching whatsoever, all reads and writes come from storage (i.e. <code>O_DIRECT|O_SYNC</code>). Align all i/o to 4Kb boundaries for this to work. <code>disable_safety_barriers</code> can be used here. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962"></a>unlink_on_first_close&#160;</td><td class="fielddoc"><p>Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d"></a>disable_safety_barriers&#160;</td><td class="fielddoc"><p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
-<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
-<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b"></a>disable_safety_unlinks&#160;</td><td class="fielddoc"><p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free. </dd></dl>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3"></a>disable_prefetching&#160;</td><td class="fielddoc"><p>Ask the OS to disable prefetching of data. This can improve random i/o performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0"></a>maximum_prefetching&#160;</td><td class="fielddoc"><p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c"></a>win_disable_unlink_emulation&#160;</td><td class="fielddoc"><p>See the documentation for <code>unlink_on_first_close</code> </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0"></a>win_disable_sparse_file_creation&#160;</td><td class="fielddoc"><p>Microsoft Windows NTFS, having been created in the late 1980s, did not originally implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
-<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
-<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322"></a>disable_parallelism&#160;</td><td class="fielddoc"><p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681"></a>win_create_case_sensitive_directory&#160;</td><td class="fielddoc"><p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a"></a>overlapped&#160;</td><td class="fielddoc"><p>On Windows, create any new handles with OVERLAPPED semantics. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59"></a>byte_lock_insanity&#160;</td><td class="fielddoc"><p>Using insane POSIX byte range locks. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d"></a>anonymous_inode&#160;</td><td class="fielddoc"><p>This is an inode created with no representation on the filing system. </p>
-</td></tr>
-</table>
-<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div><div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">llfio_v2_xxx::handle::win_create_case_sensitive_directory</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:176</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">llfio_v2_xxx::handle::anonymous_inode</a></div><div class="ttdoc">This is an inode created with no representation on the filing system. </div><div class="ttdef"><b>Definition:</b> handle.hpp:182</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">llfio_v2_xxx::handle::disable_safety_unlinks</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:137</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">llfio_v2_xxx::handle::disable_parallelism</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:170</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">llfio_v2_xxx::handle::none</a></div><div class="ttdoc">No flags. </div><div class="ttdef"><b>Definition:</b> handle.hpp:99</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">llfio_v2_xxx::handle::maximum_prefetching</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:145</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">llfio_v2_xxx::handle::overlapped</a></div><div class="ttdoc">On Windows, create any new handles with OVERLAPPED semantics. </div><div class="ttdef"><b>Definition:</b> handle.hpp:180</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">llfio_v2_xxx::handle::disable_prefetching</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:141</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">llfio_v2_xxx::handle::byte_lock_insanity</a></div><div class="ttdoc">Using insane POSIX byte range locks. </div><div class="ttdef"><b>Definition:</b> handle.hpp:181</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">llfio_v2_xxx::handle::unlink_on_first_close</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:109</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">llfio_v2_xxx::handle::win_disable_unlink_emulation</a></div><div class="ttdoc">See the documentation for unlink_on_first_close </div><div class="ttdef"><b>Definition:</b> handle.hpp:147</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">llfio_v2_xxx::handle::disable_safety_barriers</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:128</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">llfio_v2_xxx::handle::win_disable_sparse_file_creation</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:163</div></div>
-</div><!-- fragment -->
-</div>
-</div>
-<h2 class="groupheader">Member Function Documentation</h2>
+</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="ae260bf811da1b17c142f51fbb53476bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae260bf811da1b17c142f51fbb53476bf">&#9670;&nbsp;</a></span>clone()</h2>
@@ -440,7 +349,7 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>directory_handle</b>
</table>
</div><div class="memdoc">
<p>Returns the current path of the open handle as said by the operating system. Note that you are NOT guaranteed that any path refreshed bears any resemblance to the original, some operating systems will return some different path which still reaches the same inode via some other route e.g. hardlinks, dereferenced symbolic links, etc. Windows and Linux correctly track changes to the specific path the handle was opened with, not getting confused by other hard links. MacOS nearly gets it right, but under some circumstances e.g. renaming may switch to a different hard link's path which is almost certainly a bug.</p>
-<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::stablized_path&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
+<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
<p>On Linux if <code>/proc</code> is not mounted, this call fails with an error. All APIs in LLFIO which require the use of <code>current_path()</code> can be told to not use it e.g. <code>flag::disable_safety_unlinks</code>. It is up to you to detect if <code>current_path()</code> is not working, and to change how you call LLFIO appropriately.</p>
<dl class="section warning"><dt>Warning</dt><dd>This call is expensive, it always asks the kernel for the current path, and no checking is done to ensure what the kernel returns is accurate or even sensible. Be aware that despite these precautions, paths are unstable and <b>can change randomly at any moment</b>. Most code written to use absolute file systems paths is <b>racy</b>, so don't do it, use <code>path_handle</code> to fix a base location on the file system and work from that anchor instead!</dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>At least one malloc for the <code>path_type</code>, likely several more. </dd></dl>
@@ -517,6 +426,51 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>directory_handle</b>
</div><!-- fragment -->
</div>
</div>
+<a id="ac5222904f116c9beb0515a4a5aa850bf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac5222904f116c9beb0515a4a5aa850bf">&#9670;&nbsp;</a></span>QUICKCPPLIB_BITFIELD_BEGIN()</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::handle::QUICKCPPLIB_BITFIELD_BEGIN </td>
+ <td>(</td>
+ <td class="paramtype">flag&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Bitwise flags which can be specified. </p>
+<p>&lt; No flags </p><pre class="fragment">Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed
+</pre><p> to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
+<p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
+<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
+<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers</p>
+<p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free.</dd></dl>
+<p>Ask the OS to disable prefetching of data. This can improve random i/o performance.</p>
+<p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance.</p>
+<p>&lt; See the documentation for <code>unlink_on_first_close</code> </p><pre class="fragment">Microsoft Windows NTFS, having been created in the late 1980s, did not originally
+</pre><p> implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
+<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
+<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening.</p>
+<p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag.</p>
+<p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off.</p>
+<p>&lt; On Windows, create any new handles with OVERLAPPED semantics</p>
+<p>&lt; Using insane POSIX byte range locks</p>
+<p>&lt; This is an inode created with no representation on the filing system </p>
+<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; overlapped = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div></div><!-- fragment -->
+</div>
+</div>
<a id="a101620e9fff0c0e8c346af0e9de58b6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a101620e9fff0c0e8c346af0e9de58b6a">&#9670;&nbsp;</a></span>set_append_only()</h2>
diff --git a/classllfio__v2__xxx_1_1path__handle.js b/classllfio__v2__xxx_1_1path__handle.js
index 47020e55..f43a3357 100644
--- a/classllfio__v2__xxx_1_1path__handle.js
+++ b/classllfio__v2__xxx_1_1path__handle.js
@@ -8,23 +8,6 @@ var classllfio__v2__xxx_1_1path__handle =
[ "path_type", "classllfio__v2__xxx_1_1path__handle.html#a59eb95b11977153d7510d3979defca1f", null ],
[ "path_view_type", "classllfio__v2__xxx_1_1path__handle.html#a6f2c51636f17ae97255106d37ef4187c", null ],
[ "size_type", "classllfio__v2__xxx_1_1path__handle.html#af00ba815654b5bfd399deec7d87ceaea", null ],
- [ "bitfield__flag", "classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2a", [
- [ "none", "classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298", null ],
- [ "none", "classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
- [ "none", "classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
- [ "unlink_on_first_close", "classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962", null ],
- [ "disable_safety_barriers", "classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d", null ],
- [ "disable_safety_unlinks", "classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b", null ],
- [ "disable_prefetching", "classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3", null ],
- [ "maximum_prefetching", "classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0", null ],
- [ "win_disable_unlink_emulation", "classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c", null ],
- [ "win_disable_sparse_file_creation", "classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0", null ],
- [ "disable_parallelism", "classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322", null ],
- [ "win_create_case_sensitive_directory", "classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681", null ],
- [ "overlapped", "classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a", null ],
- [ "byte_lock_insanity", "classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59", null ],
- [ "anonymous_inode", "classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d", null ]
- ] ],
[ "path_handle", "classllfio__v2__xxx_1_1path__handle.html#a01603d237d7f48f649abebd25bb7daaf", null ],
[ "path_handle", "classllfio__v2__xxx_1_1path__handle.html#a8a6c8781b524b288d5c511ef0c5d2006", null ],
[ "path_handle", "classllfio__v2__xxx_1_1path__handle.html#aa02b3f0672f6cbfbafcd01fc2c3b639e", null ],
@@ -54,6 +37,8 @@ var classllfio__v2__xxx_1_1path__handle =
[ "native_handle", "classllfio__v2__xxx_1_1path__handle.html#a942b0d276c9f20fe41baab679b88fe72", null ],
[ "operator=", "classllfio__v2__xxx_1_1path__handle.html#a6dbe3970805ad071cdfa258192e9107a", null ],
[ "operator=", "classllfio__v2__xxx_1_1path__handle.html#a0c9df3cc8d9b696f5397dccef87c55b8", null ],
+ [ "QUICKCPPLIB_BITFIELD_BEGIN", "classllfio__v2__xxx_1_1path__handle.html#ac5222904f116c9beb0515a4a5aa850bf", null ],
+ [ "QUICKCPPLIB_BITFIELD_END", "classllfio__v2__xxx_1_1path__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4", null ],
[ "release", "classllfio__v2__xxx_1_1path__handle.html#a1d273e38c061eb11f5012f624e9a202e", null ],
[ "requires_aligned_io", "classllfio__v2__xxx_1_1path__handle.html#a751e912d8dab755ea969a418c1d544eb", null ],
[ "set_append_only", "classllfio__v2__xxx_1_1path__handle.html#a101620e9fff0c0e8c346af0e9de58b6a", null ],
diff --git a/classllfio__v2__xxx_1_1section__handle-members.html b/classllfio__v2__xxx_1_1section__handle-members.html
index ab32c5f4..859fa00a 100644
--- a/classllfio__v2__xxx_1_1section__handle-members.html
+++ b/classllfio__v2__xxx_1_1section__handle-members.html
@@ -93,66 +93,46 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1section__handle
<tr bgcolor="#f0f0f0"><td class="entry"><b>_flag</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_flags</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a680320bd539378d99870d9b2cdedb9c8">backing</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#aea14a4f834500e412db39efd998f438a">backing_native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a06b41188d84f0fee5cff37c71b3d5877">barrier_on_close</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549">bitfield__flag</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a680320bd539378d99870d9b2cdedb9c8">backing</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#aea14a4f834500e412db39efd998f438a">backing_native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a967031835185e5ba872a4e584d51c40d">close</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549ac57346933aada59cff3ee2296cc70332">cow</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549afde37a72636d74e28ce3553154341756">executable</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a631fef30d1e40f9d7ce6fa3a0ad4fa9d">execute</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>extent_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4">handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4">handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11">handle</a>(const handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a3b82e2db8c45ecc45a860fac912f6c82">is_nvram</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a137acb9e2bbec111072ef357236e9441">length</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535">current_path</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>extent_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4">handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4">handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11">handle</a>(const handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a3b82e2db8c45ecc45a860fac912f6c82">is_nvram</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a137acb9e2bbec111072ef357236e9441">length</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a979d3bc3dccd10f67de00b228a12822f">nocommit</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549aaa630970737cad05cddc88036a638d44">none</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a2087205d797bb4de249c85cc8b87afc5">nvram</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a55daf2f49cf0f182e18e139f6c35668a">operator=</a>(section_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5435021920a220ef8d1e244036c8219b">operator=</a>(const section_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle::operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a8d15253a30787fff812c9f254e26baf1">page_sizes_1</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549aa3a2b1b4beaa0a8f0e2658cb321f7c46">page_sizes_2</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a0a225b6b1594a5540799b4c58c937522">page_sizes_3</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">path_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a1e91d093711d9d800b8ddc2f6e5d1ca2">prefault</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a63bd03aae67c348121ac0bf88161d90f">read</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>readwrite</b> enum value (defined in <a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a55daf2f49cf0f182e18e139f6c35668a">operator=</a>(section_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5435021920a220ef8d1e244036c8219b">operator=</a>(const section_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle::operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">path_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5405985448afbfe281cbf98ab7bbb3ab">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21">section</a>(file_handle &amp;backing, extent_type maximum_size, flag _flag) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
@@ -165,16 +145,10 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1section__handle
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#ab3cb03378bf927a2fb6636beb6ca2f20">section_handle</a>(const section_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a">set_append_only</a>(bool enable) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a85635c700f2778280481598393c24c00">set_backing</a>(file_handle *fh) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a41771be4e90788c06cc49f2d35538108">singleton</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a2bad3e9b5baf82d9ee7f791f4c3b4733">swap</a>(section_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#aa4d0beac304a5ae9d29441819a829b80">truncate</a>(extent_type newsize=0) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549ab61620219a89d4c133c6c6f4b781a9ba">write</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a2bad3e9b5baf82d9ee7f791f4c3b4733">swap</a>(section_handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">llfio_v2_xxx::handle::swap</a>(handle &amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#aa4d0beac304a5ae9d29441819a829b80">truncate</a>(extent_type newsize=0) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~section_handle</b>() override (defined in <a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html">llfio_v2_xxx::section_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
diff --git a/classllfio__v2__xxx_1_1section__handle.html b/classllfio__v2__xxx_1_1section__handle.html
index 0c96766f..8f220827 100644
--- a/classllfio__v2__xxx_1_1section__handle.html
+++ b/classllfio__v2__xxx_1_1section__handle.html
@@ -107,29 +107,6 @@ Inheritance diagram for llfio_v2_xxx::section_handle:</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:a5a4e0afe59d0eeb5683fb50d3d3ad549"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549">bitfield__flag</a> : unsigned { <br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549aaa630970737cad05cddc88036a638d44">none</a> = 0U,
-<a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a63bd03aae67c348121ac0bf88161d90f">read</a> = 1U &lt;&lt; 0U,
-<a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549ab61620219a89d4c133c6c6f4b781a9ba">write</a> = 1U &lt;&lt; 1U,
-<a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549ac57346933aada59cff3ee2296cc70332">cow</a> = 1U &lt;&lt; 2U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a631fef30d1e40f9d7ce6fa3a0ad4fa9d">execute</a> = 1U &lt;&lt; 3U,
-<a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a979d3bc3dccd10f67de00b228a12822f">nocommit</a> = 1U &lt;&lt; 8U,
-<a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a1e91d093711d9d800b8ddc2f6e5d1ca2">prefault</a> = 1U &lt;&lt; 9U,
-<a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549afde37a72636d74e28ce3553154341756">executable</a> = 1U &lt;&lt; 10U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a41771be4e90788c06cc49f2d35538108">singleton</a> = 1U &lt;&lt; 11U,
-<a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a06b41188d84f0fee5cff37c71b3d5877">barrier_on_close</a> = 1U &lt;&lt; 16U,
-<a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a2087205d797bb4de249c85cc8b87afc5">nvram</a> = 1U &lt;&lt; 17U,
-<a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a8d15253a30787fff812c9f254e26baf1">page_sizes_1</a> = 1U &lt;&lt; 24U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549aa3a2b1b4beaa0a8f0e2658cb321f7c46">page_sizes_2</a> = 2U &lt;&lt; 24U,
-<a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a0a225b6b1594a5540799b4c58c937522">page_sizes_3</a> = 3U &lt;&lt; 24U,
-<b>readwrite</b> = (read | write)
-<br />
- }<tr class="memdesc:a5a4e0afe59d0eeb5683fb50d3d3ad549"><td class="mdescLeft">&#160;</td><td class="mdescRight">The behaviour of the memory section. <a href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549">More...</a><br /></td></tr>
-</td></tr>
-<tr class="separator:a5a4e0afe59d0eeb5683fb50d3d3ad549"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91a4e4110fe6ed6358de00de3ae934d1"><td class="memItemLeft" align="right" valign="top"><a id="a91a4e4110fe6ed6358de00de3ae934d1"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>extent_type</b> = <a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f">handle::extent_type</a></td></tr>
<tr class="separator:a91a4e4110fe6ed6358de00de3ae934d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -138,7 +115,7 @@ using&#160;</td><td class="memItemRight" valign="bottom"><b>size_type</b> = <a c
<tr class="separator:ad623089ad47d566d5eeaefe202dbf3a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3930273a2d4cabbac309e0b75701dca"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> : unsigned char { <br />
&#160;&#160;<b>unchanged</b> = 0,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">none</a> = 2,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa334c4a4c42fdb79d7ebc3e73b517e6f8">mode::none</a> = 2,
<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaa4daf6d1e8da35af49c33bbe9ee91d79">mode::attr_read</a> = 4,
<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9f56aff64cb748e078ab221474132d19">mode::attr_write</a> = 5,
<br />
@@ -162,7 +139,7 @@ using&#160;</td><td class="memItemRight" valign="bottom"><b>size_type</b> = <a c
<tr class="separator:af0b352d0f273ba6fa70c178b2c2fee42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecd3a7db6cee3aec07d32fe6f99e6852"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> : unsigned char { <br />
&#160;&#160;<b>unchanged</b> = 0,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">none</a> = 1,
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a> = 1,
<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98">caching::only_metadata</a> = 2,
<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1">caching::reads</a> = 3,
<br />
@@ -181,6 +158,12 @@ using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cla
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
+<tr class="memitem:a5405985448afbfe281cbf98ab7bbb3ab"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5405985448afbfe281cbf98ab7bbb3ab">QUICKCPPLIB_BITFIELD_BEGIN</a> (flag)</td></tr>
+<tr class="memdesc:a5405985448afbfe281cbf98ab7bbb3ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">The behaviour of the memory section. <a href="#a5405985448afbfe281cbf98ab7bbb3ab">More...</a><br /></td></tr>
+<tr class="separator:a5405985448afbfe281cbf98ab7bbb3ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad057ca569878e127389457e80e0f393d"><td class="memItemLeft" align="right" valign="top"><a id="ad057ca569878e127389457e80e0f393d"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>QUICKCPPLIB_BITFIELD_END</b> (flag)</td></tr>
+<tr class="separator:ad057ca569878e127389457e80e0f393d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a967031835185e5ba872a4e584d51c40d"><td class="memItemLeft" align="right" valign="top"><a id="a967031835185e5ba872a4e584d51c40d"></a>
virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a967031835185e5ba872a4e584d51c40d">close</a> () noexcept override</td></tr>
<tr class="memdesc:a967031835185e5ba872a4e584d51c40d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Immediately close the native handle type managed by this handle. <br /></td></tr>
@@ -354,7 +337,7 @@ Protected Attributes</h2></td></tr>
flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flag</b> {flag::none}</td></tr>
<tr class="separator:aff579de98516b809327d4443ad8eb84a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:affb091ded80ffde7c0c3854e2abc52fd"><td class="memItemLeft" align="right" valign="top"><a id="affb091ded80ffde7c0c3854e2abc52fd"></a>
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
<tr class="separator:affb091ded80ffde7c0c3854e2abc52fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
@@ -368,66 +351,6 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
<p>There are two configurations of section handle, one where the user supplies the file backing for the section, and the other where an internal file descriptor to an unnamed inode in a tmpfs or ramfs based temporary directory is kept and managed. The latter is merely a convenience for creating an anonymous source of memory which can be resized whilst preserving contents: see <code>algorithm::trivial_vector&lt;T&gt;</code>.</p>
<p>On Windows the native handle of this handle is that of the NT kernel section object. On POSIX it is a cloned file descriptor of the backing storage if there is backing storage, else it will be the aforementioned file descriptor to an unnamed inode. </p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
-<a id="a5a4e0afe59d0eeb5683fb50d3d3ad549"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5a4e0afe59d0eeb5683fb50d3d3ad549">&#9670;&nbsp;</a></span>bitfield__flag</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">enum <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549">llfio_v2_xxx::section_handle::bitfield__flag</a> : unsigned</td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>The behaviour of the memory section. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5a4e0afe59d0eeb5683fb50d3d3ad549aaa630970737cad05cddc88036a638d44"></a>none&#160;</td><td class="fielddoc"><p>No flags. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5a4e0afe59d0eeb5683fb50d3d3ad549a63bd03aae67c348121ac0bf88161d90f"></a>read&#160;</td><td class="fielddoc"><p>Memory views can be read. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5a4e0afe59d0eeb5683fb50d3d3ad549ab61620219a89d4c133c6c6f4b781a9ba"></a>write&#160;</td><td class="fielddoc"><p>Memory views can be written. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5a4e0afe59d0eeb5683fb50d3d3ad549ac57346933aada59cff3ee2296cc70332"></a>cow&#160;</td><td class="fielddoc"><p>Memory views can be copy on written. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5a4e0afe59d0eeb5683fb50d3d3ad549a631fef30d1e40f9d7ce6fa3a0ad4fa9d"></a>execute&#160;</td><td class="fielddoc"><p>Memory views can execute code. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5a4e0afe59d0eeb5683fb50d3d3ad549a979d3bc3dccd10f67de00b228a12822f"></a>nocommit&#160;</td><td class="fielddoc"><p>Don't allocate space for this memory in the system immediately. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5a4e0afe59d0eeb5683fb50d3d3ad549a1e91d093711d9d800b8ddc2f6e5d1ca2"></a>prefault&#160;</td><td class="fielddoc"><p>Prefault, as if by reading every page, any views of memory upon creation. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5a4e0afe59d0eeb5683fb50d3d3ad549afde37a72636d74e28ce3553154341756"></a>executable&#160;</td><td class="fielddoc"><p>The backing storage is in fact an executable program binary. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5a4e0afe59d0eeb5683fb50d3d3ad549a41771be4e90788c06cc49f2d35538108"></a>singleton&#160;</td><td class="fielddoc"><p>A single instance of this section is to be shared by all processes using the same backing file. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5a4e0afe59d0eeb5683fb50d3d3ad549a06b41188d84f0fee5cff37c71b3d5877"></a>barrier_on_close&#160;</td><td class="fielddoc"><p>Maps of this section, if writable, issue a <code>barrier()</code> when destructed blocking until data (not metadata) reaches physical storage. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5a4e0afe59d0eeb5683fb50d3d3ad549a2087205d797bb4de249c85cc8b87afc5"></a>nvram&#160;</td><td class="fielddoc"><p>This section is of non-volatile RAM. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5a4e0afe59d0eeb5683fb50d3d3ad549a8d15253a30787fff812c9f254e26baf1"></a>page_sizes_1&#160;</td><td class="fielddoc"><p>Use <code>utils::page_sizes()[1]</code> sized pages, or fail. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5a4e0afe59d0eeb5683fb50d3d3ad549aa3a2b1b4beaa0a8f0e2658cb321f7c46"></a>page_sizes_2&#160;</td><td class="fielddoc"><p>Use <code>utils::page_sizes()[2]</code> sized pages, or fail. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5a4e0afe59d0eeb5683fb50d3d3ad549a0a225b6b1594a5540799b4c58c937522"></a>page_sizes_3&#160;</td><td class="fielddoc"><p>Use <code>utils::page_sizes()[3]</code> sized pages, or fail. </p>
-</td></tr>
-</table>
-<div class="fragment"><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; {<a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549aaa630970737cad05cddc88036a638d44">none</a> = 0U, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a63bd03aae67c348121ac0bf88161d90f">read</a> = 1U &lt;&lt; 0U, <span class="comment">//!&lt; Memory views can be read</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549ab61620219a89d4c133c6c6f4b781a9ba">write</a> = 1U &lt;&lt; 1U, <span class="comment">//!&lt; Memory views can be written</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549ac57346933aada59cff3ee2296cc70332">cow</a> = 1U &lt;&lt; 2U, <span class="comment">//!&lt; Memory views can be copy on written</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a631fef30d1e40f9d7ce6fa3a0ad4fa9d">execute</a> = 1U &lt;&lt; 3U, <span class="comment">//!&lt; Memory views can execute code</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a979d3bc3dccd10f67de00b228a12822f">nocommit</a> = 1U &lt;&lt; 8U, <span class="comment">//!&lt; Don&#39;t allocate space for this memory in the system immediately</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a1e91d093711d9d800b8ddc2f6e5d1ca2">prefault</a> = 1U &lt;&lt; 9U, <span class="comment">//!&lt; Prefault, as if by reading every page, any views of memory upon creation.</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549afde37a72636d74e28ce3553154341756">executable</a> = 1U &lt;&lt; 10U, <span class="comment">//!&lt; The backing storage is in fact an executable program binary.</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a41771be4e90788c06cc49f2d35538108">singleton</a> = 1U &lt;&lt; 11U, <span class="comment">//!&lt; A single instance of this section is to be shared by all processes using the same backing file.</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a06b41188d84f0fee5cff37c71b3d5877">barrier_on_close</a> = 1U &lt;&lt; 16U, <span class="comment">//!&lt; Maps of this section, if writable, issue a `barrier()` when destructed blocking until data (not metadata) reaches physical storage.</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a2087205d797bb4de249c85cc8b87afc5">nvram</a> = 1U &lt;&lt; 17U, <span class="comment">//!&lt; This section is of non-volatile RAM</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a8d15253a30787fff812c9f254e26baf1">page_sizes_1</a> = 1U &lt;&lt; 24U, <span class="comment">//!&lt; Use `utils::page_sizes()[1]` sized pages, or fail.</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549aa3a2b1b4beaa0a8f0e2658cb321f7c46">page_sizes_2</a> = 2U &lt;&lt; 24U, <span class="comment">//!&lt; Use `utils::page_sizes()[2]` sized pages, or fail.</span></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a0a225b6b1594a5540799b4c58c937522">page_sizes_3</a> = 3U &lt;&lt; 24U, <span class="comment">//!&lt; Use `utils::page_sizes()[3]` sized pages, or fail.</span></div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; readwrite = (read | <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549ab61620219a89d4c133c6c6f4b781a9ba">write</a>)};</div><div class="ttc" id="classllfio__v2__xxx_1_1section__handle_html_a5a4e0afe59d0eeb5683fb50d3d3ad549a979d3bc3dccd10f67de00b228a12822f"><div class="ttname"><a href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a979d3bc3dccd10f67de00b228a12822f">llfio_v2_xxx::section_handle::nocommit</a></div><div class="ttdoc">Don&amp;#39;t allocate space for this memory in the system immediately. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:64</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1section__handle_html_a5a4e0afe59d0eeb5683fb50d3d3ad549aaa630970737cad05cddc88036a638d44"><div class="ttname"><a href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549aaa630970737cad05cddc88036a638d44">llfio_v2_xxx::section_handle::none</a></div><div class="ttdoc">No flags. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:58</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1section__handle_html_a5a4e0afe59d0eeb5683fb50d3d3ad549a0a225b6b1594a5540799b4c58c937522"><div class="ttname"><a href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a0a225b6b1594a5540799b4c58c937522">llfio_v2_xxx::section_handle::page_sizes_3</a></div><div class="ttdoc">Use utils::page_sizes()[3] sized pages, or fail. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:74</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1section__handle_html_a5a4e0afe59d0eeb5683fb50d3d3ad549aa3a2b1b4beaa0a8f0e2658cb321f7c46"><div class="ttname"><a href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549aa3a2b1b4beaa0a8f0e2658cb321f7c46">llfio_v2_xxx::section_handle::page_sizes_2</a></div><div class="ttdoc">Use utils::page_sizes()[2] sized pages, or fail. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:73</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1section__handle_html_a5a4e0afe59d0eeb5683fb50d3d3ad549afde37a72636d74e28ce3553154341756"><div class="ttname"><a href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549afde37a72636d74e28ce3553154341756">llfio_v2_xxx::section_handle::executable</a></div><div class="ttdoc">The backing storage is in fact an executable program binary. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:66</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1section__handle_html_a5a4e0afe59d0eeb5683fb50d3d3ad549a63bd03aae67c348121ac0bf88161d90f"><div class="ttname"><a href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a63bd03aae67c348121ac0bf88161d90f">llfio_v2_xxx::section_handle::read</a></div><div class="ttdoc">Memory views can be read. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:59</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1section__handle_html_a5a4e0afe59d0eeb5683fb50d3d3ad549a2087205d797bb4de249c85cc8b87afc5"><div class="ttname"><a href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a2087205d797bb4de249c85cc8b87afc5">llfio_v2_xxx::section_handle::nvram</a></div><div class="ttdoc">This section is of non-volatile RAM. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:70</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1section__handle_html_a5a4e0afe59d0eeb5683fb50d3d3ad549a06b41188d84f0fee5cff37c71b3d5877"><div class="ttname"><a href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a06b41188d84f0fee5cff37c71b3d5877">llfio_v2_xxx::section_handle::barrier_on_close</a></div><div class="ttdoc">Maps of this section, if writable, issue a barrier() when destructed blocking until data (not metadat...</div><div class="ttdef"><b>Definition:</b> map_handle.hpp:69</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1section__handle_html_a5a4e0afe59d0eeb5683fb50d3d3ad549ac57346933aada59cff3ee2296cc70332"><div class="ttname"><a href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549ac57346933aada59cff3ee2296cc70332">llfio_v2_xxx::section_handle::cow</a></div><div class="ttdoc">Memory views can be copy on written. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:61</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1section__handle_html_a5a4e0afe59d0eeb5683fb50d3d3ad549a8d15253a30787fff812c9f254e26baf1"><div class="ttname"><a href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a8d15253a30787fff812c9f254e26baf1">llfio_v2_xxx::section_handle::page_sizes_1</a></div><div class="ttdoc">Use utils::page_sizes()[1] sized pages, or fail. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:72</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1section__handle_html_a5a4e0afe59d0eeb5683fb50d3d3ad549a1e91d093711d9d800b8ddc2f6e5d1ca2"><div class="ttname"><a href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a1e91d093711d9d800b8ddc2f6e5d1ca2">llfio_v2_xxx::section_handle::prefault</a></div><div class="ttdoc">Prefault, as if by reading every page, any views of memory upon creation. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:65</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1section__handle_html_a5a4e0afe59d0eeb5683fb50d3d3ad549ab61620219a89d4c133c6c6f4b781a9ba"><div class="ttname"><a href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549ab61620219a89d4c133c6c6f4b781a9ba">llfio_v2_xxx::section_handle::write</a></div><div class="ttdoc">Memory views can be written. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:60</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1section__handle_html_a5a4e0afe59d0eeb5683fb50d3d3ad549a631fef30d1e40f9d7ce6fa3a0ad4fa9d"><div class="ttname"><a href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a631fef30d1e40f9d7ce6fa3a0ad4fa9d">llfio_v2_xxx::section_handle::execute</a></div><div class="ttdoc">Memory views can execute code. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:62</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1section__handle_html_a5a4e0afe59d0eeb5683fb50d3d3ad549a41771be4e90788c06cc49f2d35538108"><div class="ttname"><a href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a41771be4e90788c06cc49f2d35538108">llfio_v2_xxx::section_handle::singleton</a></div><div class="ttdoc">A single instance of this section is to be shared by all processes using the same backing file...</div><div class="ttdef"><b>Definition:</b> map_handle.hpp:67</div></div>
-</div><!-- fragment -->
-</div>
-</div>
<a id="aecd3a7db6cee3aec07d32fe6f99e6852"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aecd3a7db6cee3aec07d32fe6f99e6852">&#9670;&nbsp;</a></span>caching</h2>
@@ -450,7 +373,7 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
<p>What i/o on the handle may complete immediately due to kernel caching. </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No caching whatsoever, all reads and writes come from storage (i.e. <code>O_DIRECT|O_SYNC</code>). Align all i/o to 4Kb boundaries for this to work. <code>disable_safety_barriers</code> can be used here. </p>
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No caching whatsoever, all reads and writes come from storage (i.e. <code>O_DIRECT|O_SYNC</code>). Align all i/o to 4Kb boundaries for this to work. <code>disable_safety_barriers</code> can be used here. </p>
</td></tr>
<tr><td class="fieldname"><a id="aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98"></a>only_metadata&#160;</td><td class="fielddoc"><p>Cache reads and writes of metadata but avoid caching data (<code>O_DIRECT</code>), thus i/o here does not affect other cached data for other handles. Align all i/o to 4Kb boundaries for this to work. </p>
</td></tr>
@@ -465,8 +388,7 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
<tr><td class="fieldname"><a id="aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef"></a>temporary&#160;</td><td class="fielddoc"><p>Cache reads and writes of data and metadata so they complete immediately, only sending any updates to storage on last handle close in the system or if memory becomes tight as this file is expected to be temporary (Windows and FreeBSD only). </p>
</td></tr>
</table>
-<div class="fragment"><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; : <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <span class="comment">// bit 0 set means safety barriers enabled</span></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; {</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; unchanged = 0,</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> = 1, <span class="comment">//!&lt; No caching whatsoever, all reads and writes come from storage (i.e. &lt;tt&gt;O_DIRECT|O_SYNC&lt;/tt&gt;). Align all i/o to 4Kb boundaries for this to work. &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment"></span> only_metadata = 2, <span class="comment">//!&lt; Cache reads and writes of metadata but avoid caching data (&lt;tt&gt;O_DIRECT&lt;/tt&gt;), thus i/o here does not affect other cached data for other handles. Align all i/o to 4Kb boundaries for this to work.</span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="comment"></span> reads = 3, <span class="comment">//!&lt; Cache reads only. Writes of data and metadata do not complete until reaching storage (&lt;tt&gt;O_SYNC&lt;/tt&gt;). &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="comment"></span> reads_and_metadata = 5, <span class="comment">//!&lt; Cache reads and writes of metadata, but writes of data do not complete until reaching storage (&lt;tt&gt;O_DSYNC&lt;/tt&gt;). &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="comment"></span> all = 6, <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, sending writes to storage at some point when the kernel decides (this is the default file system caching on a system).</span></div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment"></span> safety_barriers = 7, <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, but issue safety barriers at certain points. See documentation for &lt;tt&gt;disable_safety_barriers&lt;/tt&gt;.</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment"></span> temporary = 8 <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, only sending any updates to storage on last handle close in the system or if memory becomes tight as this file is expected to be temporary (Windows and FreeBSD only).</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment"></span> <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; };</div><div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">llfio_v2_xxx::handle::none</a></div><div class="ttdoc">No flags. </div><div class="ttdef"><b>Definition:</b> handle.hpp:99</div></div>
-</div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; : <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <span class="comment">// bit 0 set means safety barriers enabled</span></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; {</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; unchanged = 0,</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; none = 1, <span class="comment">//!&lt; No caching whatsoever, all reads and writes come from storage (i.e. &lt;tt&gt;O_DIRECT|O_SYNC&lt;/tt&gt;). Align all i/o to 4Kb boundaries for this to work. &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment"></span> only_metadata = 2, <span class="comment">//!&lt; Cache reads and writes of metadata but avoid caching data (&lt;tt&gt;O_DIRECT&lt;/tt&gt;), thus i/o here does not affect other cached data for other handles. Align all i/o to 4Kb boundaries for this to work.</span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="comment"></span> reads = 3, <span class="comment">//!&lt; Cache reads only. Writes of data and metadata do not complete until reaching storage (&lt;tt&gt;O_SYNC&lt;/tt&gt;). &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="comment"></span> reads_and_metadata = 5, <span class="comment">//!&lt; Cache reads and writes of metadata, but writes of data do not complete until reaching storage (&lt;tt&gt;O_DSYNC&lt;/tt&gt;). &lt;tt&gt;disable_safety_barriers&lt;/tt&gt; can be used here.</span></div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="comment"></span> all = 6, <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, sending writes to storage at some point when the kernel decides (this is the default file system caching on a system).</span></div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment"></span> safety_barriers = 7, <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, but issue safety barriers at certain points. See documentation for &lt;tt&gt;disable_safety_barriers&lt;/tt&gt;.</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment"></span> temporary = 8 <span class="comment">//!&lt; Cache reads and writes of data and metadata so they complete immediately, only sending any updates to storage on last handle close in the system or if memory becomes tight as this file is expected to be temporary (Windows and FreeBSD only).</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment"></span> <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; };</div></div><!-- fragment -->
</div>
</div>
<a id="af0b352d0f273ba6fa70c178b2c2fee42"></a>
@@ -527,7 +449,7 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
<p>The behaviour of the handle: does it read, read and write, or atomic append? </p>
<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No ability to read or write anything, but can synchronise (SYNCHRONIZE or 0) </p>
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aa3930273a2d4cabbac309e0b75701dcaa334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No ability to read or write anything, but can synchronise (SYNCHRONIZE or 0) </p>
</td></tr>
<tr><td class="fieldname"><a id="aa3930273a2d4cabbac309e0b75701dcaaa4daf6d1e8da35af49c33bbe9ee91d79"></a>attr_read&#160;</td><td class="fielddoc"><p>Ability to read attributes (FILE_READ_ATTRIBUTES|SYNCHRONIZE or O_RDONLY) </p>
</td></tr>
@@ -540,9 +462,8 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
<tr><td class="fieldname"><a id="aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d"></a>append&#160;</td><td class="fielddoc"><p>All mainstream OSs and CIFS guarantee this is atomic with respect to all other appenders (FILE_APPEND_DATA|SYNCHRONISE or O_APPEND) </p>
</td></tr>
</table>
-<div class="fragment"><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; : <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <span class="comment">// bit 0 set means writable</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; {</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; unchanged = 0,</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> = 2, <span class="comment">//!&lt; No ability to read or write anything, but can synchronise (SYNCHRONIZE or 0)</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment"></span> attr_read = 4, <span class="comment">//!&lt; Ability to read attributes (FILE_READ_ATTRIBUTES|SYNCHRONIZE or O_RDONLY)</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment"></span> attr_write = 5, <span class="comment">//!&lt; Ability to read and write attributes (FILE_READ_ATTRIBUTES|FILE_WRITE_ATTRIBUTES|SYNCHRONIZE or O_RDONLY)</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">read</a> = 6, <span class="comment">//!&lt; Ability to read (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|SYNCHRONISE or O_RDONLY)</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">write</a> = 7, <span class="comment">//!&lt; Ability to read and write (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|FILE_WRITE_DATA|FILE_WRITE_ATTRIBUTES|FILE_WRITE_EA|FILE_APPEND_DATA|SYNCHRONISE or O_RDWR)</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"></span> append = 9 <span class="comment">//!&lt; All mainstream OSs and CIFS guarantee this is atomic with respect to all other appenders (FILE_APPEND_DATA|SYNCHRONISE or O_APPEND)</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"></span> <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; };</div><div class="ttc" id="namespacellfio__v2__xxx_html_af678f58d20e1f0962ff0744150342683"><div class="ttname"><a href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">llfio_v2_xxx::read</a></div><div class="ttdeci">file_handle::io_result&lt; file_handle::size_type &gt; read(file_handle &amp;self, file_handle::extent_type offset, std::initializer_list&lt; file_handle::buffer_type &gt; lst, deadline d=deadline()) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:386</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">llfio_v2_xxx::handle::none</a></div><div class="ttdoc">No flags. </div><div class="ttdef"><b>Definition:</b> handle.hpp:99</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_html_a5a8908704c9988bbecc69c2359e6fd4a"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">llfio_v2_xxx::write</a></div><div class="ttdeci">io_handle::io_result&lt; io_handle::const_buffers_type &gt; write(io_handle &amp;self, io_handle::io_request&lt; io_handle::const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle. </div><div class="ttdef"><b>Definition:</b> io_handle.hpp:588</div></div>
+<div class="fragment"><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; : <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <span class="comment">// bit 0 set means writable</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; {</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; unchanged = 0,</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; none = 2, <span class="comment">//!&lt; No ability to read or write anything, but can synchronise (SYNCHRONIZE or 0)</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment"></span> attr_read = 4, <span class="comment">//!&lt; Ability to read attributes (FILE_READ_ATTRIBUTES|SYNCHRONIZE or O_RDONLY)</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment"></span> attr_write = 5, <span class="comment">//!&lt; Ability to read and write attributes (FILE_READ_ATTRIBUTES|FILE_WRITE_ATTRIBUTES|SYNCHRONIZE or O_RDONLY)</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">read</a> = 6, <span class="comment">//!&lt; Ability to read (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|SYNCHRONISE or O_RDONLY)</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">write</a> = 7, <span class="comment">//!&lt; Ability to read and write (READ_CONTROL|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|FILE_WRITE_DATA|FILE_WRITE_ATTRIBUTES|FILE_WRITE_EA|FILE_APPEND_DATA|SYNCHRONISE or O_RDWR)</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"></span> append = 9 <span class="comment">//!&lt; All mainstream OSs and CIFS guarantee this is atomic with respect to all other appenders (FILE_APPEND_DATA|SYNCHRONISE or O_APPEND)</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"></span> <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; };</div><div class="ttc" id="namespacellfio__v2__xxx_html_af678f58d20e1f0962ff0744150342683"><div class="ttname"><a href="namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683">llfio_v2_xxx::read</a></div><div class="ttdeci">file_handle::io_result&lt; file_handle::size_type &gt; read(file_handle &amp;self, file_handle::extent_type offset, std::initializer_list&lt; file_handle::buffer_type &gt; lst, deadline d=deadline()) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:387</div></div>
+<div class="ttc" id="namespacellfio__v2__xxx_html_a5a8908704c9988bbecc69c2359e6fd4a"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a">llfio_v2_xxx::write</a></div><div class="ttdeci">io_handle::io_result&lt; io_handle::const_buffers_type &gt; write(io_handle &amp;self, io_handle::io_request&lt; io_handle::const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle. </div><div class="ttdef"><b>Definition:</b> io_handle.hpp:623</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -597,7 +518,7 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
</table>
</div><div class="memdoc">
<p>Returns the current path of the open handle as said by the operating system. Note that you are NOT guaranteed that any path refreshed bears any resemblance to the original, some operating systems will return some different path which still reaches the same inode via some other route e.g. hardlinks, dereferenced symbolic links, etc. Windows and Linux correctly track changes to the specific path the handle was opened with, not getting confused by other hard links. MacOS nearly gets it right, but under some circumstances e.g. renaming may switch to a different hard link's path which is almost certainly a bug.</p>
-<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::stablized_path&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
+<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
<p>On Linux if <code>/proc</code> is not mounted, this call fails with an error. All APIs in LLFIO which require the use of <code>current_path()</code> can be told to not use it e.g. <code>flag::disable_safety_unlinks</code>. It is up to you to detect if <code>current_path()</code> is not working, and to change how you call LLFIO appropriately.</p>
<dl class="section warning"><dt>Warning</dt><dd>This call is expensive, it always asks the kernel for the current path, and no checking is done to ensure what the kernel returns is accurate or even sensible. Be aware that despite these precautions, paths are unstable and <b>can change randomly at any moment</b>. Most code written to use absolute file systems paths is <b>racy</b>, so don't do it, use <code>path_handle</code> to fix a base location on the file system and work from that anchor instead!</dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>At least one malloc for the <code>path_type</code>, likely several more. </dd></dl>
@@ -607,6 +528,50 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
</div>
</div>
+<a id="a5405985448afbfe281cbf98ab7bbb3ab"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5405985448afbfe281cbf98ab7bbb3ab">&#9670;&nbsp;</a></span>QUICKCPPLIB_BITFIELD_BEGIN()</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::section_handle::QUICKCPPLIB_BITFIELD_BEGIN </td>
+ <td>(</td>
+ <td class="paramtype">flag&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></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>The behaviour of the memory section. </p>
+<p>&lt; No flags</p>
+<p>&lt; Memory views can be read</p>
+<p>&lt; Memory views can be written</p>
+<p>&lt; Memory views can be copy on written</p>
+<p>&lt; Memory views can execute code</p>
+<p>&lt; Don't allocate space for this memory in the system immediately</p>
+<p>&lt; Prefault, as if by reading every page, any views of memory upon creation.</p>
+<p>&lt; The backing storage is in fact an executable program binary.</p>
+<p>&lt; A single instance of this section is to be shared by all processes using the same backing file.</p>
+<p>&lt; Maps of this section, if writable, issue a <code>barrier()</code> when destructed blocking until data (not metadata) reaches physical storage.</p>
+<p>&lt; This section is of non-volatile RAM</p>
+<p>&lt; Use <code>utils::page_sizes()[1]</code> sized pages, or fail.</p>
+<p>&lt; Use <code>utils::page_sizes()[2]</code> sized pages, or fail.</p>
+<p>&lt; Use <code>utils::page_sizes()[3]</code> sized pages, or fail. </p>
+<div class="fragment"><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; {none = 0U, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#ab993693c98cdb52e2d611f8f9e24e4e2">read</a> = 1U &lt;&lt; 0U, <span class="comment">//!&lt; Memory views can be read</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#a681ed7e98ac17e6bb336b9287365141b">write</a> = 1U &lt;&lt; 1U, <span class="comment">//!&lt; Memory views can be written</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment"></span> cow = 1U &lt;&lt; 2U, <span class="comment">//!&lt; Memory views can be copy on written</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment"></span> execute = 1U &lt;&lt; 3U, <span class="comment">//!&lt; Memory views can execute code</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; nocommit = 1U &lt;&lt; 8U, <span class="comment">//!&lt; Don&#39;t allocate space for this memory in the system immediately</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="comment"></span> prefault = 1U &lt;&lt; 9U, <span class="comment">//!&lt; Prefault, as if by reading every page, any views of memory upon creation.</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment"></span> executable = 1U &lt;&lt; 10U, <span class="comment">//!&lt; The backing storage is in fact an executable program binary.</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment"></span> singleton = 1U &lt;&lt; 11U, <span class="comment">//!&lt; A single instance of this section is to be shared by all processes using the same backing file.</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; barrier_on_close = 1U &lt;&lt; 16U, <span class="comment">//!&lt; Maps of this section, if writable, issue a `barrier()` when destructed blocking until data (not metadata) reaches physical storage.</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"></span> nvram = 1U &lt;&lt; 17U, <span class="comment">//!&lt; This section is of non-volatile RAM</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; page_sizes_1 = 1U &lt;&lt; 24U, <span class="comment">//!&lt; Use `utils::page_sizes()[1]` sized pages, or fail.</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="comment"></span> page_sizes_2 = 2U &lt;&lt; 24U, <span class="comment">//!&lt; Use `utils::page_sizes()[2]` sized pages, or fail.</span></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="comment"></span> page_sizes_3 = 3U &lt;&lt; 24U, <span class="comment">//!&lt; Use `utils::page_sizes()[3]` sized pages, or fail.</span></div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; readwrite = (read | <a class="code" href="namespacellfio__v2__xxx.html#a681ed7e98ac17e6bb336b9287365141b">write</a>)};</div><div class="ttc" id="namespacellfio__v2__xxx_html_a681ed7e98ac17e6bb336b9287365141b"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a681ed7e98ac17e6bb336b9287365141b">llfio_v2_xxx::write</a></div><div class="ttdeci">map_handle::io_result&lt; map_handle::const_buffers_type &gt; write(map_handle &amp;self, map_handle::io_request&lt; map_handle::const_buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the mapped view. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:822</div></div>
+<div class="ttc" id="namespacellfio__v2__xxx_html_ab993693c98cdb52e2d611f8f9e24e4e2"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ab993693c98cdb52e2d611f8f9e24e4e2">llfio_v2_xxx::read</a></div><div class="ttdeci">map_handle::io_result&lt; map_handle::buffers_type &gt; read(map_handle &amp;self, map_handle::io_request&lt; map_handle::buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Read data from the mapped view. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:808</div></div>
+</div><!-- fragment -->
+</div>
+</div>
<a id="a00db3d1bbffbdb4237401568c441da21"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00db3d1bbffbdb4237401568c441da21">&#9670;&nbsp;</a></span>section() <span class="overload">[1/3]</span></h2>
@@ -705,7 +670,7 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
<p>This convenience overload create a writable section if the backing file is writable, otherwise a read-only section.</p>
<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX dup(), open() or NtCreateSection() can return. </dd></dl>
<div class="fragment"><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21">section</a>(<a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a680320bd539378d99870d9b2cdedb9c8">backing</a>, bytes, <a class="code" href="classllfio__v2__xxx_1_1section__handle.html#a680320bd539378d99870d9b2cdedb9c8">backing</a>.<a class="code" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() ? (flag::readwrite) : (<a class="code" href="namespacellfio__v2__xxx.html#ab993693c98cdb52e2d611f8f9e24e4e2">flag::read</a>)); }</div><div class="ttc" id="classllfio__v2__xxx_1_1section__handle_html_a680320bd539378d99870d9b2cdedb9c8"><div class="ttname"><a href="classllfio__v2__xxx_1_1section__handle.html#a680320bd539378d99870d9b2cdedb9c8">llfio_v2_xxx::section_handle::backing</a></div><div class="ttdeci">file_handle * backing() const noexcept</div><div class="ttdoc">Returns the borrowed handle backing this section, if any. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:163</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_html_ab993693c98cdb52e2d611f8f9e24e4e2"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ab993693c98cdb52e2d611f8f9e24e4e2">llfio_v2_xxx::read</a></div><div class="ttdeci">map_handle::io_result&lt; map_handle::buffers_type &gt; read(map_handle &amp;self, map_handle::io_request&lt; map_handle::buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Read data from the mapped view. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:812</div></div>
+<div class="ttc" id="namespacellfio__v2__xxx_html_ab993693c98cdb52e2d611f8f9e24e4e2"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ab993693c98cdb52e2d611f8f9e24e4e2">llfio_v2_xxx::read</a></div><div class="ttdeci">map_handle::io_result&lt; map_handle::buffers_type &gt; read(map_handle &amp;self, map_handle::io_request&lt; map_handle::buffers_type &gt; reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Read data from the mapped view. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:808</div></div>
<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a211fee447a47bdeb5424a2a5ae1de852"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">llfio_v2_xxx::handle::is_writable</a></div><div class="ttdeci">bool is_writable() const noexcept</div><div class="ttdoc">True if the handle is writable. </div><div class="ttdef"><b>Definition:</b> handle.hpp:290</div></div>
<div class="ttc" id="classllfio__v2__xxx_1_1section__handle_html_a00db3d1bbffbdb4237401568c441da21"><div class="ttname"><a href="classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21">llfio_v2_xxx::section_handle::section</a></div><div class="ttdeci">static result&lt; section_handle &gt; section(file_handle &amp;backing, extent_type maximum_size, flag _flag) noexcept</div><div class="ttdoc">Create a memory section backed by a file. </div></div>
</div><!-- fragment -->
diff --git a/classllfio__v2__xxx_1_1section__handle.js b/classllfio__v2__xxx_1_1section__handle.js
index 48a4eabe..8d9ef0ca 100644
--- a/classllfio__v2__xxx_1_1section__handle.js
+++ b/classllfio__v2__xxx_1_1section__handle.js
@@ -3,26 +3,9 @@ var classllfio__v2__xxx_1_1section__handle =
[ "extent_type", "classllfio__v2__xxx_1_1section__handle.html#a91a4e4110fe6ed6358de00de3ae934d1", null ],
[ "path_type", "classllfio__v2__xxx_1_1section__handle.html#a33481bae57d9ccd0c97946416f9682f3", null ],
[ "size_type", "classllfio__v2__xxx_1_1section__handle.html#ad623089ad47d566d5eeaefe202dbf3a0", null ],
- [ "bitfield__flag", "classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549", [
- [ "none", "classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549aaa630970737cad05cddc88036a638d44", null ],
- [ "read", "classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a63bd03aae67c348121ac0bf88161d90f", null ],
- [ "write", "classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549ab61620219a89d4c133c6c6f4b781a9ba", null ],
- [ "cow", "classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549ac57346933aada59cff3ee2296cc70332", null ],
- [ "execute", "classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a631fef30d1e40f9d7ce6fa3a0ad4fa9d", null ],
- [ "nocommit", "classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a979d3bc3dccd10f67de00b228a12822f", null ],
- [ "prefault", "classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a1e91d093711d9d800b8ddc2f6e5d1ca2", null ],
- [ "executable", "classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549afde37a72636d74e28ce3553154341756", null ],
- [ "singleton", "classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a41771be4e90788c06cc49f2d35538108", null ],
- [ "barrier_on_close", "classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a06b41188d84f0fee5cff37c71b3d5877", null ],
- [ "nvram", "classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a2087205d797bb4de249c85cc8b87afc5", null ],
- [ "page_sizes_1", "classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a8d15253a30787fff812c9f254e26baf1", null ],
- [ "page_sizes_2", "classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549aa3a2b1b4beaa0a8f0e2658cb321f7c46", null ],
- [ "page_sizes_3", "classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a0a225b6b1594a5540799b4c58c937522", null ],
- [ "readwrite", "classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a88d13c7a84c4b579c0da45a290fd6b78", null ]
- ] ],
[ "caching", "classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852", [
[ "unchanged", "classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a8d7b3d6b83c0a517eac07e1aac94b773", null ],
- [ "none", "classllfio__v2__xxx_1_1section__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
+ [ "none", "classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
[ "only_metadata", "classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98", null ],
[ "reads", "classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1", null ],
[ "reads_and_metadata", "classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852adec4ecca8ae1593f84eea4656599a693", null ],
@@ -39,7 +22,7 @@ var classllfio__v2__xxx_1_1section__handle =
] ],
[ "mode", "classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dca", [
[ "unchanged", "classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaa8d7b3d6b83c0a517eac07e1aac94b773", null ],
- [ "none", "classllfio__v2__xxx_1_1section__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
+ [ "none", "classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaa334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
[ "attr_read", "classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaaa4daf6d1e8da35af49c33bbe9ee91d79", null ],
[ "attr_write", "classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaa9f56aff64cb748e078ab221474132d19", null ],
[ "read", "classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e", null ],
@@ -78,6 +61,8 @@ var classllfio__v2__xxx_1_1section__handle =
[ "native_handle", "classllfio__v2__xxx_1_1section__handle.html#a942b0d276c9f20fe41baab679b88fe72", null ],
[ "operator=", "classllfio__v2__xxx_1_1section__handle.html#a55daf2f49cf0f182e18e139f6c35668a", null ],
[ "operator=", "classllfio__v2__xxx_1_1section__handle.html#a5435021920a220ef8d1e244036c8219b", null ],
+ [ "QUICKCPPLIB_BITFIELD_BEGIN", "classllfio__v2__xxx_1_1section__handle.html#a5405985448afbfe281cbf98ab7bbb3ab", null ],
+ [ "QUICKCPPLIB_BITFIELD_END", "classllfio__v2__xxx_1_1section__handle.html#ad057ca569878e127389457e80e0f393d", null ],
[ "release", "classllfio__v2__xxx_1_1section__handle.html#a1d273e38c061eb11f5012f624e9a202e", null ],
[ "requires_aligned_io", "classllfio__v2__xxx_1_1section__handle.html#a751e912d8dab755ea969a418c1d544eb", null ],
[ "section_flags", "classllfio__v2__xxx_1_1section__handle.html#a99bb38a023cb0cb486e6210485cc1ca4", null ],
diff --git a/classllfio__v2__xxx_1_1symlink__handle-members.html b/classllfio__v2__xxx_1_1symlink__handle-members.html
index e270297a..a4f60165 100644
--- a/classllfio__v2__xxx_1_1symlink__handle-members.html
+++ b/classllfio__v2__xxx_1_1symlink__handle-members.html
@@ -93,64 +93,56 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1symlink__handle
<tr bgcolor="#f0f0f0"><td class="entry"><b>_flags</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_inode</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">mutable</span><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_v</b> (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">bitfield__flag</a> enum name</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">are_reads_from_cache</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1">are_safety_barriers_issued</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf">are_writes_durable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a5c072cf6866aff3220047aba4e4f58fd">buffer_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>caching</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aae07dfa26b75c9b973909c7da4580cf5">clone</a>(mode mode_=mode::unchanged, deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">llfio_v2_xxx::handle::clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a2a22f51ca307aa30660ed91b26785ec3">close</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a08242270932bae1df673574b8b9b43b2">const_buffer_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>creation</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">current_path</a>() const noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>dev_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>extent_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>flag</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1d2070f6019c86e19de3707bf59ffa97">fs_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a282f0296cda08ad5ce2f9add2c16a77d">llfio_v2_xxx::fs_handle::fs_handle</a>(dev_t devid, ino_t inode)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a69cc7b561e6ef3a54ccfb2c4743e5c6f">llfio_v2_xxx::fs_handle::fs_handle</a>(fs_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#afbebcaabf0282923ff76f6a83d3b4073">llfio_v2_xxx::fs_handle::fs_handle</a>(const fs_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4">handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4">handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11">handle</a>(const handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ino_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>caching</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aae07dfa26b75c9b973909c7da4580cf5">clone</a>(mode mode_=mode::unchanged, deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">llfio_v2_xxx::handle::clone</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a2a22f51ca307aa30660ed91b26785ec3">close</a>() noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a08242270932bae1df673574b8b9b43b2">const_buffer_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>creation</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746">current_path</a>() const noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>dev_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>extent_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>flag</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1d2070f6019c86e19de3707bf59ffa97">fs_handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a282f0296cda08ad5ce2f9add2c16a77d">llfio_v2_xxx::fs_handle::fs_handle</a>(dev_t devid, ino_t inode)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a69cc7b561e6ef3a54ccfb2c4743e5c6f">llfio_v2_xxx::fs_handle::fs_handle</a>(fs_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#afbebcaabf0282923ff76f6a83d3b4073">llfio_v2_xxx::fs_handle::fs_handle</a>(const fs_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4">handle</a>()</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4">handle</a>(native_handle_type h, caching caching=caching::none, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11">handle</a>(const handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0">handle</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>ino_t</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e">is_overlapped</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb">is_process</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254">is_readable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed">is_regular</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19">is_section</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632">is_seekable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946">kernel_caching</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>mode</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72">native_handle</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a4bf1120bb74363b88eb77d704a3a0d7b">operator=</a>(symlink_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a50307b2975f01173ad23de6ff63f6bcf">operator=</a>(const symlink_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle::operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba">llfio_v2_xxx::fs_handle::operator=</a>(fs_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b">llfio_v2_xxx::fs_handle::operator=</a>(const fs_handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a4bf1120bb74363b88eb77d704a3a0d7b">operator=</a>(symlink_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a50307b2975f01173ad23de6ff63f6bcf">operator=</a>(const symlink_handle &amp;)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle::operator=</a>(const handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle::operator=</a>(handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba">llfio_v2_xxx::fs_handle::operator=</a>(fs_handle &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b">llfio_v2_xxx::fs_handle::operator=</a>(const fs_handle &amp;o)=delete</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5">parent_path_handle</a>(deadline d=std::chrono::seconds(30)) const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>path_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>path_view_type</b> typedef (defined in <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a>(flag)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(flag) (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aa519e98396a1596c880267dcc92643f1">random_symlink</a>(const path_handle &amp;dirpath, mode _mode=mode::write, flag flags=flag::none) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aa8f2a6e0f971b7b88a88562f8744f4da">read</a>(io_request&lt; buffers_type &gt; req={}) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e">release</a>() noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
@@ -172,10 +164,6 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1symlink__handle
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1">unique_id</a>() const noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> typedef</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a002c9dab669604d58e08aa8f4dbc99c8">unlink</a>(deadline d=std::chrono::seconds(30)) noexcept override</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> enum value</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a7227db10ebbb385311452e912d833447">write</a>(io_request&lt; const_buffers_type &gt; req, deadline d=deadline()) noexcept</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html">llfio_v2_xxx::symlink_handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~fs_handle</b>()=default (defined in <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html">llfio_v2_xxx::fs_handle</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~handle</b>() (defined in <a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a>)</td><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1handle.html">llfio_v2_xxx::handle</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
diff --git a/classllfio__v2__xxx_1_1symlink__handle.html b/classllfio__v2__xxx_1_1symlink__handle.html
index f6f61d02..1a86627e 100644
--- a/classllfio__v2__xxx_1_1symlink__handle.html
+++ b/classllfio__v2__xxx_1_1symlink__handle.html
@@ -171,29 +171,6 @@ 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_1symlink__handle.html#a08242270932bae1df673574b8b9b43b2">const_buffer_type</a> = <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view</a></td></tr>
<tr class="memdesc:a08242270932bae1df673574b8b9b43b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">The const buffer type used by this handle, which is a <code>path_view</code> <br /></td></tr>
<tr class="separator:a08242270932bae1df673574b8b9b43b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5929f46f42112bd805ab5001bfbf9d2a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">bitfield__flag</a> : unsigned { <br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> = 0,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">none</a> = 2,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">none</a> = 1,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> = 1U &lt;&lt; 0U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> = 1U &lt;&lt; 2U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> = 1U &lt;&lt; 3U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> = 1U &lt;&lt; 4U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> = 1U &lt;&lt; 5U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> = 1U &lt;&lt; 24U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> = 1U &lt;&lt; 25U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> = 1U &lt;&lt; 26U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> = 1U &lt;&lt; 27U,
-<br />
-&#160;&#160;<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> = 1U &lt;&lt; 28U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> = 1U &lt;&lt; 29U,
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> = 1U &lt;&lt; 30U
-<br />
- }<tr class="memdesc:a5929f46f42112bd805ab5001bfbf9d2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">More...</a><br /></td></tr>
-</td></tr>
-<tr class="separator:a5929f46f42112bd805ab5001bfbf9d2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a65884346740af7fb4648c79d44a750"><td class="memItemLeft" align="right" valign="top"><a id="a1a65884346740af7fb4648c79d44a750"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750">unique_id_type</a> = QUICKCPPLIB_NAMESPACE::integers128::uint128</td></tr>
<tr class="memdesc:a1a65884346740af7fb4648c79d44a750"><td class="mdescLeft">&#160;</td><td class="mdescRight">The unique identifier type used by this handle. <br /></td></tr>
@@ -249,6 +226,12 @@ virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom">
<tr class="separator:aa8f2a6e0f971b7b88a88562f8744f4da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7227db10ebbb385311452e912d833447"><td class="memItemLeft" align="right" valign="top">virtual result&lt; <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html">const_buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a7227db10ebbb385311452e912d833447">write</a> (<a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1io__request.html">io_request</a>&lt; <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html">const_buffers_type</a> &gt; req, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
<tr class="separator:a7227db10ebbb385311452e912d833447"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5222904f116c9beb0515a4a5aa850bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">QUICKCPPLIB_BITFIELD_BEGIN</a> (flag)</td></tr>
+<tr class="memdesc:ac5222904f116c9beb0515a4a5aa850bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise flags which can be specified. <a href="#ac5222904f116c9beb0515a4a5aa850bf">More...</a><br /></td></tr>
+<tr class="separator:ac5222904f116c9beb0515a4a5aa850bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memItemLeft" align="right" valign="top"><a id="aa7e9bedf8c7a4c4a79a644a6e1857ee4"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>QUICKCPPLIB_BITFIELD_END</b> (flag)</td></tr>
+<tr class="separator:aa7e9bedf8c7a4c4a79a644a6e1857ee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4716696b8700953889006251e0678aa4"><td class="memItemLeft" align="right" valign="top"><a id="a4716696b8700953889006251e0678aa4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4">swap</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;o) noexcept</td></tr>
<tr class="memdesc:a4716696b8700953889006251e0678aa4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap with another instance. <br /></td></tr>
@@ -369,7 +352,7 @@ result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:affb091ded80ffde7c0c3854e2abc52fd"><td class="memItemLeft" align="right" valign="top"><a id="affb091ded80ffde7c0c3854e2abc52fd"></a>
-<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
+<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a>&#160;</td><td class="memItemRight" valign="bottom"><b>_caching</b> {<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8">caching::none</a>}</td></tr>
<tr class="separator:affb091ded80ffde7c0c3854e2abc52fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad758cf1eb2e0b4c63583eab05e7f6820"><td class="memItemLeft" align="right" valign="top"><a id="ad758cf1eb2e0b4c63583eab05e7f6820"></a>
flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::none}</td></tr>
@@ -390,79 +373,6 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<p>If <code>LLFIO_SYMLINK_HANDLE_IS_FAKED</code> is on, the handle is race free up to the containing directory only. If a third party relocates the symbolic link into a different directory, and race free checking is enabled, this class will simply refuse to work with <code>errc::no_such_file_or_directory</code> as it no longer has any way of finding the symbolic link. You should take care that this does not become a denial of service attack.</p>
<p>On Microsoft Windows, there are many kinds of symbolic link: this implementation supports directory junctions, and NTFS symbolic links. Reads of any others will return an error code comparing equal to <code>errc::protocol_not_supported</code>. One should note that modifying symbolic links was not historically permitted by users with ordinary permissions on Microsoft Windows, however recent versions of Windows 10 do support symbolic links for ordinary users. All versions of Windows support directory symbolic links (junctions), these work for all users in any configuration. </p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
-<a id="a5929f46f42112bd805ab5001bfbf9d2a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5929f46f42112bd805ab5001bfbf9d2a">&#9670;&nbsp;</a></span>bitfield__flag</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_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">llfio_v2_xxx::handle::bitfield__flag</a> : unsigned</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>Bitwise flags which can be specified. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298"></a>none&#160;</td><td class="fielddoc"><p>No flags. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No ability to read or write anything, but can synchronise (SYNCHRONIZE or 0) </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8"></a>none&#160;</td><td class="fielddoc"><p>No caching whatsoever, all reads and writes come from storage (i.e. <code>O_DIRECT|O_SYNC</code>). Align all i/o to 4Kb boundaries for this to work. <code>disable_safety_barriers</code> can be used here. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962"></a>unlink_on_first_close&#160;</td><td class="fielddoc"><p>Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d"></a>disable_safety_barriers&#160;</td><td class="fielddoc"><p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
-<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
-<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b"></a>disable_safety_unlinks&#160;</td><td class="fielddoc"><p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free. </dd></dl>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3"></a>disable_prefetching&#160;</td><td class="fielddoc"><p>Ask the OS to disable prefetching of data. This can improve random i/o performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0"></a>maximum_prefetching&#160;</td><td class="fielddoc"><p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c"></a>win_disable_unlink_emulation&#160;</td><td class="fielddoc"><p>See the documentation for <code>unlink_on_first_close</code> </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0"></a>win_disable_sparse_file_creation&#160;</td><td class="fielddoc"><p>Microsoft Windows NTFS, having been created in the late 1980s, did not originally implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
-<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
-<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322"></a>disable_parallelism&#160;</td><td class="fielddoc"><p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681"></a>win_create_case_sensitive_directory&#160;</td><td class="fielddoc"><p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a"></a>overlapped&#160;</td><td class="fielddoc"><p>On Windows, create any new handles with OVERLAPPED semantics. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59"></a>byte_lock_insanity&#160;</td><td class="fielddoc"><p>Using insane POSIX byte range locks. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d"></a>anonymous_inode&#160;</td><td class="fielddoc"><p>This is an inode created with no representation on the filing system. </p>
-</td></tr>
-</table>
-<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a> = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">unlink_on_first_close</a> = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">disable_safety_barriers</a> = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">disable_safety_unlinks</a> = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">disable_prefetching</a> = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">maximum_prefetching</a> = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">win_disable_unlink_emulation</a> = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">win_disable_sparse_file_creation</a> = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">disable_parallelism</a> = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">win_create_case_sensitive_directory</a> = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">overlapped</a> = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">byte_lock_insanity</a> = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">anonymous_inode</a> = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div><div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">llfio_v2_xxx::handle::win_create_case_sensitive_directory</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:176</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">llfio_v2_xxx::handle::anonymous_inode</a></div><div class="ttdoc">This is an inode created with no representation on the filing system. </div><div class="ttdef"><b>Definition:</b> handle.hpp:182</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">llfio_v2_xxx::handle::disable_safety_unlinks</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:137</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">llfio_v2_xxx::handle::disable_parallelism</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:170</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">llfio_v2_xxx::handle::none</a></div><div class="ttdoc">No flags. </div><div class="ttdef"><b>Definition:</b> handle.hpp:99</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">llfio_v2_xxx::handle::maximum_prefetching</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:145</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">llfio_v2_xxx::handle::overlapped</a></div><div class="ttdoc">On Windows, create any new handles with OVERLAPPED semantics. </div><div class="ttdef"><b>Definition:</b> handle.hpp:180</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">llfio_v2_xxx::handle::disable_prefetching</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:141</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">llfio_v2_xxx::handle::byte_lock_insanity</a></div><div class="ttdoc">Using insane POSIX byte range locks. </div><div class="ttdef"><b>Definition:</b> handle.hpp:181</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">llfio_v2_xxx::handle::unlink_on_first_close</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:109</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">llfio_v2_xxx::handle::win_disable_unlink_emulation</a></div><div class="ttdoc">See the documentation for unlink_on_first_close </div><div class="ttdef"><b>Definition:</b> handle.hpp:147</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">llfio_v2_xxx::handle::disable_safety_barriers</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:128</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">llfio_v2_xxx::handle::win_disable_sparse_file_creation</a></div><div class="ttdef"><b>Definition:</b> handle.hpp:163</div></div>
-</div><!-- fragment -->
-</div>
-</div>
<a id="a1908a242ca435cf1386fe96a86da4002"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1908a242ca435cf1386fe96a86da4002">&#9670;&nbsp;</a></span>symlink_type</h2>
@@ -494,8 +404,7 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
<tr><td class="fieldname"><a id="a1908a242ca435cf1386fe96a86da4002ae295d0310a8145d4037bb19c69aa7a1a"></a>win_junction&#160;</td><td class="fielddoc"><p>NTFS directory junction (Windows only, directories and volumes only) </p>
</td></tr>
</table>
-<div class="fragment"><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; {</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">none</a>, <span class="comment">//!&lt;! No link</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"></span> symbolic, <span class="comment">//!&lt; Standard symbolic link</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; win_wsl, <span class="comment">//!&lt; WSL symbolic link (Windows only)</span></div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span> win_junction <span class="comment">//!&lt; NTFS directory junction (Windows only, directories and volumes only)</span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"></span> };</div><div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298">llfio_v2_xxx::handle::none</a></div><div class="ttdoc">No flags. </div><div class="ttdef"><b>Definition:</b> handle.hpp:99</div></div>
-</div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; {</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; none, <span class="comment">//!&lt;! No link</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"></span> symbolic, <span class="comment">//!&lt; Standard symbolic link</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; win_wsl, <span class="comment">//!&lt; WSL symbolic link (Windows only)</span></div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span> win_junction <span class="comment">//!&lt; NTFS directory junction (Windows only, directories and volumes only)</span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"></span> };</div></div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
@@ -589,7 +498,7 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</table>
</div><div class="memdoc">
<p>Returns the current path of the open handle as said by the operating system. Note that you are NOT guaranteed that any path refreshed bears any resemblance to the original, some operating systems will return some different path which still reaches the same inode via some other route e.g. hardlinks, dereferenced symbolic links, etc. Windows and Linux correctly track changes to the specific path the handle was opened with, not getting confused by other hard links. MacOS nearly gets it right, but under some circumstances e.g. renaming may switch to a different hard link's path which is almost certainly a bug.</p>
-<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::stablized_path&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
+<p>If LLFIO was not able to determine the current path for this open handle e.g. the inode has been unlinked, it returns an empty path. Be aware that FreeBSD can return an empty (deleted) path for file inodes no longer cached by the kernel path cache, LLFIO cannot detect the difference. FreeBSD will also return any path leading to the inode if it is hard linked. FreeBSD does implement path retrieval for directory inodes correctly however, and see <code>algorithm::cached_parent_handle_adapter&lt;T&gt;</code> for a handle adapter which makes use of that.</p>
<p>On Linux if <code>/proc</code> is not mounted, this call fails with an error. All APIs in LLFIO which require the use of <code>current_path()</code> can be told to not use it e.g. <code>flag::disable_safety_unlinks</code>. It is up to you to detect if <code>current_path()</code> is not working, and to change how you call LLFIO appropriately.</p>
<dl class="section warning"><dt>Warning</dt><dd>This call is expensive, it always asks the kernel for the current path, and no checking is done to ensure what the kernel returns is accurate or even sensible. Be aware that despite these precautions, paths are unstable and <b>can change randomly at any moment</b>. Most code written to use absolute file systems paths is <b>racy</b>, so don't do it, use <code>path_handle</code> to fix a base location on the file system and work from that anchor instead!</dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>At least one malloc for the <code>path_type</code>, likely several more. </dd></dl>
@@ -629,6 +538,51 @@ ino_t&#160;</td><td class="memItemRight" valign="bottom"><b>_inode</b> {0}</td><
</div>
</div>
+<a id="ac5222904f116c9beb0515a4a5aa850bf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac5222904f116c9beb0515a4a5aa850bf">&#9670;&nbsp;</a></span>QUICKCPPLIB_BITFIELD_BEGIN()</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::handle::QUICKCPPLIB_BITFIELD_BEGIN </td>
+ <td>(</td>
+ <td class="paramtype">flag&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Bitwise flags which can be specified. </p>
+<p>&lt; No flags </p><pre class="fragment">Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed
+</pre><p> to by <code>path()</code> upon the call of <code>close()</code> if and only if the inode matches. On Windows, if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous editions of Windows, the file entry does not disappears but becomes unavailable for anyone else to open with an <code>errc::resource_unavailable_try_again</code> error return. Because this is confusing, unless the <code>win_disable_unlink_emulation</code> flag is also specified, this POSIX behaviour is somewhat emulated by LLFIO on older Windows by renaming the file to a random name on <code>close()</code> causing it to appear to have been unlinked immediately.</p>
+<p>Some kernel caching modes have unhelpfully inconsistent behaviours in getting your data onto storage, so by default unless this flag is specified LLFIO adds extra fsyncs to the following operations for the caching modes specified below: truncation of file length either explicitly or during file open. closing of the handle either explicitly or in the destructor.</p>
+<p>Additionally on Linux only to prevent loss of file metadata: On the parent directory whenever a file might have been created. On the parent directory on file close.</p>
+<p>This only occurs for these kernel caching modes: caching::none caching::reads caching::reads_and_metadata caching::safety_barriers</p>
+<p><code>file_handle::unlink()</code> could accidentally delete the wrong file if someone has renamed the open file handle since the time it was opened. To prevent this occuring, where the OS doesn't provide race free unlink-by-open-handle we compare the inode of the path we are about to unlink with that of the open handle before unlinking. </p><dl class="section warning"><dt>Warning</dt><dd>This does not prevent races where in between the time of checking the inode and executing the unlink a third party changes the item about to be unlinked. Only operating systems with a true race-free unlink syscall are race free.</dd></dl>
+<p>Ask the OS to disable prefetching of data. This can improve random i/o performance.</p>
+<p>Ask the OS to maximise prefetching of data, possibly prefetching the entire file into kernel cache. This can improve sequential i/o performance.</p>
+<p>&lt; See the documentation for <code>unlink_on_first_close</code> </p><pre class="fragment">Microsoft Windows NTFS, having been created in the late 1980s, did not originally
+</pre><p> implement extents-based storage and thus could only represent sparse files via efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000), a proper extents-based on-storage representation was added, thus allowing only 64Kb extent chunks written to be stored irrespective of whatever the maximum file extent was set to.</p>
+<p>For various historical reasons, extents-based storage is disabled by default in newly created files on NTFS, unlike in almost every other major filing system. You have to explicitly "opt in" to extents-based storage.</p>
+<p>As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to extents-based storage for any empty file it creates. If you don't want this, you can specify this flag to prevent that happening.</p>
+<p>Filesystems tend to be embarrassingly parallel for operations performed to different inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or the Parallelism or Concurrency standard library extensions to usually complete the operation in constant rather than linear time. If you don't want this default, you can disable default using this flag.</p>
+<p>Microsoft Windows NTFS has the option, when creating a directory, to set whether leafname lookup will be case sensitive. This is the only way of getting exact POSIX semantics on Windows without resorting to editing the system registry, however it also affects all code doing lookups within that directory, so we must default it to off.</p>
+<p>&lt; On Windows, create any new handles with OVERLAPPED semantics</p>
+<p>&lt; Using insane POSIX byte range locks</p>
+<p>&lt; This is an inode created with no representation on the filing system </p>
+<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; none = 0, <span class="comment">//!&lt; No flags</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"></span><span class="comment"> /*! Unlinks the file on handle close. On POSIX, this simply unlinks whatever is pointed</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> to by `path()` upon the call of `close()` if and only if the inode matches. On Windows,</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> if you are on Windows 10 1709 or later, exactly the same thing occurs. If on previous</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> editions of Windows, the file entry does not disappears but becomes unavailable for</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> anyone else to open with an `errc::resource_unavailable_try_again` error return. Because this is confusing, unless the</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> `win_disable_unlink_emulation` flag is also specified, this POSIX behaviour is</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> somewhat emulated by LLFIO on older Windows by renaming the file to a random name on `close()`</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> causing it to appear to have been unlinked immediately.</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; unlink_on_first_close = 1U &lt;&lt; 0U,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /*! Some kernel caching modes have unhelpfully inconsistent behaviours</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> in getting your data onto storage, so by default unless this flag is</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> specified LLFIO adds extra fsyncs to the following operations for the</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> caching modes specified below:</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> * truncation of file length either explicitly or during file open.</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> * closing of the handle either explicitly or in the destructor.</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> Additionally on Linux only to prevent loss of file metadata:</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> * On the parent directory whenever a file might have been created.</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> * On the parent directory on file close.</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> This only occurs for these kernel caching modes:</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> * caching::none</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment"> * caching::reads</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"> * caching::reads_and_metadata</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment"> * caching::safety_barriers</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; disable_safety_barriers = 1U &lt;&lt; 2U,<span class="comment"></span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /*! `file_handle::unlink()` could accidentally delete the wrong file if someone has</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> renamed the open file handle since the time it was opened. To prevent this occuring,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> where the OS doesn&#39;t provide race free unlink-by-open-handle we compare the inode of</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> the path we are about to unlink with that of the open handle before unlinking.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> \warning This does not prevent races where in between the time of checking the inode</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> and executing the unlink a third party changes the item about to be unlinked. Only</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> operating systems with a true race-free unlink syscall are race free.</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; disable_safety_unlinks = 1U &lt;&lt; 3U,<span class="comment"></span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /*! Ask the OS to disable prefetching of data. This can improve random</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> i/o performance.</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; disable_prefetching = 1U &lt;&lt; 4U,<span class="comment"></span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> /*! Ask the OS to maximise prefetching of data, possibly prefetching the entire file</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> into kernel cache. This can improve sequential i/o performance.</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; maximum_prefetching = 1U &lt;&lt; 5U,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; win_disable_unlink_emulation = 1U &lt;&lt; 24U, <span class="comment">//!&lt; See the documentation for `unlink_on_first_close`</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span><span class="comment"> /*! Microsoft Windows NTFS, having been created in the late 1980s, did not originally</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> implement extents-based storage and thus could only represent sparse files via</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> efficient compression of intermediate zeros. With NTFS v3.0 (Microsoft Windows 2000),</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> a proper extents-based on-storage representation was added, thus allowing only 64Kb</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> extent chunks written to be stored irrespective of whatever the maximum file extent</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> was set to.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> For various historical reasons, extents-based storage is disabled by default in newly</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> created files on NTFS, unlike in almost every other major filing system. You have to</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> explicitly &quot;opt in&quot; to extents-based storage.</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> As extents-based storage is nearly cost free on NTFS, LLFIO by default opts in to</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> extents-based storage for any empty file it creates. If you don&#39;t want this, you</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> can specify this flag to prevent that happening.</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; win_disable_sparse_file_creation = 1U &lt;&lt; 25U,<span class="comment"></span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> /*! Filesystems tend to be embarrassingly parallel for operations performed to different</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> inodes. Where LLFIO performs i/o to multiple inodes at a time, it will use OpenMP or</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> the Parallelism or Concurrency standard library extensions to usually complete the</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> operation in constant rather than linear time. If you don&#39;t want this default, you can</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> disable default using this flag.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; disable_parallelism = 1U &lt;&lt; 26U,<span class="comment"></span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> /*! Microsoft Windows NTFS has the option, when creating a directory, to set whether</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> leafname lookup will be case sensitive. This is the only way of getting exact POSIX</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> semantics on Windows without resorting to editing the system registry, however it also</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> affects all code doing lookups within that directory, so we must default it to off.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; win_create_case_sensitive_directory = 1U &lt;&lt; 27U,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// NOTE: IF UPDATING THIS UPDATE THE std::ostream PRINTER BELOW!!!</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; overlapped = 1U &lt;&lt; 28U, <span class="comment">//!&lt; On Windows, create any new handles with OVERLAPPED semantics</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> byte_lock_insanity = 1U &lt;&lt; 29U, <span class="comment">//!&lt; Using insane POSIX byte range locks</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"></span> anonymous_inode = 1U &lt;&lt; 30U <span class="comment">//!&lt; This is an inode created with no representation on the filing system</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span> } QUICKCPPLIB_BITFIELD_END(flag);</div></div><!-- fragment -->
+</div>
+</div>
<a id="aa519e98396a1596c880267dcc92643f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa519e98396a1596c880267dcc92643f1">&#9670;&nbsp;</a></span>random_symlink()</h2>
diff --git a/classllfio__v2__xxx_1_1symlink__handle.js b/classllfio__v2__xxx_1_1symlink__handle.js
index 7a0fdaf3..768bee9d 100644
--- a/classllfio__v2__xxx_1_1symlink__handle.js
+++ b/classllfio__v2__xxx_1_1symlink__handle.js
@@ -18,23 +18,6 @@ var classllfio__v2__xxx_1_1symlink__handle =
[ "path_view_type", "classllfio__v2__xxx_1_1symlink__handle.html#a59fc570c6ede7b6d46cb65b60792d83a", null ],
[ "size_type", "classllfio__v2__xxx_1_1symlink__handle.html#afcfd44f6e9c1f3856a3427b8a213499b", null ],
[ "unique_id_type", "classllfio__v2__xxx_1_1symlink__handle.html#a1a65884346740af7fb4648c79d44a750", null ],
- [ "bitfield__flag", "classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2a", [
- [ "none", "classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298", null ],
- [ "none", "classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
- [ "none", "classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
- [ "unlink_on_first_close", "classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962", null ],
- [ "disable_safety_barriers", "classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d", null ],
- [ "disable_safety_unlinks", "classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b", null ],
- [ "disable_prefetching", "classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3", null ],
- [ "maximum_prefetching", "classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0", null ],
- [ "win_disable_unlink_emulation", "classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c", null ],
- [ "win_disable_sparse_file_creation", "classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0", null ],
- [ "disable_parallelism", "classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322", null ],
- [ "win_create_case_sensitive_directory", "classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681", null ],
- [ "overlapped", "classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a", null ],
- [ "byte_lock_insanity", "classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59", null ],
- [ "anonymous_inode", "classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d", null ]
- ] ],
[ "symlink_type", "classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002", [
[ "none", "classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a334c4a4c42fdb79d7ebc3e73b517e6f8", null ],
[ "symbolic", "classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a7bf46ad61adc2265f803fc3b798b3559", null ],
@@ -73,6 +56,8 @@ var classllfio__v2__xxx_1_1symlink__handle =
[ "operator=", "classllfio__v2__xxx_1_1symlink__handle.html#a4bf1120bb74363b88eb77d704a3a0d7b", null ],
[ "operator=", "classllfio__v2__xxx_1_1symlink__handle.html#a50307b2975f01173ad23de6ff63f6bcf", null ],
[ "parent_path_handle", "classllfio__v2__xxx_1_1symlink__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5", null ],
+ [ "QUICKCPPLIB_BITFIELD_BEGIN", "classllfio__v2__xxx_1_1symlink__handle.html#ac5222904f116c9beb0515a4a5aa850bf", null ],
+ [ "QUICKCPPLIB_BITFIELD_END", "classllfio__v2__xxx_1_1symlink__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4", null ],
[ "read", "classllfio__v2__xxx_1_1symlink__handle.html#aa8f2a6e0f971b7b88a88562f8744f4da", null ],
[ "release", "classllfio__v2__xxx_1_1symlink__handle.html#a1d273e38c061eb11f5012f624e9a202e", null ],
[ "relink", "classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c", null ],
diff --git a/config_8hpp.html b/config_8hpp.html
index 24d06cea..e33b4529 100644
--- a/config_8hpp.html
+++ b/config_8hpp.html
@@ -94,21 +94,21 @@ $(document).ready(function(){initNavTree('config_8hpp.html','');});
<p>Configures a compiler environment for LLFIO header and source code.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;iostream&gt;</code><br />
-<code>#include &quot;quickcpplib/include/cpp_feature.h&quot;</code><br />
-<code>#include &quot;quickcpplib/include/import.h&quot;</code><br />
-<code>#include &quot;quickcpplib/include/config.hpp&quot;</code><br />
-<code>#include &quot;quickcpplib/include/ringbuffer_log.hpp&quot;</code><br />
-<code>#include &quot;quickcpplib/include/utils/thread.hpp&quot;</code><br />
+<code>#include &quot;quickcpplib/cpp_feature.h&quot;</code><br />
+<code>#include &quot;quickcpplib/import.h&quot;</code><br />
+<code>#include &quot;quickcpplib/config.hpp&quot;</code><br />
+<code>#include &quot;quickcpplib/ringbuffer_log.hpp&quot;</code><br />
+<code>#include &quot;quickcpplib/utils/thread.hpp&quot;</code><br />
<code>#include &lt;ctime&gt;</code><br />
-<code>#include &quot;quickcpplib/include/bitfield.hpp&quot;</code><br />
-<code>#include &quot;quickcpplib/include/scoped_undo.hpp&quot;</code><br />
-<code>#include &quot;quickcpplib/include/span.hpp&quot;</code><br />
-<code>#include &quot;quickcpplib/include/optional.hpp&quot;</code><br />
-<code>#include &quot;quickcpplib/include/byte.hpp&quot;</code><br />
-<code>#include &quot;quickcpplib/include/string_view.hpp&quot;</code><br />
-<code>#include &quot;quickcpplib/include/mem_flush_loads_stores.hpp&quot;</code><br />
-<code>#include &quot;quickcpplib/include/detach_cast.hpp&quot;</code><br />
-<code>#include &quot;quickcpplib/include/in_place_detach_attach.hpp&quot;</code><br />
+<code>#include &quot;quickcpplib/bitfield.hpp&quot;</code><br />
+<code>#include &quot;quickcpplib/scoped_undo.hpp&quot;</code><br />
+<code>#include &quot;quickcpplib/span.hpp&quot;</code><br />
+<code>#include &quot;quickcpplib/optional.hpp&quot;</code><br />
+<code>#include &quot;quickcpplib/byte.hpp&quot;</code><br />
+<code>#include &quot;quickcpplib/string_view.hpp&quot;</code><br />
+<code>#include &quot;quickcpplib/mem_flush_loads_stores.hpp&quot;</code><br />
+<code>#include &quot;quickcpplib/detach_cast.hpp&quot;</code><br />
+<code>#include &quot;quickcpplib/in_place_detach_attach.hpp&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
diff --git a/fast__random__file__handle_8hpp.html b/fast__random__file__handle_8hpp.html
index b881556b..cfa3d930 100644
--- a/fast__random__file__handle_8hpp.html
+++ b/fast__random__file__handle_8hpp.html
@@ -91,7 +91,7 @@ $(document).ready(function(){initNavTree('fast__random__file__handle_8hpp.html',
<p>Provides <code>fast_random_file_handle</code>.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="file__handle_8hpp.html">file_handle.hpp</a>&quot;</code><br />
-<code>#include &quot;quickcpplib/include/algorithm/small_prng.hpp&quot;</code><br />
+<code>#include &quot;quickcpplib/algorithm/small_prng.hpp&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
diff --git a/fs__handle_8hpp.html b/fs__handle_8hpp.html
index 83d36f51..f702bf1a 100644
--- a/fs__handle_8hpp.html
+++ b/fs__handle_8hpp.html
@@ -93,7 +93,7 @@ $(document).ready(function(){initNavTree('fs__handle_8hpp.html','');});
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="path__handle_8hpp.html">path_handle.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="path__view_8hpp.html">path_view.hpp</a>&quot;</code><br />
-<code>#include &quot;quickcpplib/include/uint128.hpp&quot;</code><br />
+<code>#include &quot;quickcpplib/uint128.hpp&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
diff --git a/functions_a.html b/functions_a.html
index 47256ab9..4bd49623 100644
--- a/functions_a.html
+++ b/functions_a.html
@@ -93,21 +93,12 @@ $(document).ready(function(){initNavTree('functions_a.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a7456b95e191ec373af61af6541dd4737">llfio_v2_xxx::map_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#af781e99c23d0a8158c249066214ac49c">llfio_v2_xxx::mapped_file_handle</a>
</li>
-<li>aligned_io
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7aa965d460f7cbe6c30dfce6432bb1c41d">llfio_v2_xxx::native_handle_type</a>
-</li>
<li>allocator()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a5d1b9afb5721b17ee1b24c53e0d7bbef">kvstore_v1_xxx::basic_key_value_store</a>
</li>
<li>allocator_type
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a1f0f1d6b86075230abeeb582f23ec4c5">kvstore_v1_xxx::basic_key_value_store</a>
</li>
-<li>anonymous_inode
-: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">llfio_v2_xxx::handle</a>
-</li>
-<li>append_only
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a9256691cdd6fc5afaa7cd96091781ced">llfio_v2_xxx::native_handle_type</a>
-</li>
<li>are_reads_from_cache()
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff">llfio_v2_xxx::handle</a>
</li>
@@ -121,16 +112,16 @@ $(document).ready(function(){initNavTree('functions_a.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1mapped.html#adf6a019e6d93292c2e07db1b6ee66c2d">llfio_v2_xxx::mapped&lt; T &gt;</a>
</li>
<li>assign()
-: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa9a12b102e96f3f5e1cc24a71fbf480b">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aea98df8215a197c3356e5ff9098ae238">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
</li>
<li>async_barrier()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a7d29c4f0a0eca88431f5e1b290e66fe7">llfio_v2_xxx::async_file_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#aab8b4425981da0c40e684bccbb9a8a30">llfio_v2_xxx::async_file_handle</a>
</li>
<li>async_file()
: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#aa7511a8b300c448a5a0eeaea499e665e">llfio_v2_xxx::async_file_handle</a>
</li>
<li>async_file_handle()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#ae021a5a199931162fdf484d8ce27b495">llfio_v2_xxx::async_file_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a8b72655442a5c5a17e609a6df96106e0">llfio_v2_xxx::async_file_handle</a>
</li>
<li>async_random_file()
: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#ac5c899908f131b4655d422fe0e2bea43">llfio_v2_xxx::async_file_handle</a>
@@ -148,17 +139,11 @@ $(document).ready(function(){initNavTree('functions_a.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#afbc86680a51fe4643b74a8d519a4f552">llfio_v2_xxx::async_file_handle</a>
</li>
<li>at()
-: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0079ec33d245c84ee66b20e88866035b">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7e43886636755ba657a9fb5fce4d1c2f">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
</li>
<li>atomic_append()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a9ad4f626c7381bf3a2121c996ae1a17c">llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append</a>
</li>
-<li>atomic_snapshots
-: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa5a728b7bc78a19837107974cf95a4d72">kvstore_v1_xxx::basic_key_value_store_info</a>
-</li>
-<li>atomic_transactions
-: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa28f74a66be96d3481e374af6b741172f">kvstore_v1_xxx::basic_key_value_store_info</a>
-</li>
<li>await_ready()
: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#a7db8e009f82fc944bf46b7eacba156ae">llfio_v2_xxx::async_file_handle::awaitable&lt; BuffersType &gt;</a>
</li>
diff --git a/functions_b.html b/functions_b.html
index 03e31ad9..400f545b 100644
--- a/functions_b.html
+++ b/functions_b.html
@@ -93,10 +93,10 @@ $(document).ready(function(){initNavTree('functions_b.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#aea14a4f834500e412db39efd998f438a">llfio_v2_xxx::section_handle</a>
</li>
<li>barrier()
-: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3ec366f663f85fb4d679542b8c1b41a">llfio_v2_xxx::io_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f">llfio_v2_xxx::io_handle</a>
</li>
-<li>barrier_on_close
-: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a06b41188d84f0fee5cff37c71b3d5877">llfio_v2_xxx::section_handle</a>
+<li>barrier_kind
+: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">llfio_v2_xxx::io_handle</a>
</li>
<li>basic_key_value_store()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a626aa5e393870b8ad926c3efdbeb364e">kvstore_v1_xxx::basic_key_value_store</a>
@@ -112,36 +112,19 @@ $(document).ready(function(){initNavTree('functions_b.html','');});
<li>begin_transaction()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#aea4b35a978c902019070e1f09388bc36">kvstore_v1_xxx::basic_key_value_store</a>
</li>
-<li>bitfield__disposition
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7">llfio_v2_xxx::native_handle_type</a>
-</li>
-<li>bitfield__features
-: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54a">kvstore_v1_xxx::basic_key_value_store_info</a>
-</li>
-<li>bitfield__flag
-: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">llfio_v2_xxx::handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549">llfio_v2_xxx::section_handle</a>
-</li>
-<li>bitfield__want
-: <a class="el" href="structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279">llfio_v2_xxx::stat_t</a>
-, <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398">llfio_v2_xxx::statfs_t</a>
-</li>
<li>buffer_type
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#ad58b814ed2c9c93e0834a18ddd7af607">kvstore_v1_xxx::basic_key_value_store</a>
, <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a388fc107831ed68dba60c6f4082be952">llfio_v2_xxx::directory_handle</a>
-, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a797bf3760066da6bf3632cfb6f9658db">llfio_v2_xxx::io_handle::buffer_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#aa9d73d003082c6692e55c6321cf4ff2b">llfio_v2_xxx::io_handle::buffer_type</a>
, <a class="el" href="classllfio__v2__xxx_1_1io__service.html#a6f63a89a90f60ad8076dcaedb23c17d8">llfio_v2_xxx::io_service</a>
, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a5c072cf6866aff3220047aba4e4f58fd">llfio_v2_xxx::symlink_handle</a>
</li>
<li>buffers_type
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#afa35af992c033e9abaf6dcb6f52f7b2c">kvstore_v1_xxx::basic_key_value_store</a>
-, <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#ac99d361654291d463bfce813c0d15989">llfio_v2_xxx::directory_handle::buffers_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a181d1decd2c1456924e5029096a294e2">llfio_v2_xxx::directory_handle::buffers_type</a>
, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed">llfio_v2_xxx::io_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1io__service.html#ac50a0165e9e9093d859a7a57422bc93a">llfio_v2_xxx::io_service</a>
-, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a912fbd8b1122c799cc732817a830c890">llfio_v2_xxx::symlink_handle::buffers_type</a>
-</li>
-<li>byte_lock_insanity
-: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">llfio_v2_xxx::handle</a>
+, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aa4d9b043e638ad6e1b592f2b93a5c9c2">llfio_v2_xxx::symlink_handle::buffers_type</a>
</li>
<li>byte_ranges()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#ae6ccd949eefecbcf8208420ad9c27cf3">llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges</a>
diff --git a/functions_c.html b/functions_c.html
index 0421ff5e..06c84ba4 100644
--- a/functions_c.html
+++ b/functions_c.html
@@ -199,9 +199,6 @@ $(document).ready(function(){initNavTree('functions_c.html','');});
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a390039f1d254156eeaaa9332b4a0fabe">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped.html#ab0b4bea44b6bb3936cec7ccb3c97361e">llfio_v2_xxx::mapped&lt; T &gt;</a>
</li>
-<li>cow
-: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549ac57346933aada59cff3ee2296cc70332">llfio_v2_xxx::section_handle</a>
-</li>
<li>crbegin()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3feb4c15c7805fd403138d677953b285">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
</li>
diff --git a/functions_d.html b/functions_d.html
index 54ef98a8..ece53fa6 100644
--- a/functions_d.html
+++ b/functions_d.html
@@ -106,26 +106,13 @@ $(document).ready(function(){initNavTree('functions_d.html','');});
</li>
<li>directory()
: <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a1acc9714116df8fbb0651d912a870495">llfio_v2_xxx::directory_handle</a>
-, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a8d7b31aed417b5d7274a817b8d7d0fab">llfio_v2_xxx::native_handle_type</a>
</li>
<li>directory_handle()
-: <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#ad505f506be33c58cf7176878e552d59e">llfio_v2_xxx::directory_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a20f3e10dfd3f2cfa80cc14b6987b9552">llfio_v2_xxx::directory_handle</a>
</li>
<li>disable_kqueues()
: <a class="el" href="classllfio__v2__xxx_1_1io__service.html#aee0e77242d19c62eb68d3bef68e9ea0d">llfio_v2_xxx::io_service</a>
</li>
-<li>disable_parallelism
-: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">llfio_v2_xxx::handle</a>
-</li>
-<li>disable_prefetching
-: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">llfio_v2_xxx::handle</a>
-</li>
-<li>disable_safety_barriers
-: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">llfio_v2_xxx::handle</a>
-</li>
-<li>disable_safety_unlinks
-: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">llfio_v2_xxx::handle</a>
-</li>
<li>do_not_store()
: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a3efb39f1b54a7c156a3e0ee2a953712d">llfio_v2_xxx::map_handle</a>
</li>
diff --git a/functions_dup.js b/functions_dup.js
index 3fce4088..0ed26be7 100644
--- a/functions_dup.js
+++ b/functions_dup.js
@@ -15,6 +15,7 @@ var functions_dup =
[ "n", "functions_n.html", null ],
[ "o", "functions_o.html", null ],
[ "p", "functions_p.html", null ],
+ [ "q", "functions_q.html", null ],
[ "r", "functions_r.html", null ],
[ "s", "functions_s.html", null ],
[ "t", "functions_t.html", null ],
diff --git a/functions_e.html b/functions_e.html
index 7db4ac2a..97dedc13 100644
--- a/functions_e.html
+++ b/functions_e.html
@@ -137,12 +137,6 @@ $(document).ready(function(){initNavTree('functions_e.html','');});
<li>exclusive
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a7ad77fdbebd5f1ec023e4324797f3716">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type</a>
</li>
-<li>executable
-: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549afde37a72636d74e28ce3553154341756">llfio_v2_xxx::section_handle</a>
-</li>
-<li>execute
-: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a631fef30d1e40f9d7ce6fa3a0ad4fa9d">llfio_v2_xxx::section_handle</a>
-</li>
<li>extension()
: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a3ec7f23cd05adbff0aa798e2586540f1">llfio_v2_xxx::path_view</a>
</li>
diff --git a/functions_enum.html b/functions_enum.html
index 05eef115..2ec2431c 100644
--- a/functions_enum.html
+++ b/functions_enum.html
@@ -81,19 +81,8 @@ $(document).ready(function(){initNavTree('functions_enum.html','');});
<div class="contents">
&#160;<ul>
-<li>bitfield__disposition
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7">llfio_v2_xxx::native_handle_type</a>
-</li>
-<li>bitfield__features
-: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54a">kvstore_v1_xxx::basic_key_value_store_info</a>
-</li>
-<li>bitfield__flag
-: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a">llfio_v2_xxx::handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549">llfio_v2_xxx::section_handle</a>
-</li>
-<li>bitfield__want
-: <a class="el" href="structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279">llfio_v2_xxx::stat_t</a>
-, <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398">llfio_v2_xxx::statfs_t</a>
+<li>barrier_kind
+: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565">llfio_v2_xxx::io_handle</a>
</li>
<li>caching
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">llfio_v2_xxx::handle</a>
diff --git a/functions_eval.html b/functions_eval.html
deleted file mode 100644
index e7e7ad6c..00000000
--- a/functions_eval.html
+++ /dev/null
@@ -1,296 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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="viewport" content="width=device-width, initial-scale=1"/>
-<title>LLFIO: Class Members - Enumerator</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<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>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <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>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.13 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-$(function() {
- initMenu('',true,false,'search.php','Search');
- $(document).ready(function() { init_search(); });
-});
-</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div id="side-nav" class="ui-resizable side-nav-resizable">
- <div id="nav-tree">
- <div id="nav-tree-contents">
- <div id="nav-sync" class="sync"></div>
- </div>
- </div>
- <div id="splitbar" style="-moz-user-select:none;"
- class="ui-resizable-handle">
- </div>
-</div>
-<script type="text/javascript">
-$(document).ready(function(){initNavTree('functions_eval.html','');});
-</script>
-<div id="doc-content">
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
- onmouseover="return searchBox.OnSearchSelectShow()"
- onmouseout="return searchBox.OnSearchSelectHide()"
- onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0"
- name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div class="contents">
-&#160;
-
-<h3><a id="index_a"></a>- a -</h3><ul>
-<li>aligned_io
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7aa965d460f7cbe6c30dfce6432bb1c41d">llfio_v2_xxx::native_handle_type</a>
-</li>
-<li>anonymous_inode
-: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d">llfio_v2_xxx::handle</a>
-</li>
-<li>append_only
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a9256691cdd6fc5afaa7cd96091781ced">llfio_v2_xxx::native_handle_type</a>
-</li>
-<li>atomic_snapshots
-: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa5a728b7bc78a19837107974cf95a4d72">kvstore_v1_xxx::basic_key_value_store_info</a>
-</li>
-<li>atomic_transactions
-: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa28f74a66be96d3481e374af6b741172f">kvstore_v1_xxx::basic_key_value_store_info</a>
-</li>
-</ul>
-
-
-<h3><a id="index_b"></a>- b -</h3><ul>
-<li>barrier_on_close
-: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a06b41188d84f0fee5cff37c71b3d5877">llfio_v2_xxx::section_handle</a>
-</li>
-<li>byte_lock_insanity
-: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59">llfio_v2_xxx::handle</a>
-</li>
-</ul>
-
-
-<h3><a id="index_c"></a>- c -</h3><ul>
-<li>cow
-: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549ac57346933aada59cff3ee2296cc70332">llfio_v2_xxx::section_handle</a>
-</li>
-</ul>
-
-
-<h3><a id="index_d"></a>- d -</h3><ul>
-<li>directory
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a8d7b31aed417b5d7274a817b8d7d0fab">llfio_v2_xxx::native_handle_type</a>
-</li>
-<li>disable_parallelism
-: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322">llfio_v2_xxx::handle</a>
-</li>
-<li>disable_prefetching
-: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3">llfio_v2_xxx::handle</a>
-</li>
-<li>disable_safety_barriers
-: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d">llfio_v2_xxx::handle</a>
-</li>
-<li>disable_safety_unlinks
-: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b">llfio_v2_xxx::handle</a>
-</li>
-</ul>
-
-
-<h3><a id="index_e"></a>- e -</h3><ul>
-<li>executable
-: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549afde37a72636d74e28ce3553154341756">llfio_v2_xxx::section_handle</a>
-</li>
-<li>execute
-: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a631fef30d1e40f9d7ce6fa3a0ad4fa9d">llfio_v2_xxx::section_handle</a>
-</li>
-</ul>
-
-
-<h3><a id="index_f"></a>- f -</h3><ul>
-<li>file
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a3a4b67c0b2579480cb8d56466cd9bf88">llfio_v2_xxx::native_handle_type</a>
-</li>
-</ul>
-
-
-<h3><a id="index_h"></a>- h -</h3><ul>
-<li>history
-: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa498d5b94bbf58b2f19323f5357bbb6d9">kvstore_v1_xxx::basic_key_value_store_info</a>
-</li>
-</ul>
-
-
-<h3><a id="index_i"></a>- i -</h3><ul>
-<li>invalid
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a03c22e007aed8c42eaee4dc2a6f639e3">llfio_v2_xxx::native_handle_type</a>
-</li>
-</ul>
-
-
-<h3><a id="index_m"></a>- m -</h3><ul>
-<li>maximum_prefetching
-: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">llfio_v2_xxx::handle</a>
-</li>
-<li>multiplexer
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a3cea1a678741f4ce20e57164946b5fc1">llfio_v2_xxx::native_handle_type</a>
-</li>
-</ul>
-
-
-<h3><a id="index_n"></a>- n -</h3><ul>
-<li>nocommit
-: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a979d3bc3dccd10f67de00b228a12822f">llfio_v2_xxx::section_handle</a>
-</li>
-<li>none
-: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aac4f803736fe62535f3ee849e0a17b6a2">kvstore_v1_xxx::basic_key_value_store_info</a>
-, <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">llfio_v2_xxx::handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549aaa630970737cad05cddc88036a638d44">llfio_v2_xxx::section_handle</a>
-</li>
-<li>nvram
-: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a2087205d797bb4de249c85cc8b87afc5">llfio_v2_xxx::section_handle</a>
-</li>
-</ul>
-
-
-<h3><a id="index_o"></a>- o -</h3><ul>
-<li>overlapped
-: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">llfio_v2_xxx::handle</a>
-, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a8ce64daff425ed6534f1683b1d0dc066">llfio_v2_xxx::native_handle_type</a>
-</li>
-</ul>
-
-
-<h3><a id="index_p"></a>- p -</h3><ul>
-<li>page_sizes_1
-: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a8d15253a30787fff812c9f254e26baf1">llfio_v2_xxx::section_handle</a>
-</li>
-<li>page_sizes_2
-: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549aa3a2b1b4beaa0a8f0e2658cb321f7c46">llfio_v2_xxx::section_handle</a>
-</li>
-<li>page_sizes_3
-: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a0a225b6b1594a5540799b4c58c937522">llfio_v2_xxx::section_handle</a>
-</li>
-<li>prefault
-: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a1e91d093711d9d800b8ddc2f6e5d1ca2">llfio_v2_xxx::section_handle</a>
-</li>
-<li>process
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a7f4cc916f7b5827f7528027964445d21">llfio_v2_xxx::native_handle_type</a>
-</li>
-</ul>
-
-
-<h3><a id="index_r"></a>- r -</h3><ul>
-<li>read
-: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a63bd03aae67c348121ac0bf88161d90f">llfio_v2_xxx::section_handle</a>
-</li>
-<li>readable
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a2bf351d9ef739909485db2d6e0d55a00">llfio_v2_xxx::native_handle_type</a>
-</li>
-</ul>
-
-
-<h3><a id="index_s"></a>- s -</h3><ul>
-<li>section
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a5d4474f0197e13f3205443ad91de390e">llfio_v2_xxx::native_handle_type</a>
-</li>
-<li>seekable
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7aff1dd4bc49b07187a9b147a14f9102b6">llfio_v2_xxx::native_handle_type</a>
-</li>
-<li>shared_memory
-: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa6c63421d928a8176a0aa653bdc1b3e43">kvstore_v1_xxx::basic_key_value_store_info</a>
-</li>
-<li>singleton
-: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a41771be4e90788c06cc49f2d35538108">llfio_v2_xxx::section_handle</a>
-</li>
-<li>stable_keys
-: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa1d775e1c64c41a7b692458df6b7e7bb5">kvstore_v1_xxx::basic_key_value_store_info</a>
-</li>
-<li>stable_values
-: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aad69fc9d7488510795a13cc87a78eb6d7">kvstore_v1_xxx::basic_key_value_store_info</a>
-</li>
-<li>symlink
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a4afae65da7b66f75e6e82b470d298fb5">llfio_v2_xxx::native_handle_type</a>
-</li>
-</ul>
-
-
-<h3><a id="index_u"></a>- u -</h3><ul>
-<li>unlink_on_first_close
-: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">llfio_v2_xxx::handle</a>
-</li>
-<li>update_deltas
-: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa78faae96b1cc136508508c90862459f0">kvstore_v1_xxx::basic_key_value_store_info</a>
-</li>
-</ul>
-
-
-<h3><a id="index_w"></a>- w -</h3><ul>
-<li>win_create_case_sensitive_directory
-: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">llfio_v2_xxx::handle</a>
-</li>
-<li>win_disable_sparse_file_creation
-: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">llfio_v2_xxx::handle</a>
-</li>
-<li>win_disable_unlink_emulation
-: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">llfio_v2_xxx::handle</a>
-</li>
-<li>writable
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7ab0fb91cab5d26713f14fe767166e6ec6">llfio_v2_xxx::native_handle_type</a>
-</li>
-<li>write
-: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549ab61620219a89d4c133c6c6f4b781a9ba">llfio_v2_xxx::section_handle</a>
-</li>
-</ul>
-</div><!-- contents -->
-</div><!-- doc-content -->
-<!-- start footer part -->
-<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
- <ul>
- <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>
- </ul>
-</div>
-</body>
-</html>
diff --git a/functions_f.html b/functions_f.html
index 990bfea1..bece8a32 100644
--- a/functions_f.html
+++ b/functions_f.html
@@ -136,14 +136,12 @@ $(document).ready(function(){initNavTree('functions_f.html','');});
</li>
<li>features
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#afe5e5864b92a51c0ef3ef75f803c2f61">kvstore_v1_xxx::basic_key_value_store</a>
-, <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#adf38388186505565b7ebb4f87a6f0124">kvstore_v1_xxx::basic_key_value_store_info</a>
</li>
<li>file()
: <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">llfio_v2_xxx::file_handle</a>
-, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a3a4b67c0b2579480cb8d56466cd9bf88">llfio_v2_xxx::native_handle_type</a>
</li>
<li>file_handle()
-: <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a8f754fdbf69fbb9b989c5aab409f2cb2">llfio_v2_xxx::file_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a5eca081e5b1eb5c00ad46136911bb7f4">llfio_v2_xxx::file_handle</a>
</li>
<li>filecompression
: <a class="el" href="structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#af56d7eae510ec6f76827697d8f2ad7b1">llfio_v2_xxx::statfs_t::f_flags_t</a>
diff --git a/functions_func.js b/functions_func.js
index 6d823320..82738d57 100644
--- a/functions_func.js
+++ b/functions_func.js
@@ -15,6 +15,7 @@ var functions_func =
[ "n", "functions_func_n.html", null ],
[ "o", "functions_func_o.html", null ],
[ "p", "functions_func_p.html", null ],
+ [ "q", "functions_func_q.html", null ],
[ "r", "functions_func_r.html", null ],
[ "s", "functions_func_s.html", null ],
[ "t", "functions_func_t.html", null ],
diff --git a/functions_func_a.html b/functions_func_a.html
index 4bbc2679..979170ca 100644
--- a/functions_func_a.html
+++ b/functions_func_a.html
@@ -106,7 +106,7 @@ $(document).ready(function(){initNavTree('functions_func_a.html','');});
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aea98df8215a197c3356e5ff9098ae238">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
</li>
<li>async_barrier()
-: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a7d29c4f0a0eca88431f5e1b290e66fe7">llfio_v2_xxx::async_file_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#aab8b4425981da0c40e684bccbb9a8a30">llfio_v2_xxx::async_file_handle</a>
</li>
<li>async_file()
: <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#aa7511a8b300c448a5a0eeaea499e665e">llfio_v2_xxx::async_file_handle</a>
diff --git a/functions_func_b.html b/functions_func_b.html
index e4642d67..1c00937e 100644
--- a/functions_func_b.html
+++ b/functions_func_b.html
@@ -93,7 +93,7 @@ $(document).ready(function(){initNavTree('functions_func_b.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#aea14a4f834500e412db39efd998f438a">llfio_v2_xxx::section_handle</a>
</li>
<li>barrier()
-: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#aa3ec366f663f85fb4d679542b8c1b41a">llfio_v2_xxx::io_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f">llfio_v2_xxx::io_handle</a>
</li>
<li>basic_key_value_store()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a626aa5e393870b8ad926c3efdbeb364e">kvstore_v1_xxx::basic_key_value_store</a>
diff --git a/functions_func_q.html b/functions_func_q.html
new file mode 100644
index 00000000..2e3af404
--- /dev/null
+++ b/functions_func_q.html
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<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>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <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>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('functions_func_q.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a id="index_q"></a>- q -</h3><ul>
+<li>QUICKCPPLIB_BITFIELD_BEGIN()
+: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a71bf22a199b1f8461e9612269eb2cf29">kvstore_v1_xxx::basic_key_value_store_info</a>
+, <a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">llfio_v2_xxx::handle</a>
+, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aab66573d64b32857ecc113b87dd56489">llfio_v2_xxx::native_handle_type</a>
+, <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5405985448afbfe281cbf98ab7bbb3ab">llfio_v2_xxx::section_handle</a>
+, <a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a7c281295d6ae22631336206446f37581">llfio_v2_xxx::stat_t</a>
+, <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a3899059be19d84cd3b17077314045428">llfio_v2_xxx::statfs_t</a>
+</li>
+<li>QUICKCPPLIB_BITFIELD_END()
+: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a74806d5aad24bdf1607755aefd8d70b4">kvstore_v1_xxx::basic_key_value_store_info</a>
+, <a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a8fc0ebfd31e3e3c5fe561f61fb86a6b7">llfio_v2_xxx::stat_t</a>
+, <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#ae6bb78770f0544cee409e3420efed426">llfio_v2_xxx::statfs_t</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <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>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/functions_func_s.html b/functions_func_s.html
index df8ace7a..87e76ce7 100644
--- a/functions_func_s.html
+++ b/functions_func_s.html
@@ -141,9 +141,6 @@ $(document).ready(function(){initNavTree('functions_func_s.html','');});
<li>stat_t()
: <a class="el" href="structllfio__v2__xxx_1_1stat__t.html#aef93718067115fcb4c596f4c8fe4cc2f">llfio_v2_xxx::stat_t</a>
</li>
-<li>statfs_t()
-: <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#ac5414fc2f10e4d6f78617666a0353072">llfio_v2_xxx::statfs_t</a>
-</li>
<li>stem()
: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ab92ed42255accabeae5cd727b5c963a3">llfio_v2_xxx::path_view</a>
</li>
@@ -167,7 +164,7 @@ $(document).ready(function(){initNavTree('functions_func_s.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a004563b5be8b75d20617018178f68e33">llfio_v2_xxx::symlink_handle</a>
</li>
<li>symlink_handle()
-: <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a02c22ab62150c15dbe77096526975cbf">llfio_v2_xxx::symlink_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#ac1167dee8a0dcf041e457570c89174b1">llfio_v2_xxx::symlink_handle</a>
</li>
</ul>
</div><!-- contents -->
diff --git a/functions_h.html b/functions_h.html
index e80e7e2c..27eca3a0 100644
--- a/functions_h.html
+++ b/functions_h.html
@@ -102,9 +102,6 @@ $(document).ready(function(){initNavTree('functions_h.html','');});
<li>hasher_type
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#aa93c292c86b6447bafd9849ad03cfe78">llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt; Hasher, HashIndexSize, SpinlockType &gt;</a>
</li>
-<li>history
-: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa498d5b94bbf58b2f19323f5357bbb6d9">kvstore_v1_xxx::basic_key_value_store_info</a>
-</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/functions_i.html b/functions_i.html
index 3cb96402..0bda857b 100644
--- a/functions_i.html
+++ b/functions_i.html
@@ -92,9 +92,6 @@ $(document).ready(function(){initNavTree('functions_i.html','');});
<li>interruption_signal()
: <a class="el" href="classllfio__v2__xxx_1_1io__service.html#af8573e0ad8a91f3778867c710f30a914">llfio_v2_xxx::io_service</a>
</li>
-<li>invalid
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a03c22e007aed8c42eaee4dc2a6f639e3">llfio_v2_xxx::native_handle_type</a>
-</li>
<li>invoke()
: <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a304587736d13127b67f68e09a397a4fd">llfio_v2_xxx::storage_profile::item_erased</a>
</li>
diff --git a/functions_m.html b/functions_m.html
index e10f8c9c..bac9fe6d 100644
--- a/functions_m.html
+++ b/functions_m.html
@@ -135,11 +135,8 @@ $(document).ready(function(){initNavTree('functions_m.html','');});
, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a7991af58283025b80a7225866643f0b4">llfio_v2_xxx::file_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a0723a6ba04a578754bb601541be832d0">llfio_v2_xxx::mapped_file_handle</a>
</li>
-<li>maximum_prefetching
-: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0">llfio_v2_xxx::handle</a>
-</li>
<li>memory_map()
-: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a60b0c32576780e9588b6b58770bc849d">llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt; Hasher, HashIndexSize, SpinlockType &gt;</a>
+: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a70d275a5256eec64030bfffa87acdb87">llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt; Hasher, HashIndexSize, SpinlockType &gt;</a>
</li>
<li>metadata()
: <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a14d4df3a12986e4938ec8a5f8427e4ca">llfio_v2_xxx::directory_handle::buffers_type</a>
@@ -155,9 +152,6 @@ $(document).ready(function(){initNavTree('functions_m.html','');});
, <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a2c1743edd93e794407f21911c9f72483">kvstore_v1_xxx::basic_key_value_store_info</a>
, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">llfio_v2_xxx::handle</a>
</li>
-<li>multiplexer
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a3cea1a678741f4ce20e57164946b5fc1">llfio_v2_xxx::native_handle_type</a>
-</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/functions_n.html b/functions_n.html
index e187a90e..47e5a3f0 100644
--- a/functions_n.html
+++ b/functions_n.html
@@ -96,26 +96,15 @@ $(document).ready(function(){initNavTree('functions_n.html','');});
<li>native_size()
: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a5c5aa6069f667fe8043a89ca87495fcb">llfio_v2_xxx::path_view</a>
</li>
-<li>nocommit
-: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a979d3bc3dccd10f67de00b228a12822f">llfio_v2_xxx::section_handle</a>
-</li>
<li>noexec
: <a class="el" href="structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a4559dec0d0c4354feb0b0c131aab266b">llfio_v2_xxx::statfs_t::f_flags_t</a>
</li>
-<li>none
-: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aac4f803736fe62535f3ee849e0a17b6a2">kvstore_v1_xxx::basic_key_value_store_info</a>
-, <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8">llfio_v2_xxx::handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549aaa630970737cad05cddc88036a638d44">llfio_v2_xxx::section_handle</a>
-</li>
<li>nosuid
: <a class="el" href="structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a973d0ca8c51f329587144682aff54879">llfio_v2_xxx::statfs_t::f_flags_t</a>
</li>
<li>nsecs
: <a class="el" href="structllfio__v2__xxx_1_1deadline.html#aff7d0cc77c5d0a9c90b5f16140df5359">llfio_v2_xxx::deadline</a>
</li>
-<li>nvram
-: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a2087205d797bb4de249c85cc8b87afc5">llfio_v2_xxx::section_handle</a>
-</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/functions_o.html b/functions_o.html
index 56274aaf..769dd564 100644
--- a/functions_o.html
+++ b/functions_o.html
@@ -138,7 +138,7 @@ $(document).ready(function(){initNavTree('functions_o.html','');});
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#a6fad139bec35264b356c2e057318db3e">llfio_v2_xxx::algorithm::combining_handle_adapter&lt; Op, Target, Source &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#acc36ec60a88f46e0a8d169f035121316">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#abed292cfeab855d43b220a0ee176a1f6">llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append</a>
-, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#abbcdc531087ecffcae9b5d33481c0331">llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges</a>
+, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#af1b2a3e78554504aea37126f60e821e4">llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#ae8935d7f9ebfb12b39340c7badd18186">llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a96d76c6dae1f2e5c3dd4628f0a3f722f">llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt; Hasher, HashIndexSize, SpinlockType &gt;</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a96d555b00aa0e2df36e8792cd9bc871b">llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges</a>
@@ -146,19 +146,19 @@ $(document).ready(function(){initNavTree('functions_o.html','');});
, <a class="el" href="structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a6211e0e13161ab09825492cc6efb0fa5">llfio_v2_xxx::directory_handle::buffers_type</a>
, <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a9acfca399be5d868fe659fce5166d630">llfio_v2_xxx::directory_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#a16ccaa28c68e06e7c3d5f7ff94d2cea5">llfio_v2_xxx::fast_random_file_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3bba96c52082c14bf168e12f4e9e2fa6">llfio_v2_xxx::file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#abcfaf6aee5ab7a92e7c5bb5aed0fff9a">llfio_v2_xxx::file_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#aaaf55c5a6edb8cde2b8d2fb1f76348ba">llfio_v2_xxx::fs_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0">llfio_v2_xxx::handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365">llfio_v2_xxx::handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html#a9e018e5ede8f86a852886f1b00ee195d">llfio_v2_xxx::io_handle::extent_guard</a>
, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a6098bb852a95257b513067cd300fc83f">llfio_v2_xxx::io_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a22cfe5a7c6868d0952fde18f62f71195">llfio_v2_xxx::map_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ae865ab7d7aceab91b9556f6704329e57">llfio_v2_xxx::mapped_file_handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a0c8c18825ea9b3c448a4f4c708047b29">llfio_v2_xxx::native_handle_type</a>
, <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a6dbe3970805ad071cdfa258192e9107a">llfio_v2_xxx::path_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#ad9c86fad629570418502318585ec9f2a">llfio_v2_xxx::path_view</a>
-, <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a55daf2f49cf0f182e18e139f6c35668a">llfio_v2_xxx::section_handle</a>
-, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8ee21a380f56cd0e948cd84576a41636">llfio_v2_xxx::symlink_handle::buffers_type</a>
-, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#af25e67360ee7f49539f1e8f5dac1cd97">llfio_v2_xxx::symlink_handle::const_buffers_type</a>
+, <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a3cfdc7d5b0557c4f5d1c7f7ca9b0a76f">llfio_v2_xxx::path_view</a>
+, <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5435021920a220ef8d1e244036c8219b">llfio_v2_xxx::section_handle</a>
+, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8b5db964ac65a2d3f916798cd79ebcaa">llfio_v2_xxx::symlink_handle::buffers_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#add9b0a91ed65466278dc158375f4f621">llfio_v2_xxx::symlink_handle::const_buffers_type</a>
, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a4bf1120bb74363b88eb77d704a3a0d7b">llfio_v2_xxx::symlink_handle</a>
</li>
<li>operator==()
@@ -171,13 +171,9 @@ $(document).ready(function(){initNavTree('functions_o.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#adabb84ce7fc0bb283fc82829a6576960">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
</li>
<li>operator[]()
-: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0cb7623d9b4cc4c3acdad0ab030fb9c5">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a01a933a3116abd41955118b607b47bfd">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a67ccdf453c50acf99f6bb35834e0aec6">llfio_v2_xxx::algorithm::impl::trivial_vector_iterator&lt; T &gt;</a>
</li>
-<li>overlapped
-: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a">llfio_v2_xxx::handle</a>
-, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a8ce64daff425ed6534f1683b1d0dc066">llfio_v2_xxx::native_handle_type</a>
-</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/functions_p.html b/functions_p.html
index 6d139aba..f09ef8d3 100644
--- a/functions_p.html
+++ b/functions_p.html
@@ -87,15 +87,6 @@ $(document).ready(function(){initNavTree('functions_p.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a7224b586e457183ebcb0a694e282d0fc">llfio_v2_xxx::map_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a0f147e2d7d2758605019d9ea0dd8a35b">llfio_v2_xxx::mapped_file_handle</a>
</li>
-<li>page_sizes_1
-: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a8d15253a30787fff812c9f254e26baf1">llfio_v2_xxx::section_handle</a>
-</li>
-<li>page_sizes_2
-: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549aa3a2b1b4beaa0a8f0e2658cb321f7c46">llfio_v2_xxx::section_handle</a>
-</li>
-<li>page_sizes_3
-: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a0a225b6b1594a5540799b4c58c937522">llfio_v2_xxx::section_handle</a>
-</li>
<li>parent_path()
: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#aa3132d6925440141afd8e83dff9a0115">llfio_v2_xxx::path_view</a>
</li>
@@ -111,7 +102,7 @@ $(document).ready(function(){initNavTree('functions_p.html','');});
, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a733bd93f06d69dbff1b45e4fe83e99a6">llfio_v2_xxx::symlink_handle::const_buffers_type</a>
</li>
<li>path_handle()
-: <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#a8a6c8781b524b288d5c511ef0c5d2006">llfio_v2_xxx::path_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ae81c55923bdf4bfc78c75fa60c2badcc">llfio_v2_xxx::path_handle</a>
</li>
<li>path_type
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3">llfio_v2_xxx::handle</a>
@@ -142,17 +133,11 @@ $(document).ready(function(){initNavTree('functions_p.html','');});
<li>post()
: <a class="el" href="classllfio__v2__xxx_1_1io__service.html#ac2666a65a3c6453bc9845261ef684565">llfio_v2_xxx::io_service</a>
</li>
-<li>prefault
-: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a1e91d093711d9d800b8ddc2f6e5d1ca2">llfio_v2_xxx::section_handle</a>
-</li>
<li>preferred_separator
: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a5d34d5bd6de76ad2d56817214a7b8aee">llfio_v2_xxx::path_view</a>
</li>
<li>prefetch()
-: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#af047e43f418d68c618fab258b733302d">llfio_v2_xxx::map_handle</a>
-</li>
-<li>process
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a7f4cc916f7b5827f7528027964445d21">llfio_v2_xxx::native_handle_type</a>
+: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a25dcce3a7127c5552687c540c37b9f27">llfio_v2_xxx::map_handle</a>
</li>
<li>push_back()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#adf9cba939e2bd11a63eaffafb247163a">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
diff --git a/functions_q.html b/functions_q.html
new file mode 100644
index 00000000..10a06fda
--- /dev/null
+++ b/functions_q.html
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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="viewport" content="width=device-width, initial-scale=1"/>
+<title>LLFIO: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<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>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <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>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+ initMenu('',true,false,'search.php','Search');
+ $(document).ready(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('functions_q.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
+
+<h3><a id="index_q"></a>- q -</h3><ul>
+<li>QUICKCPPLIB_BITFIELD_BEGIN()
+: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a71bf22a199b1f8461e9612269eb2cf29">kvstore_v1_xxx::basic_key_value_store_info</a>
+, <a class="el" href="classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf">llfio_v2_xxx::handle</a>
+, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aab66573d64b32857ecc113b87dd56489">llfio_v2_xxx::native_handle_type</a>
+, <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5405985448afbfe281cbf98ab7bbb3ab">llfio_v2_xxx::section_handle</a>
+, <a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a7c281295d6ae22631336206446f37581">llfio_v2_xxx::stat_t</a>
+, <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a3899059be19d84cd3b17077314045428">llfio_v2_xxx::statfs_t</a>
+</li>
+<li>QUICKCPPLIB_BITFIELD_END()
+: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a74806d5aad24bdf1607755aefd8d70b4">kvstore_v1_xxx::basic_key_value_store_info</a>
+, <a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a8fc0ebfd31e3e3c5fe561f61fb86a6b7">llfio_v2_xxx::stat_t</a>
+, <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#ae6bb78770f0544cee409e3420efed426">llfio_v2_xxx::statfs_t</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <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>
+ </ul>
+</div>
+</body>
+</html>
diff --git a/functions_r.html b/functions_r.html
index 110c0a66..9f9e173e 100644
--- a/functions_r.html
+++ b/functions_r.html
@@ -109,13 +109,9 @@ $(document).ready(function(){initNavTree('functions_r.html','');});
, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d">llfio_v2_xxx::io_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a073cdca57e3e3718d2eb285be51d5c92">llfio_v2_xxx::map_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ae4ca3f09ab781322c22f903d31ec7aa9">llfio_v2_xxx::mapped_file_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a63bd03aae67c348121ac0bf88161d90f">llfio_v2_xxx::section_handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a4d7d2e7ae94312b9757d8a5c12724c0f">llfio_v2_xxx::storage_profile::storage_profile</a>
, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aa8f2a6e0f971b7b88a88562f8744f4da">llfio_v2_xxx::symlink_handle</a>
</li>
-<li>readable
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a2bf351d9ef739909485db2d6e0d55a00">llfio_v2_xxx::native_handle_type</a>
-</li>
<li>reference
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a24da309718d5b5a8520db5f3bf7ba176">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ac597ca996edce5cecf4bacf36a324b49">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;</a>
@@ -141,7 +137,7 @@ $(document).ready(function(){initNavTree('functions_r.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a32586d7c5588e0686e6ceb75d06b1a0d">llfio_v2_xxx::path_view</a>
</li>
<li>rend()
-: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7a6047c4854a37f1b2437c6077a32fc5">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
+: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8e9caa72b31819407ee9aaa1e6b21b0f">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
</li>
<li>requires_aligned_io()
: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb">llfio_v2_xxx::handle</a>
diff --git a/functions_s.html b/functions_s.html
index 1baf6937..dfa050c1 100644
--- a/functions_s.html
+++ b/functions_s.html
@@ -93,17 +93,13 @@ $(document).ready(function(){initNavTree('functions_s.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a173539843aebd387bb8ca06246067ead">llfio_v2_xxx::map_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped.html#acb843c564a96365ee7eacb529b028a70">llfio_v2_xxx::mapped&lt; T &gt;</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a308969448e8934b7a86bcc693b9cc578">llfio_v2_xxx::mapped_file_handle</a>
-, <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a5d4474f0197e13f3205443ad91de390e">llfio_v2_xxx::native_handle_type</a>
, <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21">llfio_v2_xxx::section_handle</a>
</li>
<li>section_flags()
: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a99bb38a023cb0cb486e6210485cc1ca4">llfio_v2_xxx::section_handle</a>
</li>
<li>section_handle()
-: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#ab3cb03378bf927a2fb6636beb6ca2f20">llfio_v2_xxx::section_handle</a>
-</li>
-<li>seekable
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7aff1dd4bc49b07187a9b147a14f9102b6">llfio_v2_xxx::native_handle_type</a>
+: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a34f702e58a35c1eee31f5a5d3e5ec73d">llfio_v2_xxx::section_handle</a>
</li>
<li>service()
: <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">llfio_v2_xxx::file_handle</a>
@@ -123,15 +119,9 @@ $(document).ready(function(){initNavTree('functions_s.html','');});
<li>set_section()
: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a7a27e949d3333a75e96f5d979e2d6bbf">llfio_v2_xxx::map_handle</a>
</li>
-<li>shared_memory
-: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa6c63421d928a8176a0aa653bdc1b3e43">kvstore_v1_xxx::basic_key_value_store_info</a>
-</li>
<li>shrink_to_fit()
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a19aa2b2535f9880a41f64fb43162ec9e">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
</li>
-<li>singleton
-: <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a41771be4e90788c06cc49f2d35538108">llfio_v2_xxx::section_handle</a>
-</li>
<li>size()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a5add0f7b7711da9b0574d1ffde7b9f52">kvstore_v1_xxx::basic_key_value_store</a>
, <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a84a6bbb08480b7803a49e203b7501fa0">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
@@ -229,12 +219,6 @@ $(document).ready(function(){initNavTree('functions_s.html','');});
<li>st_uid
: <a class="el" href="structllfio__v2__xxx_1_1stat__t.html#ad42affc84324ad00a39379ab3d9a428b">llfio_v2_xxx::stat_t</a>
</li>
-<li>stable_keys
-: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa1d775e1c64c41a7b692458df6b7e7bb5">kvstore_v1_xxx::basic_key_value_store_info</a>
-</li>
-<li>stable_values
-: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aad69fc9d7488510795a13cc87a78eb6d7">kvstore_v1_xxx::basic_key_value_store_info</a>
-</li>
<li>stamp()
: <a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a4ca693399bffd1b5004d31897e5b72e7">llfio_v2_xxx::stat_t</a>
</li>
@@ -245,9 +229,6 @@ $(document).ready(function(){initNavTree('functions_s.html','');});
<li>stat_t()
: <a class="el" href="structllfio__v2__xxx_1_1stat__t.html#aef93718067115fcb4c596f4c8fe4cc2f">llfio_v2_xxx::stat_t</a>
</li>
-<li>statfs_t()
-: <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#ac5414fc2f10e4d6f78617666a0353072">llfio_v2_xxx::statfs_t</a>
-</li>
<li>steady
: <a class="el" href="structllfio__v2__xxx_1_1deadline.html#ac2dafd421ada591cd07f5b58cd8d976b">llfio_v2_xxx::deadline</a>
</li>
@@ -270,12 +251,11 @@ $(document).ready(function(){initNavTree('functions_s.html','');});
, <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a2bad3e9b5baf82d9ee7f791f4c3b4733">llfio_v2_xxx::section_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a102fed4cc800776a62fae691a87db0e6">llfio_v2_xxx::symlink_handle</a>
</li>
-<li>symlink
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a4afae65da7b66f75e6e82b470d298fb5">llfio_v2_xxx::native_handle_type</a>
-, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a004563b5be8b75d20617018178f68e33">llfio_v2_xxx::symlink_handle</a>
+<li>symlink()
+: <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a004563b5be8b75d20617018178f68e33">llfio_v2_xxx::symlink_handle</a>
</li>
<li>symlink_handle()
-: <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#ac1167dee8a0dcf041e457570c89174b1">llfio_v2_xxx::symlink_handle</a>
+: <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#ac10f98b90414a51b46cb56222ccfd41f">llfio_v2_xxx::symlink_handle</a>
</li>
<li>symlink_type
: <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002">llfio_v2_xxx::symlink_handle</a>
diff --git a/functions_u.html b/functions_u.html
index badc2cfa..43d33ac6 100644
--- a/functions_u.html
+++ b/functions_u.html
@@ -96,9 +96,6 @@ $(document).ready(function(){initNavTree('functions_u.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982">llfio_v2_xxx::fs_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a002c9dab669604d58e08aa8f4dbc99c8">llfio_v2_xxx::symlink_handle</a>
</li>
-<li>unlink_on_first_close
-: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962">llfio_v2_xxx::handle</a>
-</li>
<li>unlock()
: <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a9a1efb3416df74145cd6d8a91c01350c">llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append</a>
, <a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#aef06d02d70a00b731afbc2a9190eec3e">llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges</a>
@@ -111,9 +108,6 @@ $(document).ready(function(){initNavTree('functions_u.html','');});
, <a class="el" href="classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html#a40845d72f81836890189a420124a1f0e">llfio_v2_xxx::io_handle::extent_guard</a>
, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ad720c4c7f350fe06291534d1cbf2feb5">llfio_v2_xxx::io_handle</a>
</li>
-<li>update_deltas
-: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa78faae96b1cc136508508c90862459f0">kvstore_v1_xxx::basic_key_value_store_info</a>
-</li>
<li>update_map()
: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#ac7aeb0aa6182a22d0242340eb6d341b9">llfio_v2_xxx::map_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#acb5a5b1e9f5bd7b1555edbacd057972c">llfio_v2_xxx::mapped_file_handle</a>
diff --git a/functions_vars.html b/functions_vars.html
index f529b681..277403ab 100644
--- a/functions_vars.html
+++ b/functions_vars.html
@@ -162,9 +162,6 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
<li>fd
: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a6d63f413705982a84f4140640e4340af">llfio_v2_xxx::native_handle_type</a>
</li>
-<li>features
-: <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#adf38388186505565b7ebb4f87a6f0124">kvstore_v1_xxx::basic_key_value_store_info</a>
-</li>
<li>filecompression
: <a class="el" href="structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#af56d7eae510ec6f76827697d8f2ad7b1">llfio_v2_xxx::statfs_t::f_flags_t</a>
</li>
diff --git a/functions_w.html b/functions_w.html
index 12d020ae..682b4e60 100644
--- a/functions_w.html
+++ b/functions_w.html
@@ -83,25 +83,12 @@ $(document).ready(function(){initNavTree('functions_w.html','');});
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
<h3><a id="index_w"></a>- w -</h3><ul>
-<li>win_create_case_sensitive_directory
-: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681">llfio_v2_xxx::handle</a>
-</li>
-<li>win_disable_sparse_file_creation
-: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0">llfio_v2_xxx::handle</a>
-</li>
-<li>win_disable_unlink_emulation
-: <a class="el" href="classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c">llfio_v2_xxx::handle</a>
-</li>
-<li>writable
-: <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7ab0fb91cab5d26713f14fe767166e6ec6">llfio_v2_xxx::native_handle_type</a>
-</li>
<li>write()
: <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a7264d661f3c050a78f0cb1e1655b6d84">kvstore_v1_xxx::basic_key_value_store</a>
, <a class="el" href="classllfio__v2__xxx_1_1fast__random__file__handle.html#abdbe878fecb166d1eda5ddc4718e101d">llfio_v2_xxx::fast_random_file_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">llfio_v2_xxx::io_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57">llfio_v2_xxx::io_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a90afda5433656ed35a5814e048cc1f1b">llfio_v2_xxx::map_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a269e37ceff90d2d92fa65e7d5a17c9f5">llfio_v2_xxx::mapped_file_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549ab61620219a89d4c133c6c6f4b781a9ba">llfio_v2_xxx::section_handle</a>
, <a class="el" href="structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af63e94ffbdb72bf6218cb4ba7c9a552b">llfio_v2_xxx::storage_profile::storage_profile</a>
, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#a7227db10ebbb385311452e912d833447">llfio_v2_xxx::symlink_handle</a>
</li>
diff --git a/group__config.html b/group__config.html
index e377fe3e..b8abe3b6 100644
--- a/group__config.html
+++ b/group__config.html
@@ -187,7 +187,7 @@ Macros</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">namespace </span><a class="code" href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a> \</div><div class="line"> {</div><div class="ttc" id="namespacekvstore__v1__xxx_html"><div class="ttname"><a href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a></div><div class="ttdoc">The kv store namespace. </div><div class="ttdef"><b>Definition:</b> kvstore.hpp:57</div></div>
+<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">namespace </span><a class="code" href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a> \</div><div class="line"> {</div><div class="ttc" id="namespacekvstore__v1__xxx_html"><div class="ttname"><a href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a></div><div class="ttdoc">The kv store namespace. </div><div class="ttdef"><b>Definition:</b> kvstore.hpp:47</div></div>
</div><!-- fragment -->
<p>Expands into the appropriate namespace markup to enter the kv store v1 namespace. </p>
@@ -204,7 +204,7 @@ Macros</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
-<b>Value:</b><div class="fragment"><div class="line">export <span class="keyword">namespace </span><a class="code" href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a> \</div><div class="line"> {</div><div class="ttc" id="namespacekvstore__v1__xxx_html"><div class="ttname"><a href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a></div><div class="ttdoc">The kv store namespace. </div><div class="ttdef"><b>Definition:</b> kvstore.hpp:57</div></div>
+<b>Value:</b><div class="fragment"><div class="line">export <span class="keyword">namespace </span><a class="code" href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a> \</div><div class="line"> {</div><div class="ttc" id="namespacekvstore__v1__xxx_html"><div class="ttname"><a href="namespacekvstore__v1__xxx.html">kvstore_v1_xxx</a></div><div class="ttdoc">The kv store namespace. </div><div class="ttdef"><b>Definition:</b> kvstore.hpp:47</div></div>
</div><!-- fragment -->
<p>Expands into the appropriate namespace markup to enter the C++ module exported kv store v1 namespace. </p>
diff --git a/hierarchy.html b/hierarchy.html
index 4ab2e9cb..9a007992 100644
--- a/hierarchy.html
+++ b/hierarchy.html
@@ -162,7 +162,7 @@ $(document).ready(function(){initNavTree('hierarchy.html','');});
<tr id="row_51_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_51_" class="arrow" onclick="toggleFolder('51_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>result</b></td><td class="desc"></td></tr>
<tr id="row_51_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html" target="_self">llfio_v2_xxx::io_handle::io_result&lt; buffers_type &gt;</a></td><td class="desc"></td></tr>
<tr id="row_51_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html" target="_self">llfio_v2_xxx::io_handle::io_result&lt; const_buffers_type &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_51_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html" target="_self">llfio_v2_xxx::io_handle::io_result&lt; T &gt;</a></td><td class="desc">The i/o result type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction. </td></tr>
+<tr id="row_51_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html" target="_self">llfio_v2_xxx::io_handle::io_result&lt; T &gt;</a></td><td class="desc">The i/o result type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction </td></tr>
<tr id="row_52_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.html" target="_self">llfio_v2_xxx::async_file_handle::_erased_io_state_type::result_storage</a></td><td class="desc"></td></tr>
<tr id="row_53_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_53_" class="arrow" onclick="toggleFolder('53_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html" target="_self">llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex</a></td><td class="desc">Abstract base class for an object which protects shared filing system resources </td></tr>
<tr id="row_53_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html" target="_self">llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append</a></td><td class="desc">Scalable many entity shared/exclusive file system based lock </td></tr>
diff --git a/io__handle_8hpp.html b/io__handle_8hpp.html
index 96cb6545..7ec420c3 100644
--- a/io__handle_8hpp.html
+++ b/io__handle_8hpp.html
@@ -106,7 +106,7 @@ Classes</h2></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o request type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction, and <code>StandardLayoutType</code>. <a href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">llfio_v2_xxx::io_handle::io_result&lt; T &gt;</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o result type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction.. <a href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html#details">More...</a><br /></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o result type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction. <a href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html">llfio_v2_xxx::io_handle::extent_guard</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">RAII holder a locked extent of bytes in a file. <a href="classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html#details">More...</a><br /></td></tr>
@@ -128,9 +128,6 @@ Functions</h2></td></tr>
<tr class="separator:a5a8908704c9988bbecc69c2359e6fd4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ea3d93e8b2c7f6e3fca7a9cde734312"><td class="memItemLeft" align="right" valign="top">io_handle::io_result&lt; io_handle::size_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a5ea3d93e8b2c7f6e3fca7a9cde734312">llfio_v2_xxx::write</a> (io_handle &amp;self, io_handle::extent_type offset, std::initializer_list&lt; io_handle::const_buffer_type &gt; lst, deadline d=deadline()) noexcept</td></tr>
<tr class="separator:a5ea3d93e8b2c7f6e3fca7a9cde734312"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4fad22759dab40321cabd37c755880fe"><td class="memItemLeft" align="right" valign="top">io_handle::io_result&lt; io_handle::const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a4fad22759dab40321cabd37c755880fe">llfio_v2_xxx::barrier</a> (io_handle &amp;self, io_handle::io_request&lt; io_handle::const_buffers_type &gt; reqs=io_handle::io_request&lt; io_handle::const_buffers_type &gt;(), bool wait_for_device=false, bool and_metadata=false, deadline d=deadline()) noexcept</td></tr>
-<tr class="memdesc:a4fad22759dab40321cabd37c755880fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier. <a href="namespacellfio__v2__xxx.html#a4fad22759dab40321cabd37c755880fe">More...</a><br /></td></tr>
-<tr class="separator:a4fad22759dab40321cabd37c755880fe"><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>Provides i/o handle. </p>
diff --git a/io__handle_8hpp.js b/io__handle_8hpp.js
index 1ca12583..c554abc4 100644
--- a/io__handle_8hpp.js
+++ b/io__handle_8hpp.js
@@ -6,7 +6,6 @@ var io__handle_8hpp =
[ "io_request", "structllfio__v2__xxx_1_1io__handle_1_1io__request.html", "structllfio__v2__xxx_1_1io__handle_1_1io__request" ],
[ "io_result", "structllfio__v2__xxx_1_1io__handle_1_1io__result.html", "structllfio__v2__xxx_1_1io__handle_1_1io__result" ],
[ "extent_guard", "classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html", "classllfio__v2__xxx_1_1io__handle_1_1extent__guard" ],
- [ "barrier", "io__handle_8hpp.html#a4fad22759dab40321cabd37c755880fe", null ],
[ "read", "io__handle_8hpp.html#a225e15680392dfa9e1dda42afcc09672", null ],
[ "write", "io__handle_8hpp.html#a5a8908704c9988bbecc69c2359e6fd4a", null ],
[ "write", "io__handle_8hpp.html#a5ea3d93e8b2c7f6e3fca7a9cde734312", null ]
diff --git a/kvstore_8hpp.html b/kvstore_8hpp.html
index 67e4959e..1975b724 100644
--- a/kvstore_8hpp.html
+++ b/kvstore_8hpp.html
@@ -95,7 +95,7 @@ $(document).ready(function(){initNavTree('kvstore_8hpp.html','');});
<p>Provides the abstract interface for a key-value store.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="file__handle_8hpp.html">../llfio/v2.0/file_handle.hpp</a>&quot;</code><br />
-<code>#include &quot;../llfio/v2.0/quickcpplib/include/memory_resource.hpp&quot;</code><br />
+<code>#include &quot;quickcpplib/memory_resource.hpp&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
diff --git a/lock__files_8hpp.html b/lock__files_8hpp.html
index 6fddb0db..7da7ead2 100644
--- a/lock__files_8hpp.html
+++ b/lock__files_8hpp.html
@@ -92,7 +92,7 @@ $(document).ready(function(){initNavTree('lock__files_8hpp.html','');});
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="file__handle_8hpp.html">../../file_handle.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="base_8hpp.html">base.hpp</a>&quot;</code><br />
-<code>#include &quot;../../quickcpplib/include/algorithm/small_prng.hpp&quot;</code><br />
+<code>#include &quot;quickcpplib/algorithm/small_prng.hpp&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
diff --git a/map__handle_8hpp.html b/map__handle_8hpp.html
index 9e82528a..4407d993 100644
--- a/map__handle_8hpp.html
+++ b/map__handle_8hpp.html
@@ -155,9 +155,6 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="name
result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a30183de3590a31b5ef3b2952f700b110">llfio_v2_xxx::close</a> (map_handle &amp;self) noexcept</td></tr>
<tr class="memdesc:a30183de3590a31b5ef3b2952f700b110"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unmap the mapped view. <br /></td></tr>
<tr class="separator:a30183de3590a31b5ef3b2952f700b110"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab26180c1aada3315a46564d6477bea72"><td class="memItemLeft" align="right" valign="top"><a id="ab26180c1aada3315a46564d6477bea72"></a>
-map_handle::io_result&lt; map_handle::const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>llfio_v2_xxx::barrier</b> (map_handle &amp;self, map_handle::io_request&lt; map_handle::const_buffers_type &gt; reqs=map_handle::io_request&lt; map_handle::const_buffers_type &gt;(), bool wait_for_device=false, bool and_metadata=false, deadline d=deadline()) noexcept</td></tr>
-<tr class="separator:ab26180c1aada3315a46564d6477bea72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab50d07405d17a8fff4e360fd2612bc6f"><td class="memItemLeft" align="right" valign="top">result&lt; map_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ab50d07405d17a8fff4e360fd2612bc6f">llfio_v2_xxx::map</a> (map_handle::size_type bytes, bool zeroed=false, section_handle::flag _flag=section_handle::flag::readwrite) noexcept</td></tr>
<tr class="separator:ab50d07405d17a8fff4e360fd2612bc6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9dbbe2fe79758ef87fe2dd1f61d824c"><td class="memItemLeft" align="right" valign="top">result&lt; map_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ab9dbbe2fe79758ef87fe2dd1f61d824c">llfio_v2_xxx::map</a> (section_handle &amp;section, map_handle::size_type bytes=0, map_handle::extent_type offset=0, section_handle::flag _flag=section_handle::flag::readwrite) noexcept</td></tr>
diff --git a/map__handle_8hpp.js b/map__handle_8hpp.js
index e29b9d26..f4b96cc0 100644
--- a/map__handle_8hpp.js
+++ b/map__handle_8hpp.js
@@ -5,7 +5,6 @@ var map__handle_8hpp =
[ "map_handle", "classllfio__v2__xxx_1_1map__handle.html", "classllfio__v2__xxx_1_1map__handle" ],
[ "construct< map_handle >", "structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html", "structllfio__v2__xxx_1_1construct_3_01map__handle_01_4" ],
[ "disable_attached_for< llfio_v2_xxx::map_handle >", "structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1map__handle_01_4.html", null ],
- [ "barrier", "map__handle_8hpp.html#ab26180c1aada3315a46564d6477bea72", null ],
[ "close", "map__handle_8hpp.html#a30183de3590a31b5ef3b2952f700b110", null ],
[ "in_place_attach", "map__handle_8hpp.html#a96135062edc7cb1fa33460ff521498f5", null ],
[ "length", "map__handle_8hpp.html#aa3676f0dd69f4b54cf7e14e3f86d32b9", null ],
diff --git a/memory__map_8hpp.html b/memory__map_8hpp.html
index eb973ea7..f502584d 100644
--- a/memory__map_8hpp.html
+++ b/memory__map_8hpp.html
@@ -92,9 +92,9 @@ $(document).ready(function(){initNavTree('memory__map_8hpp.html','');});
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="map__handle_8hpp.html">../../map_handle.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="base_8hpp.html">base.hpp</a>&quot;</code><br />
-<code>#include &quot;../../quickcpplib/include/algorithm/hash.hpp&quot;</code><br />
-<code>#include &quot;../../quickcpplib/include/algorithm/small_prng.hpp&quot;</code><br />
-<code>#include &quot;../../quickcpplib/include/spinlock.hpp&quot;</code><br />
+<code>#include &quot;quickcpplib/algorithm/hash.hpp&quot;</code><br />
+<code>#include &quot;quickcpplib/algorithm/small_prng.hpp&quot;</code><br />
+<code>#include &quot;quickcpplib/spinlock.hpp&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
diff --git a/menudata.js b/menudata.js
index b05fa820..9958e580 100644
--- a/menudata.js
+++ b/menudata.js
@@ -7,7 +7,6 @@ var menudata={children:[
{text:"Namespace Members",url:"namespacemembers.html",children:[
{text:"All",url:"namespacemembers.html",children:[
{text:"a",url:"namespacemembers.html#index_a"},
-{text:"b",url:"namespacemembers.html#index_b"},
{text:"c",url:"namespacemembers.html#index_c"},
{text:"d",url:"namespacemembers.html#index_d"},
{text:"e",url:"namespacemembers.html#index_e"},
@@ -30,7 +29,6 @@ var menudata={children:[
{text:"z",url:"namespacemembers.html#index_z"}]},
{text:"Functions",url:"namespacemembers_func.html",children:[
{text:"a",url:"namespacemembers_func.html#index_a"},
-{text:"b",url:"namespacemembers_func.html#index_b"},
{text:"c",url:"namespacemembers_func.html#index_c"},
{text:"d",url:"namespacemembers_func.html#index_d"},
{text:"e",url:"namespacemembers_func.html#index_e"},
@@ -72,6 +70,7 @@ var menudata={children:[
{text:"n",url:"functions_n.html#index_n"},
{text:"o",url:"functions_o.html#index_o"},
{text:"p",url:"functions_p.html#index_p"},
+{text:"q",url:"functions_q.html#index_q"},
{text:"r",url:"functions_r.html#index_r"},
{text:"s",url:"functions_s.html#index_s"},
{text:"t",url:"functions_t.html#index_t"},
@@ -97,6 +96,7 @@ var menudata={children:[
{text:"n",url:"functions_func_n.html#index_n"},
{text:"o",url:"functions_func_o.html#index_o"},
{text:"p",url:"functions_func_p.html#index_p"},
+{text:"q",url:"functions_func_q.html#index_q"},
{text:"r",url:"functions_func_r.html#index_r"},
{text:"s",url:"functions_func_s.html#index_s"},
{text:"t",url:"functions_func_t.html#index_t"},
@@ -138,24 +138,7 @@ var menudata={children:[
{text:"s",url:"functions_type.html#index_s"},
{text:"u",url:"functions_type.html#index_u"},
{text:"v",url:"functions_type.html#index_v"}]},
-{text:"Enumerations",url:"functions_enum.html"},
-{text:"Enumerator",url:"functions_eval.html",children:[
-{text:"a",url:"functions_eval.html#index_a"},
-{text:"b",url:"functions_eval.html#index_b"},
-{text:"c",url:"functions_eval.html#index_c"},
-{text:"d",url:"functions_eval.html#index_d"},
-{text:"e",url:"functions_eval.html#index_e"},
-{text:"f",url:"functions_eval.html#index_f"},
-{text:"h",url:"functions_eval.html#index_h"},
-{text:"i",url:"functions_eval.html#index_i"},
-{text:"m",url:"functions_eval.html#index_m"},
-{text:"n",url:"functions_eval.html#index_n"},
-{text:"o",url:"functions_eval.html#index_o"},
-{text:"p",url:"functions_eval.html#index_p"},
-{text:"r",url:"functions_eval.html#index_r"},
-{text:"s",url:"functions_eval.html#index_s"},
-{text:"u",url:"functions_eval.html#index_u"},
-{text:"w",url:"functions_eval.html#index_w"}]}]}]},
+{text:"Enumerations",url:"functions_enum.html"}]}]},
{text:"Files",url:"files.html",children:[
{text:"File List",url:"files.html"},
{text:"File Members",url:"globals.html",children:[
diff --git a/namespacekvstore__v1__xxx.html b/namespacekvstore__v1__xxx.html
index ee7e116e..ba3d03e9 100644
--- a/namespacekvstore__v1__xxx.html
+++ b/namespacekvstore__v1__xxx.html
@@ -180,7 +180,7 @@ result&lt; span&lt; <a class="el" href="structkvstore__v1__xxx_1_1basic__key__va
<tr><td class="fieldname"><a id="a7bc2f2673bddc429b098b16e413deb5fa203fd50f72dbec98aa499192e1844fc8"></a>transaction_aborted_collision&#160;</td><td class="fielddoc"><p>The transaction could not be committed due to dependent key update. </p>
</td></tr>
</table>
-<div class="fragment"><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;{</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; success = 0,</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <a class="code" href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa4ab2ea6999620ebeb2367865909977ab">invalid_uri</a>, <span class="comment">//!&lt; The URI is not in an understood format.</span></div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;<span class="comment"></span> <a class="code" href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa88845d2baf0c5f2c895cd23bd72e3b07">unsupported_uri</a>, <span class="comment">//!&lt; The URI specified an unsupported scheme or mechanism.</span></div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;<span class="comment"></span> <a class="code" href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fadfa4eb2805883a2c1653229e6c18aa70">unsupported_integrity</a>, <span class="comment">//!&lt; The requested integrity level is not available for this device URI.</span></div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;<span class="comment"></span> <a class="code" href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa203fd50f72dbec98aa499192e1844fc8">transaction_aborted_collision</a>, <span class="comment">//!&lt; The transaction could not be committed due to dependent key update.</span></div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;<span class="comment"></span>};</div><div class="ttc" id="namespacekvstore__v1__xxx_html_a7bc2f2673bddc429b098b16e413deb5fadfa4eb2805883a2c1653229e6c18aa70"><div class="ttname"><a href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fadfa4eb2805883a2c1653229e6c18aa70">kvstore_v1_xxx::kvstore_errc::unsupported_integrity</a></div><div class="ttdoc">The requested integrity level is not available for this device URI. </div></div>
+<div class="fragment"><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;{</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; success = 0,</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <a class="code" href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa4ab2ea6999620ebeb2367865909977ab">invalid_uri</a>, <span class="comment">//!&lt; The URI is not in an understood format.</span></div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="comment"></span> <a class="code" href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa88845d2baf0c5f2c895cd23bd72e3b07">unsupported_uri</a>, <span class="comment">//!&lt; The URI specified an unsupported scheme or mechanism.</span></div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;<span class="comment"></span> <a class="code" href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fadfa4eb2805883a2c1653229e6c18aa70">unsupported_integrity</a>, <span class="comment">//!&lt; The requested integrity level is not available for this device URI.</span></div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;<span class="comment"></span> <a class="code" href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa203fd50f72dbec98aa499192e1844fc8">transaction_aborted_collision</a>, <span class="comment">//!&lt; The transaction could not be committed due to dependent key update.</span></div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;<span class="comment"></span>};</div><div class="ttc" id="namespacekvstore__v1__xxx_html_a7bc2f2673bddc429b098b16e413deb5fadfa4eb2805883a2c1653229e6c18aa70"><div class="ttname"><a href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fadfa4eb2805883a2c1653229e6c18aa70">kvstore_v1_xxx::kvstore_errc::unsupported_integrity</a></div><div class="ttdoc">The requested integrity level is not available for this device URI. </div></div>
<div class="ttc" id="namespacekvstore__v1__xxx_html_a7bc2f2673bddc429b098b16e413deb5fa88845d2baf0c5f2c895cd23bd72e3b07"><div class="ttname"><a href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa88845d2baf0c5f2c895cd23bd72e3b07">kvstore_v1_xxx::kvstore_errc::unsupported_uri</a></div><div class="ttdoc">The URI specified an unsupported scheme or mechanism. </div></div>
<div class="ttc" id="namespacekvstore__v1__xxx_html_a7bc2f2673bddc429b098b16e413deb5fa203fd50f72dbec98aa499192e1844fc8"><div class="ttname"><a href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa203fd50f72dbec98aa499192e1844fc8">kvstore_v1_xxx::kvstore_errc::transaction_aborted_collision</a></div><div class="ttdoc">The transaction could not be committed due to dependent key update. </div></div>
<div class="ttc" id="namespacekvstore__v1__xxx_html_a7bc2f2673bddc429b098b16e413deb5fa4ab2ea6999620ebeb2367865909977ab"><div class="ttname"><a href="namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa4ab2ea6999620ebeb2367865909977ab">kvstore_v1_xxx::kvstore_errc::invalid_uri</a></div><div class="ttdoc">The URI is not in an understood format. </div></div>
diff --git a/namespacellfio__v2__xxx.html b/namespacellfio__v2__xxx.html
index 0fab2bf7..9a3c64c8 100644
--- a/namespacellfio__v2__xxx.html
+++ b/namespacellfio__v2__xxx.html
@@ -243,13 +243,6 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="name
<tr class="separator:aa83cca46a7fe2fcd7cbd3f09efbd3a74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6eb58f0e5fc200dd2719c7280edba5e"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ae6eb58f0e5fc200dd2719c7280edba5e">async_temp_inode</a> (<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> &amp;service, const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dir=<a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>(), <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">async_file_handle::mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">async_file_handle::mode::write</a>, async_file_handle::flag flags=async_file_handle::flag::none) noexcept</td></tr>
<tr class="separator:ae6eb58f0e5fc200dd2719c7280edba5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4cbd85f586f75cb375b99b162da48fda"><td class="memItemLeft" align="right" valign="top"><a id="a4cbd85f586f75cb375b99b162da48fda"></a>
-<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">async_file_handle::io_result</a>&lt; async_file_handle::const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>barrier</b> (<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &amp;self, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">async_file_handle::io_request</a>&lt; async_file_handle::const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">async_file_handle::io_request</a>&lt; async_file_handle::const_buffers_type &gt;(), bool wait_for_device=false, bool and_metadata=false, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="separator:a4cbd85f586f75cb375b99b162da48fda"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abd72aa0028b4b7e5561a7375b124e22f"><td class="memTemplParams" colspan="2">template&lt;class CompletionRoutine &gt; </td></tr>
-<tr class="memitem:abd72aa0028b4b7e5561a7375b124e22f"><td class="memTemplItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a8c38344215baf024148e144735f3cb67">async_file_handle::io_state_ptr</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#abd72aa0028b4b7e5561a7375b124e22f">async_barrier</a> (<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &amp;self, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">async_file_handle::io_request</a>&lt; async_file_handle::const_buffers_type &gt; reqs, CompletionRoutine &amp;&amp;completion, bool wait_for_device=false, bool and_metadata=false, span&lt; char &gt; mem={}) noexcept</td></tr>
-<tr class="memdesc:abd72aa0028b4b7e5561a7375b124e22f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedule a barrier to occur asynchronously. <a href="#abd72aa0028b4b7e5561a7375b124e22f">More...</a><br /></td></tr>
-<tr class="separator:abd72aa0028b4b7e5561a7375b124e22f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39254f0f1608754370d4a9d38be0f355"><td class="memTemplParams" colspan="2">template&lt;class CompletionRoutine &gt; </td></tr>
<tr class="memitem:a39254f0f1608754370d4a9d38be0f355"><td class="memTemplItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a8c38344215baf024148e144735f3cb67">async_file_handle::io_state_ptr</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a39254f0f1608754370d4a9d38be0f355">async_read</a> (<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &amp;self, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">async_file_handle::io_request</a>&lt; async_file_handle::buffers_type &gt; reqs, CompletionRoutine &amp;&amp;completion, span&lt; char &gt; mem={}) noexcept</td></tr>
<tr class="memdesc:a39254f0f1608754370d4a9d38be0f355"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedule a read to occur asynchronously. <a href="#a39254f0f1608754370d4a9d38be0f355">More...</a><br /></td></tr>
@@ -347,9 +340,6 @@ result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class
<tr class="separator:a5a8908704c9988bbecc69c2359e6fd4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ea3d93e8b2c7f6e3fca7a9cde734312"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_handle::io_result</a>&lt; io_handle::size_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a5ea3d93e8b2c7f6e3fca7a9cde734312">write</a> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> &amp;self, io_handle::extent_type offset, std::initializer_list&lt; <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html">io_handle::const_buffer_type</a> &gt; lst, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
<tr class="separator:a5ea3d93e8b2c7f6e3fca7a9cde734312"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4fad22759dab40321cabd37c755880fe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_handle::io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">io_handle::const_buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a4fad22759dab40321cabd37c755880fe">barrier</a> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> &amp;self, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_handle::io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">io_handle::const_buffers_type</a> &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_handle::io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">io_handle::const_buffers_type</a> &gt;(), bool wait_for_device=false, bool and_metadata=false, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="memdesc:a4fad22759dab40321cabd37c755880fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier. <a href="#a4fad22759dab40321cabd37c755880fe">More...</a><br /></td></tr>
-<tr class="separator:a4fad22759dab40321cabd37c755880fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a797b0860963b9de1781023de7f9da826"><td class="memItemLeft" align="right" valign="top"><a id="a797b0860963b9de1781023de7f9da826"></a>
QUICKCPPLIB_NAMESPACE::ringbuffer_log::simple_ringbuffer_log&lt; <a class="el" href="group__config.html#ga2e45ede29ed7b2aa06eb19aff2485541">LLFIO_LOGGING_MEMORY</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a797b0860963b9de1781023de7f9da826">log</a> () noexcept</td></tr>
<tr class="memdesc:a797b0860963b9de1781023de7f9da826"><td class="mdescLeft">&#160;</td><td class="mdescRight">The log used by LLFIO. <br /></td></tr>
@@ -391,9 +381,6 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="name
result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#a30183de3590a31b5ef3b2952f700b110">close</a> (<a class="el" href="classllfio__v2__xxx_1_1map__handle.html">map_handle</a> &amp;self) noexcept</td></tr>
<tr class="memdesc:a30183de3590a31b5ef3b2952f700b110"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unmap the mapped view. <br /></td></tr>
<tr class="separator:a30183de3590a31b5ef3b2952f700b110"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab26180c1aada3315a46564d6477bea72"><td class="memItemLeft" align="right" valign="top"><a id="ab26180c1aada3315a46564d6477bea72"></a>
-<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">map_handle::io_result</a>&lt; map_handle::const_buffers_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>barrier</b> (<a class="el" href="classllfio__v2__xxx_1_1map__handle.html">map_handle</a> &amp;self, <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">map_handle::io_request</a>&lt; map_handle::const_buffers_type &gt; reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">map_handle::io_request</a>&lt; map_handle::const_buffers_type &gt;(), bool wait_for_device=false, bool and_metadata=false, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept</td></tr>
-<tr class="separator:ab26180c1aada3315a46564d6477bea72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab50d07405d17a8fff4e360fd2612bc6f"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">map_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ab50d07405d17a8fff4e360fd2612bc6f">map</a> (map_handle::size_type bytes, bool zeroed=false, section_handle::flag _flag=section_handle::flag::readwrite) noexcept</td></tr>
<tr class="separator:ab50d07405d17a8fff4e360fd2612bc6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9dbbe2fe79758ef87fe2dd1f61d824c"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classllfio__v2__xxx_1_1map__handle.html">map_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx.html#ab9dbbe2fe79758ef87fe2dd1f61d824c">map</a> (<a class="el" href="classllfio__v2__xxx_1_1section__handle.html">section_handle</a> &amp;<a class="el" href="namespacellfio__v2__xxx.html#ac9be77116e7a2d8c029dd066dfa363fb">section</a>, map_handle::size_type bytes=0, map_handle::extent_type offset=0, section_handle::flag _flag=section_handle::flag::readwrite) noexcept</td></tr>
@@ -488,85 +475,6 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>outcome_throw_as_syst
<div class="textblock"><p>The LLFIO namespace. </p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000002">Todo:</a></b></dt><dd>TODO FIXME Replace in-memory log with memory map file backed log. </dd></dl>
</div><h2 class="groupheader">Function Documentation</h2>
-<a id="abd72aa0028b4b7e5561a7375b124e22f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abd72aa0028b4b7e5561a7375b124e22f">&#9670;&nbsp;</a></span>async_barrier()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;class CompletionRoutine &gt; </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html#a8c38344215baf024148e144735f3cb67">async_file_handle::io_state_ptr</a>&gt; llfio_v2_xxx::async_barrier </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1async__file__handle.html">async_file_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">async_file_handle::io_request</a>&lt; async_file_handle::const_buffers_type &gt;&#160;</td>
- <td class="paramname"><em>reqs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">CompletionRoutine &amp;&amp;&#160;</td>
- <td class="paramname"><em>completion</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&#160;</td>
- <td class="paramname"><em>wait_for_device</em> = <code>false</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&#160;</td>
- <td class="paramname"><em>and_metadata</em> = <code>false</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">span&lt; char &gt;&#160;</td>
- <td class="paramname"><em>mem</em> = <code>{}</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">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Schedule a barrier to occur asynchronously. </p>
-<dl class="section note"><dt>Note</dt><dd>All the caveats and exclusions which apply to <code>barrier()</code> also apply here. Note that Microsoft Windows does not support asynchronously executed barriers, and this call will fail on that operating system.</dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>Either an io_state_ptr to the i/o in progress, or an error code. </dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The object whose member function to call. </td></tr>
- <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request for what range to barrier. May be ignored on some platforms which always write barrier the entire file. Supplying a default initialised reqs write barriers the entire file. </td></tr>
- <tr><td class="paramname">completion</td><td>A callable to call upon i/o completion. Spec is <code>void(async_file_handle *, io_result&lt;const_buffers_type&gt; &amp;)</code>. Note that buffers returned may not be buffers input, see documentation for <code>barrier()</code>. </td></tr>
- <tr><td class="paramname">wait_for_device</td><td>True if you want the call to wait until data reaches storage and that storage has acknowledged the data is physically written. Slow. </td></tr>
- <tr><td class="paramname">and_metadata</td><td>True if you want the call to sync the metadata for retrieving the writes before the barrier after a sudden power loss event. Slow. </td></tr>
- <tr><td class="paramname">mem</td><td>Optional span of memory to use to avoid using <code>calloc()</code>. Note span MUST be all bits zero on entry. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>As for <code>barrier()</code>, plus <code>ENOMEM</code>. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>If mem is not set, one calloc, one free. The allocation is unavoidable due to the need to store a type erased completion handler of unknown type and state per buffers input. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; {}) noexcept</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160;{</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.async_barrier(std::forward&lt;decltype(reqs)&gt;(reqs), std::forward&lt;decltype(completion)&gt;(completion), std::forward&lt;decltype(wait_for_device)&gt;(wait_for_device), std::forward&lt;decltype(and_metadata)&gt;(and_metadata), std::forward&lt;decltype(mem)&gt;(mem));</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160;}</div></div><!-- fragment -->
-</div>
-</div>
<a id="ab8bf2fda0abbb11fdeb77d25f8288149"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab8bf2fda0abbb11fdeb77d25f8288149">&#9670;&nbsp;</a></span>async_file()</h2>
@@ -643,7 +551,7 @@ template&lt;class CompletionRoutine &gt; </div>
</dd>
</dl>
<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160;{</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#ab8bf2fda0abbb11fdeb77d25f8288149">async_file_handle::async_file</a>(std::forward&lt;decltype(service)&gt;(service), std::forward&lt;decltype(base)&gt;(base), std::forward&lt;decltype(_path)&gt;(_path), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_creation)&gt;(_creation), std::forward&lt;decltype(_caching)&gt;(_caching),</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_ab8bf2fda0abbb11fdeb77d25f8288149"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ab8bf2fda0abbb11fdeb77d25f8288149">llfio_v2_xxx::async_file</a></div><div class="ttdeci">result&lt; async_file_handle &gt; async_file(io_service &amp;service, const path_handle &amp;base, async_file_handle::path_view_type _path, async_file_handle::mode _mode=async_file_handle::mode::read, async_file_handle::creation _creation=async_file_handle::creation::open_existing, async_file_handle::caching _caching=async_file_handle::caching::only_metadata, async_file_handle::flag flags=async_file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:642</div></div>
+<div class="fragment"><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160;{</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#ab8bf2fda0abbb11fdeb77d25f8288149">async_file_handle::async_file</a>(std::forward&lt;decltype(service)&gt;(service), std::forward&lt;decltype(base)&gt;(base), std::forward&lt;decltype(_path)&gt;(_path), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_creation)&gt;(_creation), std::forward&lt;decltype(_caching)&gt;(_caching),</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_ab8bf2fda0abbb11fdeb77d25f8288149"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ab8bf2fda0abbb11fdeb77d25f8288149">llfio_v2_xxx::async_file</a></div><div class="ttdeci">result&lt; async_file_handle &gt; async_file(io_service &amp;service, const path_handle &amp;base, async_file_handle::path_view_type _path, async_file_handle::mode _mode=async_file_handle::mode::read, async_file_handle::creation _creation=async_file_handle::creation::open_existing, async_file_handle::caching _caching=async_file_handle::caching::only_metadata, async_file_handle::flag flags=async_file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:639</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -700,7 +608,7 @@ template&lt;class CompletionRoutine &gt; </div>
</div><div class="memdoc">
<p>Create an async file handle creating a randomly named file on a path. The file is opened exclusively with <code>creation::only_if_not_exist</code> so it will never collide with nor overwrite any existing file.</p>
<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160;{</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#acfdf75b3e8a2c43a7d3c6f315b44f9bd">async_file_handle::async_random_file</a>(std::forward&lt;decltype(service)&gt;(service), std::forward&lt;decltype(dirpath)&gt;(dirpath), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_caching)&gt;(_caching), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_acfdf75b3e8a2c43a7d3c6f315b44f9bd"><div class="ttname"><a href="namespacellfio__v2__xxx.html#acfdf75b3e8a2c43a7d3c6f315b44f9bd">llfio_v2_xxx::async_random_file</a></div><div class="ttdeci">result&lt; async_file_handle &gt; async_random_file(io_service &amp;service, const path_handle &amp;dirpath, async_file_handle::mode _mode=async_file_handle::mode::write, async_file_handle::caching _caching=async_file_handle::caching::only_metadata, async_file_handle::flag flags=async_file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:654</div></div>
+<div class="fragment"><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160;{</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#acfdf75b3e8a2c43a7d3c6f315b44f9bd">async_file_handle::async_random_file</a>(std::forward&lt;decltype(service)&gt;(service), std::forward&lt;decltype(dirpath)&gt;(dirpath), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_caching)&gt;(_caching), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_acfdf75b3e8a2c43a7d3c6f315b44f9bd"><div class="ttname"><a href="namespacellfio__v2__xxx.html#acfdf75b3e8a2c43a7d3c6f315b44f9bd">llfio_v2_xxx::async_random_file</a></div><div class="ttdeci">result&lt; async_file_handle &gt; async_random_file(io_service &amp;service, const path_handle &amp;dirpath, async_file_handle::mode _mode=async_file_handle::mode::write, async_file_handle::caching _caching=async_file_handle::caching::only_metadata, async_file_handle::flag flags=async_file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:651</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -766,7 +674,7 @@ template&lt;class CompletionRoutine &gt; </div>
</dl>
<dl class="section user"><dt>Errors returnable</dt><dd>As for <code>read()</code>, plus <code>ENOMEM</code>. </dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>If mem is not set, one calloc, one free. The allocation is unavoidable due to the need to store a type erased completion handler of unknown type and state per buffers input. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; {}) noexcept</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160;{</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.async_read(std::forward&lt;decltype(reqs)&gt;(reqs), std::forward&lt;decltype(completion)&gt;(completion), std::forward&lt;decltype(mem)&gt;(mem));</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; {}) noexcept</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160;{</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.async_read(std::forward&lt;decltype(reqs)&gt;(reqs), std::forward&lt;decltype(completion)&gt;(completion), std::forward&lt;decltype(mem)&gt;(mem));</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="aa83cca46a7fe2fcd7cbd3f09efbd3a74"></a>
@@ -829,7 +737,7 @@ template&lt;class CompletionRoutine &gt; </div>
<p>Create an async file handle creating the named file on some path which the OS declares to be suitable for temporary files. Most OSs are very lazy about flushing changes made to these temporary files. Note the default flags are to have the newly created file deleted on first handle close. Note also that an empty name is equivalent to calling <code>async_random_file(path_discovery::storage_backed_temporary_files_directory())</code> and the creation parameter is ignored.</p>
<dl class="section note"><dt>Note</dt><dd>If the temporary file you are creating is not going to have its path sent to another process for usage, this is the WRONG function to use. Use <code>temp_inode()</code> instead, it is far more secure.</dd></dl>
<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160;{</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#aa83cca46a7fe2fcd7cbd3f09efbd3a74">async_file_handle::async_temp_file</a>(std::forward&lt;decltype(service)&gt;(service), std::forward&lt;decltype(name)&gt;(name), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_creation)&gt;(_creation), std::forward&lt;decltype(_caching)&gt;(_caching), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_aa83cca46a7fe2fcd7cbd3f09efbd3a74"><div class="ttname"><a href="namespacellfio__v2__xxx.html#aa83cca46a7fe2fcd7cbd3f09efbd3a74">llfio_v2_xxx::async_temp_file</a></div><div class="ttdeci">result&lt; async_file_handle &gt; async_temp_file(io_service &amp;service, async_file_handle::path_view_type name=async_file_handle::path_view_type(), async_file_handle::mode _mode=async_file_handle::mode::write, async_file_handle::creation _creation=async_file_handle::creation::if_needed, async_file_handle::caching _caching=async_file_handle::caching::only_metadata, async_file_handle::flag flags=async_file_handle::flag::unlink_on_first_close) noexcept</div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:673</div></div>
+<div class="fragment"><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160;{</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#aa83cca46a7fe2fcd7cbd3f09efbd3a74">async_file_handle::async_temp_file</a>(std::forward&lt;decltype(service)&gt;(service), std::forward&lt;decltype(name)&gt;(name), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_creation)&gt;(_creation), std::forward&lt;decltype(_caching)&gt;(_caching), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_aa83cca46a7fe2fcd7cbd3f09efbd3a74"><div class="ttname"><a href="namespacellfio__v2__xxx.html#aa83cca46a7fe2fcd7cbd3f09efbd3a74">llfio_v2_xxx::async_temp_file</a></div><div class="ttdeci">result&lt; async_file_handle &gt; async_temp_file(io_service &amp;service, async_file_handle::path_view_type name=async_file_handle::path_view_type(), async_file_handle::mode _mode=async_file_handle::mode::write, async_file_handle::creation _creation=async_file_handle::creation::if_needed, async_file_handle::caching _caching=async_file_handle::caching::only_metadata, async_file_handle::flag flags=async_file_handle::flag::unlink_on_first_close) noexcept</div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:670</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -880,7 +788,7 @@ template&lt;class CompletionRoutine &gt; </div>
</div><div class="memdoc">
<p><em>Securely</em> create an async file handle creating a temporary anonymous inode in the filesystem referred to by <em>dirpath</em>. The inode created has no name nor accessible path on the filing system and ceases to exist as soon as the last handle is closed, making it ideal for use as a temporary file where other processes do not need to have access to its contents via some path on the filing system (a classic use case is for backing shared memory maps).</p>
<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160;{</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#ae6eb58f0e5fc200dd2719c7280edba5e">async_file_handle::async_temp_inode</a>(std::forward&lt;decltype(service)&gt;(service), std::forward&lt;decltype(dir)&gt;(dir), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_ae6eb58f0e5fc200dd2719c7280edba5e"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ae6eb58f0e5fc200dd2719c7280edba5e">llfio_v2_xxx::async_temp_inode</a></div><div class="ttdeci">result&lt; async_file_handle &gt; async_temp_inode(io_service &amp;service, const path_handle &amp;dir=path_discovery::storage_backed_temporary_files_directory(), async_file_handle::mode _mode=async_file_handle::mode::write, async_file_handle::flag flags=async_file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:688</div></div>
+<div class="fragment"><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160;{</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#ae6eb58f0e5fc200dd2719c7280edba5e">async_file_handle::async_temp_inode</a>(std::forward&lt;decltype(service)&gt;(service), std::forward&lt;decltype(dir)&gt;(dir), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_ae6eb58f0e5fc200dd2719c7280edba5e"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ae6eb58f0e5fc200dd2719c7280edba5e">llfio_v2_xxx::async_temp_inode</a></div><div class="ttdeci">result&lt; async_file_handle &gt; async_temp_inode(io_service &amp;service, const path_handle &amp;dir=path_discovery::storage_backed_temporary_files_directory(), async_file_handle::mode _mode=async_file_handle::mode::write, async_file_handle::flag flags=async_file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:685</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -946,81 +854,7 @@ template&lt;class CompletionRoutine &gt; </div>
</dl>
<dl class="section user"><dt>Errors returnable</dt><dd>As for <code>write()</code>, plus <code>ENOMEM</code>. </dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>If mem in not set, one calloc, one free. The allocation is unavoidable due to the need to store a type erased completion handler of unknown type and state per buffers input. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; {}) noexcept</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160;{</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.async_write(std::forward&lt;decltype(reqs)&gt;(reqs), std::forward&lt;decltype(completion)&gt;(completion), std::forward&lt;decltype(mem)&gt;(mem));</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160;}</div></div><!-- fragment -->
-</div>
-</div>
-<a id="a4fad22759dab40321cabd37c755880fe"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4fad22759dab40321cabd37c755880fe">&#9670;&nbsp;</a></span>barrier()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_handle::io_result</a>&lt;<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">io_handle::const_buffers_type</a>&gt; llfio_v2_xxx::barrier </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> &amp;&#160;</td>
- <td class="paramname"><em>self</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_handle::io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">io_handle::const_buffers_type</a> &gt;&#160;</td>
- <td class="paramname"><em>reqs</em> = <code><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_handle::io_request</a>&lt;<a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">io_handle::const_buffers_type</a>&gt;()</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&#160;</td>
- <td class="paramname"><em>wait_for_device</em> = <code>false</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool&#160;</td>
- <td class="paramname"><em>and_metadata</em> = <code>false</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>&#160;</td>
- <td class="paramname"><em>d</em> = <code><a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</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">noexcept</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Issue a write reordering barrier such that writes preceding the barrier will reach storage before writes after this barrier. </p>
-<dl class="section warning"><dt>Warning</dt><dd><b>Assume that this call is a no-op</b>. It is not reliably implemented in many common use cases, for example if your code is running inside a LXC container, or if the user has mounted the filing system with non-default options. Instead open the handle with <code>caching::reads</code> which means that all writes form a strict sequential order not completing until acknowledged by the storage device. Filing system can and do use different algorithms to give much better performance with <code>caching::reads</code>, some (e.g. ZFS) spectacularly better.</dd>
-<dd>
-Let me repeat again: consider this call to be a <b>hint</b> to poke the kernel with a stick to go start to do some work sooner rather than later. <b>It may be ignored entirely</b>.</dd>
-<dd>
-For portability, you can only assume that barriers write order for a single handle instance. You cannot assume that barriers write order across multiple handles to the same inode, or across processes.</dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>The buffers barriered, which may not be the buffers input. The size of each scatter-gather buffer is updated with the number of bytes of that buffer barriered. </dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">self</td><td>The object whose member function to call. </td></tr>
- <tr><td class="paramname">reqs</td><td>A scatter-gather and offset request for what range to barrier. May be ignored on some platforms which always write barrier the entire file. Supplying a default initialised reqs write barriers the entire file. </td></tr>
- <tr><td class="paramname">wait_for_device</td><td>True if you want the call to wait until data reaches storage and that storage has acknowledged the data is physically written. Slow. </td></tr>
- <tr><td class="paramname">and_metadata</td><td>True if you want the call to sync the metadata for retrieving the writes before the barrier after a sudden power loss event. Slow. Setting this to false enables much faster performance, especially on non-volatile memory. </td></tr>
- <tr><td class="paramname">d</td><td>An optional deadline by which the i/o must complete, else it is cancelled. Note function may return significantly after this deadline if the i/o takes long to cancel. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX fdatasync() or Windows NtFlushBuffersFileEx() can return. </dd></dl>
-<dl class="section user"><dt>Memory Allocations</dt><dd>None. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160;{</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.barrier(std::forward&lt;decltype(reqs)&gt;(reqs), std::forward&lt;decltype(wait_for_device)&gt;(wait_for_device), std::forward&lt;decltype(and_metadata)&gt;(and_metadata), std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; {}) noexcept</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160;{</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.async_write(std::forward&lt;decltype(reqs)&gt;(reqs), std::forward&lt;decltype(completion)&gt;(completion), std::forward&lt;decltype(mem)&gt;(mem));</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="ae108ac818c3955c032b3b9020da770eb"></a>
@@ -1068,7 +902,7 @@ For portability, you can only assume that barriers write order for a single hand
</dl>
<dl class="section user"><dt>Errors returnable</dt><dd>As for read(), plus ENOMEM. </dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>One calloc, one free. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160;{</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.co_read(std::forward&lt;decltype(reqs)&gt;(reqs));</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160;{</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.co_read(std::forward&lt;decltype(reqs)&gt;(reqs));</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a07564a34b6f382b68c6d6045c8b4b6c7"></a>
@@ -1111,7 +945,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160;{</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.co_read(std::forward&lt;decltype(offset)&gt;(offset), std::forward&lt;decltype(lst)&gt;(lst));</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160;{</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.co_read(std::forward&lt;decltype(offset)&gt;(offset), std::forward&lt;decltype(lst)&gt;(lst));</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a1bf4f597e8b391870215cbe005c252e6"></a>
@@ -1159,7 +993,7 @@ For portability, you can only assume that barriers write order for a single hand
</dl>
<dl class="section user"><dt>Errors returnable</dt><dd>As for write(), plus ENOMEM. </dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>One calloc, one free. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160;{</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.co_write(std::forward&lt;decltype(reqs)&gt;(reqs));</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160;{</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.co_write(std::forward&lt;decltype(reqs)&gt;(reqs));</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a136e03c52e467a86c5dc76205d19f447"></a>
@@ -1202,7 +1036,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160;{</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.co_write(std::forward&lt;decltype(offset)&gt;(offset), std::forward&lt;decltype(lst)&gt;(lst));</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160;{</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.co_write(std::forward&lt;decltype(offset)&gt;(offset), std::forward&lt;decltype(lst)&gt;(lst));</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a3d112d170c1d485e1120de06eef02375"></a>
@@ -1338,7 +1172,7 @@ For portability, you can only assume that barriers write order for a single hand
</dd>
</dl>
<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160;{</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d">file_handle::file</a>(std::forward&lt;decltype(base)&gt;(base), std::forward&lt;decltype(<a class="code" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>)&gt;(<a class="code" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_creation)&gt;(_creation), std::forward&lt;decltype(_caching)&gt;(_caching), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_af31a062639499a79ef5cc8aed16ba65d"><div class="ttname"><a href="namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d">llfio_v2_xxx::file</a></div><div class="ttdeci">result&lt; file_handle &gt; file(const path_handle &amp;base, file_handle::path_view_type path, file_handle::mode _mode=file_handle::mode::read, file_handle::creation _creation=file_handle::creation::open_existing, file_handle::caching _caching=file_handle::caching::all, file_handle::flag flags=file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:334</div></div>
+<div class="fragment"><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160;{</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d">file_handle::file</a>(std::forward&lt;decltype(base)&gt;(base), std::forward&lt;decltype(<a class="code" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>)&gt;(<a class="code" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_creation)&gt;(_creation), std::forward&lt;decltype(_caching)&gt;(_caching), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_af31a062639499a79ef5cc8aed16ba65d"><div class="ttname"><a href="namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d">llfio_v2_xxx::file</a></div><div class="ttdeci">result&lt; file_handle &gt; file(const path_handle &amp;base, file_handle::path_view_type path, file_handle::mode _mode=file_handle::mode::read, file_handle::creation _creation=file_handle::creation::open_existing, file_handle::caching _caching=file_handle::caching::all, file_handle::flag flags=file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:335</div></div>
<div class="ttc" id="namespacellfio__v2__xxx_html_a49f7bb77eb38fbe1280019225b66b78b"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">llfio_v2_xxx::path</a></div><div class="ttdeci">result&lt; path_handle &gt; path(const path_handle &amp;base, path_handle::path_view_type path) noexcept</div><div class="ttdef"><b>Definition:</b> path_handle.hpp:155</div></div>
</div><!-- fragment -->
</div>
@@ -1392,7 +1226,7 @@ For portability, you can only assume that barriers write order for a single hand
</dl>
<dl class="section note"><dt>Note</dt><dd>On Microsoft Windows this constructor uses the faster VirtualAlloc() which creates less versatile page backed memory. If you want anonymous memory allocated from a paging file backed section instead, create a page file backed section and then a mapped view from that using the other constructor. This makes available all those very useful VM tricks Windows can do with section mapped memory which VirtualAlloc() memory cannot do.</dd></dl>
<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX mmap() or VirtualAlloc() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160;{</div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#ab9dbbe2fe79758ef87fe2dd1f61d824c">map_handle::map</a>(std::forward&lt;decltype(bytes)&gt;(bytes), zeroed, std::forward&lt;decltype(_flag)&gt;(_flag));</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_ab9dbbe2fe79758ef87fe2dd1f61d824c"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ab9dbbe2fe79758ef87fe2dd1f61d824c">llfio_v2_xxx::map</a></div><div class="ttdeci">result&lt; map_handle &gt; map(section_handle &amp;section, map_handle::size_type bytes=0, map_handle::extent_type offset=0, section_handle::flag _flag=section_handle::flag::readwrite) noexcept</div><div class="ttdef"><b>Definition:</b> map_handle.hpp:761</div></div>
+<div class="fragment"><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160;{</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#ab9dbbe2fe79758ef87fe2dd1f61d824c">map_handle::map</a>(std::forward&lt;decltype(bytes)&gt;(bytes), zeroed, std::forward&lt;decltype(_flag)&gt;(_flag));</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_ab9dbbe2fe79758ef87fe2dd1f61d824c"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ab9dbbe2fe79758ef87fe2dd1f61d824c">llfio_v2_xxx::map</a></div><div class="ttdeci">result&lt; map_handle &gt; map(section_handle &amp;section, map_handle::size_type bytes=0, map_handle::extent_type offset=0, section_handle::flag _flag=section_handle::flag::readwrite) noexcept</div><div class="ttdef"><b>Definition:</b> map_handle.hpp:757</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -1451,7 +1285,7 @@ For portability, you can only assume that barriers write order for a single hand
</dd>
</dl>
<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX mmap() or NtMapViewOfSection() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160;{</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#ab9dbbe2fe79758ef87fe2dd1f61d824c">map_handle::map</a>(std::forward&lt;decltype(<a class="code" href="namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd">section</a>)&gt;(<a class="code" href="namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd">section</a>), std::forward&lt;decltype(bytes)&gt;(bytes), std::forward&lt;decltype(offset)&gt;(offset), std::forward&lt;decltype(_flag)&gt;(_flag));</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_ab9dbbe2fe79758ef87fe2dd1f61d824c"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ab9dbbe2fe79758ef87fe2dd1f61d824c">llfio_v2_xxx::map</a></div><div class="ttdeci">result&lt; map_handle &gt; map(section_handle &amp;section, map_handle::size_type bytes=0, map_handle::extent_type offset=0, section_handle::flag _flag=section_handle::flag::readwrite) noexcept</div><div class="ttdef"><b>Definition:</b> map_handle.hpp:761</div></div>
+<div class="fragment"><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160;{</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#ab9dbbe2fe79758ef87fe2dd1f61d824c">map_handle::map</a>(std::forward&lt;decltype(<a class="code" href="namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd">section</a>)&gt;(<a class="code" href="namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd">section</a>), std::forward&lt;decltype(bytes)&gt;(bytes), std::forward&lt;decltype(offset)&gt;(offset), std::forward&lt;decltype(_flag)&gt;(_flag));</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_ab9dbbe2fe79758ef87fe2dd1f61d824c"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ab9dbbe2fe79758ef87fe2dd1f61d824c">llfio_v2_xxx::map</a></div><div class="ttdeci">result&lt; map_handle &gt; map(section_handle &amp;section, map_handle::size_type bytes=0, map_handle::extent_type offset=0, section_handle::flag _flag=section_handle::flag::readwrite) noexcept</div><div class="ttdef"><b>Definition:</b> map_handle.hpp:757</div></div>
<div class="ttc" id="namespacellfio__v2__xxx_html_a5323ac4d73623d99f92109a5c184e5dd"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd">llfio_v2_xxx::section</a></div><div class="ttdeci">result&lt; section_handle &gt; section(section_handle::extent_type bytes, const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), section_handle::flag _flag=section_handle::flag::read|section_handle::flag::write) noexcept</div><div class="ttdoc">Create a memory section backed by an anonymous, managed file. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:703</div></div>
</div><!-- fragment -->
</div>
@@ -1790,7 +1624,7 @@ For portability, you can only assume that barriers write order for a single hand
</div><div class="memdoc">
<p>Return the current maximum permitted extent of the file.</p>
<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX fstat() or GetFileInformationByHandleEx() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160;{</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.maximum_extent();</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;{</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.maximum_extent();</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a86f75b69db68e6c0593919f0a878f838"></a>
@@ -2003,7 +1837,7 @@ For portability, you can only assume that barriers write order for a single hand
</div><div class="memdoc">
<p>Create a file handle creating a randomly named file on a path. The file is opened exclusively with <code>creation::only_if_not_exist</code> so it will never collide with nor overwrite any existing file. Note also that caching defaults to temporary which hints to the OS to only flush changes to physical storage as lately as possible.</p>
<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160;{</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a5bc9df0fdb554e757d14cf40af0bbb4e">file_handle::random_file</a>(std::forward&lt;decltype(dirpath)&gt;(dirpath), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_caching)&gt;(_caching), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_a5bc9df0fdb554e757d14cf40af0bbb4e"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a5bc9df0fdb554e757d14cf40af0bbb4e">llfio_v2_xxx::random_file</a></div><div class="ttdeci">result&lt; file_handle &gt; random_file(const path_handle &amp;dirpath, file_handle::mode _mode=file_handle::mode::write, file_handle::caching _caching=file_handle::caching::temporary, file_handle::flag flags=file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:347</div></div>
+<div class="fragment"><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160;{</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a5bc9df0fdb554e757d14cf40af0bbb4e">file_handle::random_file</a>(std::forward&lt;decltype(dirpath)&gt;(dirpath), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_caching)&gt;(_caching), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_a5bc9df0fdb554e757d14cf40af0bbb4e"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a5bc9df0fdb554e757d14cf40af0bbb4e">llfio_v2_xxx::random_file</a></div><div class="ttdeci">result&lt; file_handle &gt; random_file(const path_handle &amp;dirpath, file_handle::mode _mode=file_handle::mode::write, file_handle::caching _caching=file_handle::caching::temporary, file_handle::flag flags=file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:348</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -2053,7 +1887,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160;{</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.read(std::forward&lt;decltype(offset)&gt;(offset), std::forward&lt;decltype(lst)&gt;(lst), std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160;{</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.read(std::forward&lt;decltype(offset)&gt;(offset), std::forward&lt;decltype(lst)&gt;(lst), std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a225e15680392dfa9e1dda42afcc09672"></a>
@@ -2109,7 +1943,7 @@ For portability, you can only assume that barriers write order for a single hand
</dl>
<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX read() can return, <code>errc::timed_out</code>, <code>errc::operation_canceled</code>. <code>errc::not_supported</code> may be returned if deadline i/o is not possible with this particular handle configuration (e.g. reading from regular files on POSIX or reading from a non-overlapped HANDLE on Windows). </dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>The default synchronous implementation in file_handle performs no memory allocation. The asynchronous implementation in async_file_handle performs one calloc and one free. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160;{</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.read(std::forward&lt;decltype(reqs)&gt;(reqs), std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160;{</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.read(std::forward&lt;decltype(reqs)&gt;(reqs), std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="ab993693c98cdb52e2d611f8f9e24e4e2"></a>
@@ -2165,7 +1999,7 @@ For portability, you can only assume that barriers write order for a single hand
</dl>
<dl class="section user"><dt>Errors returnable</dt><dd>None, though the various signals and structured exception throws common to using memory maps may occur. </dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>None. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160;{</div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.read(std::forward&lt;decltype(reqs)&gt;(reqs), std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160;{</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.read(std::forward&lt;decltype(reqs)&gt;(reqs), std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a60fa5c64c83ce05c8287c5379d082e49"></a>
@@ -2232,7 +2066,7 @@ For portability, you can only assume that barriers write order for a single hand
</dd>
</dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>Except on platforms with race free syscalls for renaming open handles (Windows), calls <code>current_path()</code> via <code>parent_path_handle()</code> and thus is both expensive and calls malloc many times. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;{</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.relink(std::forward&lt;decltype(base)&gt;(base), std::forward&lt;decltype(<a class="code" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>)&gt;(<a class="code" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>), std::forward&lt;decltype(atomic_replace)&gt;(atomic_replace), std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_a49f7bb77eb38fbe1280019225b66b78b"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">llfio_v2_xxx::path</a></div><div class="ttdeci">result&lt; path_handle &gt; path(const path_handle &amp;base, path_handle::path_view_type path) noexcept</div><div class="ttdef"><b>Definition:</b> path_handle.hpp:155</div></div>
+<div class="fragment"><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;{</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.relink(std::forward&lt;decltype(base)&gt;(base), std::forward&lt;decltype(<a class="code" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>)&gt;(<a class="code" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>), std::forward&lt;decltype(atomic_replace)&gt;(atomic_replace), std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_a49f7bb77eb38fbe1280019225b66b78b"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">llfio_v2_xxx::path</a></div><div class="ttdeci">result&lt; path_handle &gt; path(const path_handle &amp;base, path_handle::path_view_type path) noexcept</div><div class="ttdef"><b>Definition:</b> path_handle.hpp:155</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -2503,7 +2337,7 @@ For portability, you can only assume that barriers write order for a single hand
<p>Create a file handle creating the named file on some path which the OS declares to be suitable for temporary files. Most OSs are very lazy about flushing changes made to these temporary files. Note the default flags are to have the newly created file deleted on first handle close. Note also that an empty name is equivalent to calling <code>random_file(path_discovery::storage_backed_temporary_files_directory())</code> and the creation parameter is ignored.</p>
<dl class="section note"><dt>Note</dt><dd>If the temporary file you are creating is not going to have its path sent to another process for usage, this is the WRONG function to use. Use <code>temp_inode()</code> instead, it is far more secure.</dd></dl>
<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160;{</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a70d9ef3b988a880d171015b754bb7b27">file_handle::temp_file</a>(std::forward&lt;decltype(name)&gt;(name), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_creation)&gt;(_creation), std::forward&lt;decltype(_caching)&gt;(_caching), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_a70d9ef3b988a880d171015b754bb7b27"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a70d9ef3b988a880d171015b754bb7b27">llfio_v2_xxx::temp_file</a></div><div class="ttdeci">result&lt; file_handle &gt; temp_file(file_handle::path_view_type name=file_handle::path_view_type(), file_handle::mode _mode=file_handle::mode::write, file_handle::creation _creation=file_handle::creation::if_needed, file_handle::caching _caching=file_handle::caching::temporary, file_handle::flag flags=file_handle::flag::unlink_on_first_close) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:366</div></div>
+<div class="fragment"><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;{</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a70d9ef3b988a880d171015b754bb7b27">file_handle::temp_file</a>(std::forward&lt;decltype(name)&gt;(name), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(_creation)&gt;(_creation), std::forward&lt;decltype(_caching)&gt;(_caching), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_a70d9ef3b988a880d171015b754bb7b27"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a70d9ef3b988a880d171015b754bb7b27">llfio_v2_xxx::temp_file</a></div><div class="ttdeci">result&lt; file_handle &gt; temp_file(file_handle::path_view_type name=file_handle::path_view_type(), file_handle::mode _mode=file_handle::mode::write, file_handle::creation _creation=file_handle::creation::if_needed, file_handle::caching _caching=file_handle::caching::temporary, file_handle::flag flags=file_handle::flag::unlink_on_first_close) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:367</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -2548,7 +2382,7 @@ For portability, you can only assume that barriers write order for a single hand
</div><div class="memdoc">
<p><em>Securely</em> create a file handle creating a temporary anonymous inode in the filesystem referred to by <em>dirpath</em>. The inode created has no name nor accessible path on the filing system and ceases to exist as soon as the last handle is closed, making it ideal for use as a temporary file where other processes do not need to have access to its contents via some path on the filing system (a classic use case is for backing shared memory maps).</p>
<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160;{</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#ac8d9dc908fe39f9c896e99f6b7a39d81">file_handle::temp_inode</a>(std::forward&lt;decltype(dirh)&gt;(dirh), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_ac8d9dc908fe39f9c896e99f6b7a39d81"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ac8d9dc908fe39f9c896e99f6b7a39d81">llfio_v2_xxx::temp_inode</a></div><div class="ttdeci">result&lt; file_handle &gt; temp_inode(const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), file_handle::mode _mode=file_handle::mode::write, file_handle::flag flags=file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:381</div></div>
+<div class="fragment"><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160;{</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#ac8d9dc908fe39f9c896e99f6b7a39d81">file_handle::temp_inode</a>(std::forward&lt;decltype(dirh)&gt;(dirh), std::forward&lt;decltype(_mode)&gt;(_mode), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_ac8d9dc908fe39f9c896e99f6b7a39d81"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ac8d9dc908fe39f9c896e99f6b7a39d81">llfio_v2_xxx::temp_inode</a></div><div class="ttdeci">result&lt; file_handle &gt; temp_inode(const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), file_handle::mode _mode=file_handle::mode::write, file_handle::flag flags=file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:382</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -2595,7 +2429,7 @@ For portability, you can only assume that barriers write order for a single hand
</dd>
</dl>
<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX ftruncate() or SetFileInformationByHandle() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160;{</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.truncate(std::forward&lt;decltype(newsize)&gt;(newsize));</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160;{</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.truncate(std::forward&lt;decltype(newsize)&gt;(newsize));</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="aa6b0c71dfe04ceae64818d4c91d05537"></a>
@@ -2695,7 +2529,7 @@ For portability, you can only assume that barriers write order for a single hand
</dd>
</dl>
<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX <code>mremap()</code>, <code>mmap(addr)</code> or <code>VirtualAlloc(addr)</code> can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160;{</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.truncate(std::forward&lt;decltype(newsize)&gt;(newsize), std::forward&lt;decltype(permit_relocation)&gt;(permit_relocation));</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160;{</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.truncate(std::forward&lt;decltype(newsize)&gt;(newsize), std::forward&lt;decltype(permit_relocation)&gt;(permit_relocation));</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a3c20b46beeb225aa63ade3dc42e73362"></a>
@@ -2741,7 +2575,7 @@ For portability, you can only assume that barriers write order for a single hand
</dd>
</dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>Except on platforms with race free syscalls for unlinking open handles (Windows), calls <code>current_path()</code> and thus is both expensive and calls malloc many times. On Windows, also calls <code>current_path()</code> if <code>flag::disable_safety_unlinks</code> is not set. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;{</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.unlink(std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160;{</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.unlink(std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a5a8908704c9988bbecc69c2359e6fd4a"></a>
@@ -2797,7 +2631,7 @@ For portability, you can only assume that barriers write order for a single hand
</dl>
<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX write() can return, <code>errc::timed_out</code>, <code>errc::operation_canceled</code>. <code>errc::not_supported</code> may be returned if deadline i/o is not possible with this particular handle configuration (e.g. writing to regular files on POSIX or writing to a non-overlapped HANDLE on Windows). </dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>The default synchronous implementation in file_handle performs no memory allocation. The asynchronous implementation in async_file_handle performs one calloc and one free. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160;{</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.write(std::forward&lt;decltype(reqs)&gt;(reqs), std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160;{</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.write(std::forward&lt;decltype(reqs)&gt;(reqs), std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a5ea3d93e8b2c7f6e3fca7a9cde734312"></a>
@@ -2846,7 +2680,7 @@ For portability, you can only assume that barriers write order for a single hand
</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>
-<div class="fragment"><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160;{</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.write(std::forward&lt;decltype(offset)&gt;(offset), std::forward&lt;decltype(lst)&gt;(lst), std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160;{</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.write(std::forward&lt;decltype(offset)&gt;(offset), std::forward&lt;decltype(lst)&gt;(lst), std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a681ed7e98ac17e6bb336b9287365141b"></a>
@@ -2901,7 +2735,7 @@ For portability, you can only assume that barriers write order for a single hand
</dl>
<dl class="section user"><dt>Errors returnable</dt><dd>None, though the various signals and structured exception throws common to using memory maps may occur. </dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>None. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160;{</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.write(std::forward&lt;decltype(reqs)&gt;(reqs), std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160;{</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.write(std::forward&lt;decltype(reqs)&gt;(reqs), std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="ad0fb15649a46da0d75b5797bfda8dc2e"></a>
@@ -2964,7 +2798,7 @@ For portability, you can only assume that barriers write order for a single hand
</dl>
<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX write() can return, <code>errc::timed_out</code>, <code>errc::operation_canceled</code>. <code>errc::not_supported</code> may be returned if deadline i/o is not possible with this particular handle configuration (e.g. writing to regular files on POSIX or writing to a non-overlapped HANDLE on Windows). </dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>The default synchronous implementation in file_handle performs no memory allocation. The asynchronous implementation in async_file_handle may perform one calloc and one free. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160;{</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.zero(std::forward&lt;decltype(offset)&gt;(offset), std::forward&lt;decltype(bytes)&gt;(bytes), std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160;{</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.zero(std::forward&lt;decltype(offset)&gt;(offset), std::forward&lt;decltype(bytes)&gt;(bytes), std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
diff --git a/namespacellfio__v2__xxx_1_1path__discovery.html b/namespacellfio__v2__xxx_1_1path__discovery.html
index 96a3da7e..088fd69e 100644
--- a/namespacellfio__v2__xxx_1_1path__discovery.html
+++ b/namespacellfio__v2__xxx_1_1path__discovery.html
@@ -205,7 +205,7 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
<p>Returns a reference to an open handle to a verified temporary directory where files created are stored in a filesystem directory, usually under the current user's quota. </p>
<p>This is implemented by iterating all of the paths returned by <code>verified_temporary_directories()</code> and checking what file system is in use. The following regex is used:</p>
-<p><code>btrfs|cifs|exfat|ext?|f2fs|hfs|jfs|lxfs|nfs|nilf2|ufs|vfat|xfs|zfs|msdosfs|newnfs|ntfs|smbfs|unionfs|fat|fat32</code></p>
+<p><code>btrfs|cifs|exfat|ext(2|3|4)|f2fs|hfs|jfs|lxfs|nfs|nilf2|ufs|vfat|xfs|zfs|msdosfs|newnfs|ntfs|smbfs|unionfs|fat|fat32</code></p>
<p>The handle is created during <code>verified_temporary_directories()</code> and is statically cached thereafter. </p>
</div>
diff --git a/namespacemembers.html b/namespacemembers.html
index 3c14a236..fc183897 100644
--- a/namespacemembers.html
+++ b/namespacemembers.html
@@ -86,9 +86,6 @@ $(document).ready(function(){initNavTree('namespacemembers.html','');});
<li>all_temporary_directories()
: <a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#ada0466e529e851d2d58ce87e0e28f4f2">llfio_v2_xxx::path_discovery</a>
</li>
-<li>async_barrier()
-: <a class="el" href="namespacellfio__v2__xxx.html#abd72aa0028b4b7e5561a7375b124e22f">llfio_v2_xxx</a>
-</li>
<li>async_file()
: <a class="el" href="namespacellfio__v2__xxx.html#ab8bf2fda0abbb11fdeb77d25f8288149">llfio_v2_xxx</a>
</li>
@@ -110,13 +107,6 @@ $(document).ready(function(){initNavTree('namespacemembers.html','');});
</ul>
-<h3><a id="index_b"></a>- b -</h3><ul>
-<li>barrier()
-: <a class="el" href="namespacellfio__v2__xxx.html#a4fad22759dab40321cabd37c755880fe">llfio_v2_xxx</a>
-</li>
-</ul>
-
-
<h3><a id="index_c"></a>- c -</h3><ul>
<li>cache_parent()
: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#a0e474a5af3258fc971c71d057c8fb0bb">llfio_v2_xxx::algorithm</a>
@@ -249,7 +239,7 @@ $(document).ready(function(){initNavTree('namespacemembers.html','');});
: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#a7ef00d65394827ceb91597dda1f496f9">llfio_v2_xxx::algorithm</a>
</li>
<li>operator+()
-: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1impl.html#ac3de302506425adecb76aaa0a93377f4">llfio_v2_xxx::algorithm::impl</a>
+: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1impl.html#ac18e1a34c78ea3e115ec42e822003459">llfio_v2_xxx::algorithm::impl</a>
</li>
<li>operator-()
: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1impl.html#ade5c4ba1da02f45e072be8f16e1fa46a">llfio_v2_xxx::algorithm::impl</a>
@@ -280,7 +270,7 @@ $(document).ready(function(){initNavTree('namespacemembers.html','');});
: <a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a6c41e314d4d4b8362b96a3b4c1c363f5">llfio_v2_xxx::utils</a>
</li>
<li>path()
-: <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">llfio_v2_xxx</a>
+: <a class="el" href="namespacellfio__v2__xxx.html#ad8b12afdd4c80d69d2530bd40f92427c">llfio_v2_xxx</a>
</li>
<li>posix_error()
: <a class="el" href="namespacellfio__v2__xxx.html#a20ab6481a21bf2c4cf8185919edf0a66">llfio_v2_xxx</a>
@@ -334,7 +324,7 @@ $(document).ready(function(){initNavTree('namespacemembers.html','');});
</li>
<li>swap()
: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#ae0973243c4b58d53d6f11ce5a2535a8c">llfio_v2_xxx::algorithm</a>
-, <a class="el" href="namespacellfio__v2__xxx.html#a2fd0d67b7d28699d16f6a3666a62a5bf">llfio_v2_xxx</a>
+, <a class="el" href="namespacellfio__v2__xxx.html#a2542466a055a0c024dee2704e9e32519">llfio_v2_xxx</a>
</li>
</ul>
diff --git a/namespacemembers_func.html b/namespacemembers_func.html
index 1e6e1f62..f8c3a414 100644
--- a/namespacemembers_func.html
+++ b/namespacemembers_func.html
@@ -86,9 +86,6 @@ $(document).ready(function(){initNavTree('namespacemembers_func.html','');});
<li>all_temporary_directories()
: <a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#ada0466e529e851d2d58ce87e0e28f4f2">llfio_v2_xxx::path_discovery</a>
</li>
-<li>async_barrier()
-: <a class="el" href="namespacellfio__v2__xxx.html#abd72aa0028b4b7e5561a7375b124e22f">llfio_v2_xxx</a>
-</li>
<li>async_file()
: <a class="el" href="namespacellfio__v2__xxx.html#ab8bf2fda0abbb11fdeb77d25f8288149">llfio_v2_xxx</a>
</li>
@@ -110,13 +107,6 @@ $(document).ready(function(){initNavTree('namespacemembers_func.html','');});
</ul>
-<h3><a id="index_b"></a>- b -</h3><ul>
-<li>barrier()
-: <a class="el" href="namespacellfio__v2__xxx.html#a4fad22759dab40321cabd37c755880fe">llfio_v2_xxx</a>
-</li>
-</ul>
-
-
<h3><a id="index_c"></a>- c -</h3><ul>
<li>cache_parent()
: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#a0e474a5af3258fc971c71d057c8fb0bb">llfio_v2_xxx::algorithm</a>
@@ -239,7 +229,7 @@ $(document).ready(function(){initNavTree('namespacemembers_func.html','');});
: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#a7ef00d65394827ceb91597dda1f496f9">llfio_v2_xxx::algorithm</a>
</li>
<li>operator+()
-: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1impl.html#ac3de302506425adecb76aaa0a93377f4">llfio_v2_xxx::algorithm::impl</a>
+: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1impl.html#ac18e1a34c78ea3e115ec42e822003459">llfio_v2_xxx::algorithm::impl</a>
</li>
<li>operator-()
: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm_1_1impl.html#ade5c4ba1da02f45e072be8f16e1fa46a">llfio_v2_xxx::algorithm::impl</a>
@@ -270,7 +260,7 @@ $(document).ready(function(){initNavTree('namespacemembers_func.html','');});
: <a class="el" href="namespacellfio__v2__xxx_1_1utils.html#a6c41e314d4d4b8362b96a3b4c1c363f5">llfio_v2_xxx::utils</a>
</li>
<li>path()
-: <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">llfio_v2_xxx</a>
+: <a class="el" href="namespacellfio__v2__xxx.html#ad8b12afdd4c80d69d2530bd40f92427c">llfio_v2_xxx</a>
</li>
<li>posix_error()
: <a class="el" href="namespacellfio__v2__xxx.html#a20ab6481a21bf2c4cf8185919edf0a66">llfio_v2_xxx</a>
@@ -321,7 +311,7 @@ $(document).ready(function(){initNavTree('namespacemembers_func.html','');});
</li>
<li>swap()
: <a class="el" href="namespacellfio__v2__xxx_1_1algorithm.html#ae0973243c4b58d53d6f11ce5a2535a8c">llfio_v2_xxx::algorithm</a>
-, <a class="el" href="namespacellfio__v2__xxx.html#acda211a674e09531226be56691136f7c">llfio_v2_xxx</a>
+, <a class="el" href="namespacellfio__v2__xxx.html#aa2eeaa1b9280d05b18b7e6d505c289fb">llfio_v2_xxx</a>
</li>
</ul>
diff --git a/navtreedata.js b/navtreedata.js
index ff7950de..382e10d4 100644
--- a/navtreedata.js
+++ b/navtreedata.js
@@ -22,8 +22,7 @@ var NAVTREE =
[ "Functions", "functions_func.html", "functions_func" ],
[ "Variables", "functions_vars.html", null ],
[ "Typedefs", "functions_type.html", null ],
- [ "Enumerations", "functions_enum.html", null ],
- [ "Enumerator", "functions_eval.html", null ]
+ [ "Enumerations", "functions_enum.html", null ]
] ]
] ],
[ "Files", null, [
@@ -39,16 +38,15 @@ var NAVTREE =
var NAVTREEINDEX =
[
".html",
-"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a3d30413d592be2c4802f50b9cf891681",
-"classllfio__v2__xxx_1_1async__file__handle.html#ae0d5de068f71628e9491c5669f89dca0",
-"classllfio__v2__xxx_1_1file__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2",
-"classllfio__v2__xxx_1_1io__service.html#a2c620e39d24645bd5537587e4115a0ce",
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ac3aa3dc009822c0e437f317864534feb",
-"classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322",
-"io__service_8hpp.html",
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae539f1d862f516854859e22adad5e833",
-"structllfio__v2__xxx_1_1native__handle__type.html#a6d63f413705982a84f4140640e4340af",
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ac9f186c0dee82daaebf7b880e615efb0"
+"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a5a7f463e9235bb95ddd84b69e2642613",
+"classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#a7db8e009f82fc944bf46b7eacba156ae",
+"classllfio__v2__xxx_1_1file__handle.html#adb03b26fe4085d50ea650f6d6a6aee2a",
+"classllfio__v2__xxx_1_1map__handle.html#a751e912d8dab755ea969a418c1d544eb",
+"classllfio__v2__xxx_1_1path__view.html#a4fb290145d390bd9e8cf3b5e2553c266",
+"file__handle_8hpp.html#ad0fb15649a46da0d75b5797bfda8dc2e",
+"storage__profile_8hpp.html#a7b5d9733608e921cfed8547f46bee4ff",
+"structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html#a2a69095a0ab01a9ffb6163cac7f56216",
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a1a35314c5647ff0e526de50891d3be7d"
];
var SYNCONMSG = 'click to disable panel synchronisation';
diff --git a/navtreeindex0.js b/navtreeindex0.js
index a1224562..0a2d265e 100644
--- a/navtreeindex0.js
+++ b/navtreeindex0.js
@@ -4,19 +4,17 @@ var NAVTREEINDEX0 =
".html":[4,0,0,0],
"annotated.html":[4,0],
"async__file__handle_8hpp.html":[5,0,0,1,0,1],
-"async__file__handle_8hpp.html#a07564a34b6f382b68c6d6045c8b4b6c7":[5,0,0,1,0,1,14],
-"async__file__handle_8hpp.html#a136e03c52e467a86c5dc76205d19f447":[5,0,0,1,0,1,16],
-"async__file__handle_8hpp.html#a1bf4f597e8b391870215cbe005c252e6":[5,0,0,1,0,1,15],
-"async__file__handle_8hpp.html#a39254f0f1608754370d4a9d38be0f355":[5,0,0,1,0,1,8],
-"async__file__handle_8hpp.html#a4985d46d431e0e734ad0b8bab00ad591":[5,0,0,1,0,1,11],
-"async__file__handle_8hpp.html#a4cbd85f586f75cb375b99b162da48fda":[5,0,0,1,0,1,12],
-"async__file__handle_8hpp.html#a827e936162aff684070500f10c169e70":[5,0,0,1,0,1,17],
-"async__file__handle_8hpp.html#aa83cca46a7fe2fcd7cbd3f09efbd3a74":[5,0,0,1,0,1,9],
-"async__file__handle_8hpp.html#ab8bf2fda0abbb11fdeb77d25f8288149":[5,0,0,1,0,1,6],
-"async__file__handle_8hpp.html#abd72aa0028b4b7e5561a7375b124e22f":[5,0,0,1,0,1,5],
-"async__file__handle_8hpp.html#acfdf75b3e8a2c43a7d3c6f315b44f9bd":[5,0,0,1,0,1,7],
-"async__file__handle_8hpp.html#ae108ac818c3955c032b3b9020da770eb":[5,0,0,1,0,1,13],
-"async__file__handle_8hpp.html#ae6eb58f0e5fc200dd2719c7280edba5e":[5,0,0,1,0,1,10],
+"async__file__handle_8hpp.html#a07564a34b6f382b68c6d6045c8b4b6c7":[5,0,0,1,0,1,12],
+"async__file__handle_8hpp.html#a136e03c52e467a86c5dc76205d19f447":[5,0,0,1,0,1,14],
+"async__file__handle_8hpp.html#a1bf4f597e8b391870215cbe005c252e6":[5,0,0,1,0,1,13],
+"async__file__handle_8hpp.html#a39254f0f1608754370d4a9d38be0f355":[5,0,0,1,0,1,7],
+"async__file__handle_8hpp.html#a4985d46d431e0e734ad0b8bab00ad591":[5,0,0,1,0,1,10],
+"async__file__handle_8hpp.html#a827e936162aff684070500f10c169e70":[5,0,0,1,0,1,15],
+"async__file__handle_8hpp.html#aa83cca46a7fe2fcd7cbd3f09efbd3a74":[5,0,0,1,0,1,8],
+"async__file__handle_8hpp.html#ab8bf2fda0abbb11fdeb77d25f8288149":[5,0,0,1,0,1,5],
+"async__file__handle_8hpp.html#acfdf75b3e8a2c43a7d3c6f315b44f9bd":[5,0,0,1,0,1,6],
+"async__file__handle_8hpp.html#ae108ac818c3955c032b3b9020da770eb":[5,0,0,1,0,1,11],
+"async__file__handle_8hpp.html#ae6eb58f0e5fc200dd2719c7280edba5e":[5,0,0,1,0,1,9],
"async__file__handle_8hpp.html#afa9eca0bb55f3d76f2a50a43b1969b60":[5,0,0,1,0,1,4],
"atomic__append_8hpp.html":[5,0,0,1,0,0,1,0],
"base_8hpp.html":[5,0,0,1,0,0,1,1],
@@ -249,5 +247,7 @@ var NAVTREEINDEX0 =
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a051822a4942c7f45b0491ab4385aacd3":[4,0,2,0,1,2,15],
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a33dcc1d37df90ac5dd85a754f9ffce04":[4,0,2,0,1,2,10],
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a34ce9a41ae0dbb92f1b08b36aab8dcf5":[4,0,2,0,1,2,0],
-"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a38aaf831bd6914abf71b6eb58a2fe06b":[4,0,2,0,1,2,12]
+"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a38aaf831bd6914abf71b6eb58a2fe06b":[4,0,2,0,1,2,12],
+"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a3d30413d592be2c4802f50b9cf891681":[4,0,2,0,1,2,1],
+"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a4cdf15b69bf6f375ec7083d639f76358":[4,0,2,0,1,2,6]
};
diff --git a/navtreeindex1.js b/navtreeindex1.js
index 45e1b56c..55b1d208 100644
--- a/navtreeindex1.js
+++ b/navtreeindex1.js
@@ -1,7 +1,5 @@
var NAVTREEINDEX1 =
{
-"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a3d30413d592be2c4802f50b9cf891681":[4,0,2,0,1,2,1],
-"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a4cdf15b69bf6f375ec7083d639f76358":[4,0,2,0,1,2,6],
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a5a7f463e9235bb95ddd84b69e2642613":[4,0,2,0,1,2,16],
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a5de42e3023b15ea85b13bfdce1753dd2":[4,0,2,0,1,2,5],
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a86b399c01b8169ebdd1a8f37c57159da":[4,0,2,0,1,2,3],
@@ -152,75 +150,65 @@ var NAVTREEINDEX1 =
"classllfio__v2__xxx_1_1async__file__handle.html#a00be8e5e3cdc19365434a630f4f0c4fe":[4,0,2,4,26],
"classllfio__v2__xxx_1_1async__file__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,4,46],
"classllfio__v2__xxx_1_1async__file__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,4,49],
-"classllfio__v2__xxx_1_1async__file__handle.html#a0295a939f9d2f37ffb5949c48527dec6":[4,0,2,4,89],
+"classllfio__v2__xxx_1_1async__file__handle.html#a0295a939f9d2f37ffb5949c48527dec6":[4,0,2,4,91],
"classllfio__v2__xxx_1_1async__file__handle.html#a06fef3b3f063e9f25e95f38ddc248468":[4,0,2,4,2],
"classllfio__v2__xxx_1_1async__file__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,4,29],
"classllfio__v2__xxx_1_1async__file__handle.html#a0a8be71c14785d8ae8cd31b5be17ae10":[4,0,2,4,17],
"classllfio__v2__xxx_1_1async__file__handle.html#a0ddbd5d7949d8265c098967ddec30a45":[4,0,2,4,41],
"classllfio__v2__xxx_1_1async__file__handle.html#a0eab5d0be35ec57639fb4fe6cbf17ffa":[4,0,2,4,8],
-"classllfio__v2__xxx_1_1async__file__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,4,76],
+"classllfio__v2__xxx_1_1async__file__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,4,78],
"classllfio__v2__xxx_1_1async__file__handle.html#a198e1c294966a28919d2f0698e3608b8":[4,0,2,4,62],
"classllfio__v2__xxx_1_1async__file__handle.html#a1a65884346740af7fb4648c79d44a750":[4,0,2,4,18],
"classllfio__v2__xxx_1_1async__file__handle.html#a1c2c1c27b1be6414415b3fc3fcda88b2":[4,0,2,4,45],
-"classllfio__v2__xxx_1_1async__file__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,4,72],
-"classllfio__v2__xxx_1_1async__file__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,4,97],
-"classllfio__v2__xxx_1_1async__file__handle.html#a1dd7923bb65456af4da41ebe7cb84982":[4,0,2,4,85],
+"classllfio__v2__xxx_1_1async__file__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,4,74],
+"classllfio__v2__xxx_1_1async__file__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,4,99],
+"classllfio__v2__xxx_1_1async__file__handle.html#a1dd7923bb65456af4da41ebe7cb84982":[4,0,2,4,87],
"classllfio__v2__xxx_1_1async__file__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,4,58],
"classllfio__v2__xxx_1_1async__file__handle.html#a29cc9f2525f78dd73f8402cb59d97212":[4,0,2,4,60],
-"classllfio__v2__xxx_1_1async__file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f":[4,0,2,4,82],
+"classllfio__v2__xxx_1_1async__file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f":[4,0,2,4,84],
"classllfio__v2__xxx_1_1async__file__handle.html#a2ce03c6d1b3e3ab38c789cd0fc4fe5ba":[4,0,2,4,36],
"classllfio__v2__xxx_1_1async__file__handle.html#a3407a44d52c4ad075cdf5283c96bf75e":[4,0,2,4,37],
+"classllfio__v2__xxx_1_1async__file__handle.html#a346a7685544490691f50ebb27786c651":[4,0,2,4,34],
"classllfio__v2__xxx_1_1async__file__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,4,54],
"classllfio__v2__xxx_1_1async__file__handle.html#a3674e63b664f6e3926991dc00c1312d2":[4,0,2,4,21],
"classllfio__v2__xxx_1_1async__file__handle.html#a369f8ec6a682030f8e7f5749eb7bc77e":[4,0,2,4,61],
"classllfio__v2__xxx_1_1async__file__handle.html#a3a7030863cef0cdc5646f18e76a43411":[4,0,2,4,42],
"classllfio__v2__xxx_1_1async__file__handle.html#a3b91b3d3e8a8f371fe7e9196b2fe5ef6":[4,0,2,4,6],
"classllfio__v2__xxx_1_1async__file__handle.html#a47103e7f1aa1e1c17680d3c1bd108eee":[4,0,2,4,7],
-"classllfio__v2__xxx_1_1async__file__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,4,81],
+"classllfio__v2__xxx_1_1async__file__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,4,83],
"classllfio__v2__xxx_1_1async__file__handle.html#a48e0773d5302f785c343073e42de5928":[4,0,2,4,66],
"classllfio__v2__xxx_1_1async__file__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,4,48],
-"classllfio__v2__xxx_1_1async__file__handle.html#a4d20a64cf182162a49962ed25d2126b3":[4,0,2,4,93],
+"classllfio__v2__xxx_1_1async__file__handle.html#a4d20a64cf182162a49962ed25d2126b3":[4,0,2,4,95],
"classllfio__v2__xxx_1_1async__file__handle.html#a4e0afe8f9559163a716b722e280e4e13":[4,0,2,4,22],
-"classllfio__v2__xxx_1_1async__file__handle.html#a50caa94c51aae1f23e7708d3c6a21364":[4,0,2,4,90],
-"classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2a":[4,0,2,4,19],
-"classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d":[4,0,2,4,19,14],
-"classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,4,19,1],
-"classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,4,19,2],
-"classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681":[4,0,2,4,19,11],
-"classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3":[4,0,2,4,19,6],
-"classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322":[4,0,2,4,19,10],
-"classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b":[4,0,2,4,19,5],
-"classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59":[4,0,2,4,19,13],
-"classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962":[4,0,2,4,19,3],
-"classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0":[4,0,2,4,19,9],
-"classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a":[4,0,2,4,19,12],
-"classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c":[4,0,2,4,19,8],
-"classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d":[4,0,2,4,19,4],
-"classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298":[4,0,2,4,19,0],
-"classllfio__v2__xxx_1_1async__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0":[4,0,2,4,19,7],
+"classllfio__v2__xxx_1_1async__file__handle.html#a50caa94c51aae1f23e7708d3c6a21364":[4,0,2,4,92],
"classllfio__v2__xxx_1_1async__file__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,4,57],
-"classllfio__v2__xxx_1_1async__file__handle.html#a5f7485307a0704aa1680e5785be2035d":[4,0,2,4,70],
-"classllfio__v2__xxx_1_1async__file__handle.html#a6319914bb21cb96a000d6d547515b156":[4,0,2,4,71],
+"classllfio__v2__xxx_1_1async__file__handle.html#a5f7485307a0704aa1680e5785be2035d":[4,0,2,4,72],
+"classllfio__v2__xxx_1_1async__file__handle.html#a6319914bb21cb96a000d6d547515b156":[4,0,2,4,73],
"classllfio__v2__xxx_1_1async__file__handle.html#a665ddf5aa47e1d8a94580570a0457c8a":[4,0,2,4,39],
"classllfio__v2__xxx_1_1async__file__handle.html#a6713883b493de4051863fbaae54bbec3":[4,0,2,4,11],
"classllfio__v2__xxx_1_1async__file__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,4,55],
"classllfio__v2__xxx_1_1async__file__handle.html#a6c30e529c467a261444b5841134fa394":[4,0,2,4,12],
-"classllfio__v2__xxx_1_1async__file__handle.html#a6e46c6ea379152eb559ab15990f7c467":[4,0,2,4,69],
+"classllfio__v2__xxx_1_1async__file__handle.html#a6e46c6ea379152eb559ab15990f7c467":[4,0,2,4,71],
"classllfio__v2__xxx_1_1async__file__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,4,28],
"classllfio__v2__xxx_1_1async__file__handle.html#a72483b3aad192189df36b94e6853875b":[4,0,2,4,10],
-"classllfio__v2__xxx_1_1async__file__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,4,74],
+"classllfio__v2__xxx_1_1async__file__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,4,76],
"classllfio__v2__xxx_1_1async__file__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,4,53],
+"classllfio__v2__xxx_1_1async__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565":[4,0,2,4,19],
+"classllfio__v2__xxx_1_1async__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb":[4,0,2,4,19,0],
+"classllfio__v2__xxx_1_1async__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345":[4,0,2,4,19,3],
+"classllfio__v2__xxx_1_1async__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1":[4,0,2,4,19,2],
+"classllfio__v2__xxx_1_1async__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce":[4,0,2,4,19,1],
"classllfio__v2__xxx_1_1async__file__handle.html#a7991af58283025b80a7225866643f0b4":[4,0,2,4,64],
"classllfio__v2__xxx_1_1async__file__handle.html#a7a92a9d8516c6fcaec4a42b4da019851":[4,0,2,4,1],
-"classllfio__v2__xxx_1_1async__file__handle.html#a7c6b5216c28aa0ca145d9f45c82005a3":[4,0,2,4,80],
-"classllfio__v2__xxx_1_1async__file__handle.html#a7d29c4f0a0eca88431f5e1b290e66fe7":[4,0,2,4,31],
+"classllfio__v2__xxx_1_1async__file__handle.html#a7c6b5216c28aa0ca145d9f45c82005a3":[4,0,2,4,82],
"classllfio__v2__xxx_1_1async__file__handle.html#a7ecbdab79c48565dcd2af6e62645d4da":[4,0,2,4,23],
"classllfio__v2__xxx_1_1async__file__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,4,30],
"classllfio__v2__xxx_1_1async__file__handle.html#a8085cb3b40982c6dbd874547c183fd5e":[4,0,2,4,50],
-"classllfio__v2__xxx_1_1async__file__handle.html#a83884eca7b4cd09125a5cf8a155e6052":[4,0,2,4,87],
-"classllfio__v2__xxx_1_1async__file__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa":[4,0,2,4,95],
+"classllfio__v2__xxx_1_1async__file__handle.html#a823391cea8818da742c0d4c573f7300f":[4,0,2,4,35],
+"classllfio__v2__xxx_1_1async__file__handle.html#a83884eca7b4cd09125a5cf8a155e6052":[4,0,2,4,89],
+"classllfio__v2__xxx_1_1async__file__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa":[4,0,2,4,97],
"classllfio__v2__xxx_1_1async__file__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5":[4,0,2,4,68],
-"classllfio__v2__xxx_1_1async__file__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2":[4,0,2,4,73],
+"classllfio__v2__xxx_1_1async__file__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2":[4,0,2,4,75],
"classllfio__v2__xxx_1_1async__file__handle.html#a889495794181a86528c6c736f441bee1":[4,0,2,4,9],
"classllfio__v2__xxx_1_1async__file__handle.html#a8b72655442a5c5a17e609a6df96106e0":[4,0,2,4,20],
"classllfio__v2__xxx_1_1async__file__handle.html#a8c38344215baf024148e144735f3cb67":[4,0,2,4,13],
@@ -228,26 +216,38 @@ var NAVTREEINDEX1 =
"classllfio__v2__xxx_1_1async__file__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,4,65],
"classllfio__v2__xxx_1_1async__file__handle.html#a947560985897895880a7cf0a05f0435f":[4,0,2,4,15],
"classllfio__v2__xxx_1_1async__file__handle.html#a9631849ff4acd52ef8366d97d719beb9":[4,0,2,4,5],
-"classllfio__v2__xxx_1_1async__file__handle.html#a9793fe40564fda2437783488bd51b9f1":[4,0,2,4,84],
+"classllfio__v2__xxx_1_1async__file__handle.html#a9793fe40564fda2437783488bd51b9f1":[4,0,2,4,86],
"classllfio__v2__xxx_1_1async__file__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,4,52],
"classllfio__v2__xxx_1_1async__file__handle.html#a9ae40085180ad48887b207701f3679f9":[4,0,2,4,14],
"classllfio__v2__xxx_1_1async__file__handle.html#a9b835259530bd30f8e49975003323e3f":[4,0,2,4,43],
-"classllfio__v2__xxx_1_1async__file__handle.html#a9e7642226a90c6eddb1d2e0b28a68cf2":[4,0,2,4,34],
-"classllfio__v2__xxx_1_1async__file__handle.html#aa2c2b2847fd039b9c255633e6031817a":[4,0,2,4,96],
-"classllfio__v2__xxx_1_1async__file__handle.html#aa3ec366f663f85fb4d679542b8c1b41a":[4,0,2,4,35],
+"classllfio__v2__xxx_1_1async__file__handle.html#aa2c2b2847fd039b9c255633e6031817a":[4,0,2,4,98],
+"classllfio__v2__xxx_1_1async__file__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,4,70],
+"classllfio__v2__xxx_1_1async__file__handle.html#aab8b4425981da0c40e684bccbb9a8a30":[4,0,2,4,31],
"classllfio__v2__xxx_1_1async__file__handle.html#aad616e910b3a23fefca19145598ecb40":[4,0,2,4,4],
-"classllfio__v2__xxx_1_1async__file__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc":[4,0,2,4,78],
-"classllfio__v2__xxx_1_1async__file__handle.html#ab500784aa806dc7c2d90028d2f72de57":[4,0,2,4,88],
+"classllfio__v2__xxx_1_1async__file__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc":[4,0,2,4,80],
+"classllfio__v2__xxx_1_1async__file__handle.html#ab500784aa806dc7c2d90028d2f72de57":[4,0,2,4,90],
"classllfio__v2__xxx_1_1async__file__handle.html#aba22575b95c858883002c0cdddee4964":[4,0,2,4,3],
"classllfio__v2__xxx_1_1async__file__handle.html#ac1a82f9f61d49d8f6836c823950483ac":[4,0,2,4,16],
-"classllfio__v2__xxx_1_1async__file__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090":[4,0,2,4,77],
+"classllfio__v2__xxx_1_1async__file__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090":[4,0,2,4,79],
"classllfio__v2__xxx_1_1async__file__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,4,47],
-"classllfio__v2__xxx_1_1async__file__handle.html#ad0cfbde678b809518ca005251ec64808":[4,0,2,4,79],
-"classllfio__v2__xxx_1_1async__file__handle.html#ad720c4c7f350fe06291534d1cbf2feb5":[4,0,2,4,86],
-"classllfio__v2__xxx_1_1async__file__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,4,94],
+"classllfio__v2__xxx_1_1async__file__handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,4,69],
+"classllfio__v2__xxx_1_1async__file__handle.html#ad0cfbde678b809518ca005251ec64808":[4,0,2,4,81],
+"classllfio__v2__xxx_1_1async__file__handle.html#ad720c4c7f350fe06291534d1cbf2feb5":[4,0,2,4,88],
+"classllfio__v2__xxx_1_1async__file__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,4,96],
"classllfio__v2__xxx_1_1async__file__handle.html#adc2b24484565bcb0cf654adf2f732f7e":[4,0,2,4,27],
"classllfio__v2__xxx_1_1async__file__handle.html#adc8452934b08cfca28ac8eb74aca0664":[4,0,2,4,40],
"classllfio__v2__xxx_1_1async__file__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,4,51],
"classllfio__v2__xxx_1_1async__file__handle.html#ade38a6d55a4eda3c6d5e196683b129a7":[4,0,2,4,63],
-"classllfio__v2__xxx_1_1async__file__handle.html#ae021a5a199931162fdf484d8ce27b495":[4,0,2,4,24]
+"classllfio__v2__xxx_1_1async__file__handle.html#ae021a5a199931162fdf484d8ce27b495":[4,0,2,4,24],
+"classllfio__v2__xxx_1_1async__file__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,4,56],
+"classllfio__v2__xxx_1_1async__file__handle.html#ae1abb705dbe9890e103365bf7c61521e":[4,0,2,4,85],
+"classllfio__v2__xxx_1_1async__file__handle.html#ae7735588338065ede0ab9b7f979bc65a":[4,0,2,4,77],
+"classllfio__v2__xxx_1_1async__file__handle.html#ae9f4f5f9cc386f5188a9977145edbe6c":[4,0,2,4,93],
+"classllfio__v2__xxx_1_1async__file__handle.html#aeca5271cbbf476097c84a56c4a99d58d":[4,0,2,4,32],
+"classllfio__v2__xxx_1_1async__file__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,4,38],
+"classllfio__v2__xxx_1_1async__file__handle.html#af84775bc1d3258fa0e8499e2945a5d25":[4,0,2,4,67],
+"classllfio__v2__xxx_1_1async__file__handle.html#afbc86680a51fe4643b74a8d519a4f552":[4,0,2,4,33],
+"classllfio__v2__xxx_1_1async__file__handle.html#afcfbb2ce7944347147475f894af5a6d4":[4,0,2,4,25],
+"classllfio__v2__xxx_1_1async__file__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,4,94],
+"classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html":[4,0,2,4,0]
};
diff --git a/navtreeindex10.js b/navtreeindex10.js
deleted file mode 100644
index fa467ee4..00000000
--- a/navtreeindex10.js
+++ /dev/null
@@ -1,136 +0,0 @@
-var NAVTREEINDEX10 =
-{
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ac9f186c0dee82daaebf7b880e615efb0":[4,0,2,2,3,87],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#acab0c98c93149616bddb937fcddeafef":[4,0,2,2,3,78],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#accda92d5c8ff679c32218792b9933aeb":[4,0,2,2,3,46],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ace1bcc49772be69abd8d43c7d83c51c5":[4,0,2,2,3,88],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#acf09944b61a0e84f7d72dd4a87ffb76d":[4,0,2,2,3,79],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ad015cb71ff92fa291190c2dc55c7c7de":[4,0,2,2,3,15],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ad774e9a30fc6ebd9e470309c72087f36":[4,0,2,2,3,91],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ad9c9da18153377245b960558ff48b5bc":[4,0,2,2,3,66],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ada721cf6bb1fc91b0790d2a19569e541":[4,0,2,2,3,4],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#adec0a74a4c294c7e38cd65a1799ba741":[4,0,2,2,3,86],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ae28eeb863bc8f82ba4882e207d599bec":[4,0,2,2,3,90],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ae37d5c2b27d30a4c7aa8ce2138616f09":[4,0,2,2,3,38],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ae53b85910a23f259b6ce560cd1763b55":[4,0,2,2,3,74],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ae8860b3934d76d9e0b1d6a3eadd9676b":[4,0,2,2,3,73],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aeab36fcf8c59f75987aba182ac46638e":[4,0,2,2,3,28],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aec674f9bb82befe1f9988e743eabba3b":[4,0,2,2,3,26],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aed82185c960d98285f610aaaa5f1fd64":[4,0,2,2,3,20],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af0ac2be1da6f65e1f607c7788ebbdd73":[4,0,2,2,3,67],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af29b8cdeb4dd83912687b8fe68c703b7":[4,0,2,2,3,37],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af4bd372d9c265d26eadb2f1b4a494c12":[4,0,2,2,3,58],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af63e94ffbdb72bf6218cb4ba7c9a552b":[4,0,2,2,3,16],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af694347286b66f45e66b03d7825350d3":[4,0,2,2,3,21],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af7beaacfc3e7e47ef2392dfeac421b5d":[4,0,2,2,3,82],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af8906857ccc0bc91120d1d05f632b91d":[4,0,2,2,3,64],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#afb2730a6c2872ae8a511be761a74e6c4":[4,0,2,2,3,12],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#afd256f7447d897d67d2117339b6b4ba3":[4,0,2,2,3,48],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#afd8951bd4ad42ee68229e6c9e43bafa1":[4,0,2,2,3,63],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html":[4,0,2,38,0],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a134bcd43e1f4af8b0d4d051a7e63f9c2":[4,0,2,38,0,19],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a1a3dc794692feb06344268c5a0fb3796":[4,0,2,38,0,3],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a279081fc01f04d054683792e87ce6a38":[4,0,2,38,0,13],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a28e41b560e19db2f64f7cce036177570":[4,0,2,38,0,9],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a32745ecde75b89de1687b479f26f0007":[4,0,2,38,0,6],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a3880885ec5694a6ca77b4325a0684848":[4,0,2,38,0,7],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a51dfd679871acc80304b8479ca158ae1":[4,0,2,38,0,1],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a593246a844f24920e0e42b6cae363a5c":[4,0,2,38,0,0],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a82eea8eac069e5c90d60ffb0b472dc4b":[4,0,2,38,0,17],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8b5db964ac65a2d3f916798cd79ebcaa":[4,0,2,38,0,16],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8e897069034acea0439397ea4aeb777a":[4,0,2,38,0,4],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8ee21a380f56cd0e948cd84576a41636":[4,0,2,38,0,15],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a912fbd8b1122c799cc732817a830c890":[4,0,2,38,0,8],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aa4d9b043e638ad6e1b592f2b93a5c9c2":[4,0,2,38,0,5],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aac4581300de0e933397e3bb17daac03d":[4,0,2,38,0,12],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ac44ca889e5423c1bdeb02e5bee5f645a":[4,0,2,38,0,18],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aca3d0c03e7256af2d2126d47bfc44cd0":[4,0,2,38,0,11],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#acc92d4b9ce54a7dbc52170aad7b1d623":[4,0,2,38,0,14],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ad4138f1e3cfa2932aa898d0eb0a7bf6a":[4,0,2,38,0,2],
-"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ae1138a854773d736e5cc8f3c13b29ec1":[4,0,2,38,0,10],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html":[4,0,2,38,1],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a0f67fea6217ef875f99985509e6a377a":[4,0,2,38,1,5],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a12f1639ded1220a720610edc00d335ec":[4,0,2,38,1,1],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a134bcd43e1f4af8b0d4d051a7e63f9c2":[4,0,2,38,1,18],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a2f7fc948f4b4c795ef3d9e89a5809d11":[4,0,2,38,1,7],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a3748c94e4f26f8402b6ea5fc62510a40":[4,0,2,38,1,13],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a41c96f5f7c229e50b0ec1ed469fc07d9":[4,0,2,38,1,10],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a463abaa97ced312d1e981ea0f6042ab6":[4,0,2,38,1,6],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a50ca2743bb8cc69e35150e53bdae9ad9":[4,0,2,38,1,3],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a65a1e6fb61722bd8004143d93f3f36ba":[4,0,2,38,1,12],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a733bd93f06d69dbff1b45e4fe83e99a6":[4,0,2,38,1,16],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a7fcbe9f59f2a637b082c223bb577d97a":[4,0,2,38,1,2],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#abe8fb78c928a515db8f017af10436852":[4,0,2,38,1,17],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#ac6169c9b49862a61bfe7010026c1de3d":[4,0,2,38,1,8],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#accf47d6df50545ad0f84e5237340a18a":[4,0,2,38,1,11],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#add9b0a91ed65466278dc158375f4f621":[4,0,2,38,1,14],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#aed1bbdd2f849774c090b2837ff5a15fc":[4,0,2,38,1,9],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#af25e67360ee7f49539f1e8f5dac1cd97":[4,0,2,38,1,15],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#af9830b9a4da9084989113bd7ab98988a":[4,0,2,38,1,4],
-"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#afbc9d2f6022b713a160e471088032878":[4,0,2,38,1,0],
-"structllfio__v2__xxx_1_1symlink__handle_1_1io__request.html":[4,0,2,38,2],
-"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html":[4,0,2,38,3],
-"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html#a4e67cb18f2fb96cc20407538639b577c":[4,0,2,38,3,0],
-"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html#a9712d301efd63761573e42c530860b6c":[4,0,2,38,3,1],
-"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html#a99aeb89e3cf582eabcb1377927851307":[4,0,2,38,3,3],
-"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html#abe981c3502edec87b177ee38cd18a438":[4,0,2,38,3,2],
-"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html":[4,0,2,38,4],
-"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#a33e29e085faf927b441f5bc6432051fd":[4,0,2,38,4,0],
-"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#a95d04a85fd6c6de0f0f46ab2f1bbf3c5":[4,0,2,38,4,4],
-"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#ab80d17f7c11535e95b374938d4a89ff7":[4,0,2,38,4,2],
-"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#ab80d17f7c11535e95b374938d4a89ff7":[4,0,2,38,4,1],
-"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#ac6c62e07618b3d0bb32cfcca328ddb20":[4,0,2,38,4,3],
-"structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html":[4,0,2,3,0,0],
-"structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html#a0093a2a440bd3662b0ec692db4b59748":[4,0,2,3,0,0,0],
-"structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html":[4,0,2,3,1,0],
-"structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html#a9fb40a440a17abac7be77f58722276b8":[4,0,2,3,1,0,0],
-"symlink__handle_8hpp.html":[5,0,0,1,0,22],
-"symlink__handle_8hpp.html#a0fc31d7bab5faf3ee82e73854ff798b7":[5,0,0,1,0,22,8],
-"symlink__handle_8hpp.html#a5bdf9ca2127daf5defb1d845f21fa7b9":[5,0,0,1,0,22,7],
-"todo.html":[1],
-"trivial__vector_8hpp.html":[5,0,0,1,0,0,2],
-"trivial__vector_8hpp.html#a48db273f73f86955938b99faeef6e113":[5,0,0,1,0,0,2,9],
-"trivial__vector_8hpp.html#a4ba09ef10dc88c605edf40669322d8d4":[5,0,0,1,0,0,2,12],
-"trivial__vector_8hpp.html#a6e8566ac7a5eeb0c14cf2387dfb8c1a1":[5,0,0,1,0,0,2,11],
-"trivial__vector_8hpp.html#a7ef00d65394827ceb91597dda1f496f9":[5,0,0,1,0,0,2,5],
-"trivial__vector_8hpp.html#a993ddc5c77998a907582247107f6e6c5":[5,0,0,1,0,0,2,10],
-"trivial__vector_8hpp.html#ac18e1a34c78ea3e115ec42e822003459":[5,0,0,1,0,0,2,7],
-"trivial__vector_8hpp.html#ac3de302506425adecb76aaa0a93377f4":[5,0,0,1,0,0,2,6],
-"trivial__vector_8hpp.html#ade5c4ba1da02f45e072be8f16e1fa46a":[5,0,0,1,0,0,2,8],
-"trivial__vector_8hpp.html#ade7571062c3e19cb6622bd2e411130ab":[5,0,0,1,0,0,2,13],
-"trivial__vector_8hpp.html#ae0973243c4b58d53d6f11ce5a2535a8c":[5,0,0,1,0,0,2,14],
-"utils_8hpp.html":[5,0,0,1,0,23],
-"utils_8hpp.html#a2305cf865b7952f58aba997c4ac95efb":[5,0,0,1,0,23,6],
-"utils_8hpp.html#a42fc69cae3dbbf66498545cbe358e2ba":[5,0,0,1,0,23,11],
-"utils_8hpp.html#a5499feaf6b774e774a26e7decd11e3fa":[5,0,0,1,0,23,15],
-"utils_8hpp.html#a67f8f31f6b93293a22a4b30d686eb3af":[5,0,0,1,0,23,17],
-"utils_8hpp.html#a6a29cf29a4b097411f6c1e5274bfb417":[5,0,0,1,0,23,14],
-"utils_8hpp.html#a6c41e314d4d4b8362b96a3b4c1c363f5":[5,0,0,1,0,23,12],
-"utils_8hpp.html#a7aae80908cc5521ef67234152c5c5044":[5,0,0,1,0,23,18],
-"utils_8hpp.html#a85afc40cff0ecfd3a13520ea7e5176a1":[5,0,0,1,0,23,4],
-"utils_8hpp.html#a90d8f94ddb6e026f931e86d0dc904778":[5,0,0,1,0,23,8],
-"utils_8hpp.html#abacefaf60ae391226c4775cf8a61276a":[5,0,0,1,0,23,7],
-"utils_8hpp.html#acf1b1646f257d85f7f2655df1042483f":[5,0,0,1,0,23,5],
-"utils_8hpp.html#ae1d9ee5d6d391f39f62dacbc8c957ae8":[5,0,0,1,0,23,9],
-"utils_8hpp.html#ae61e2de30b06776a1c24643a1d1dc64e":[5,0,0,1,0,23,13],
-"utils_8hpp.html#ae880ebd5681dcf6b700d67fb10b4547e":[5,0,0,1,0,23,10],
-"utils_8hpp.html#afa36e8bc2a1f004696c09d104e23d685":[5,0,0,1,0,23,16],
-"v2_80_2llfio_8hpp.html":[5,0,0,1,0,11],
-"v2_80_2llfio_8hpp.html#a090b0d323b6d7d2496dba7aa42068013":[5,0,0,1,0,11,7],
-"v2_80_2llfio_8hpp.html#a18295c2601f9e6cb9e759d57fa0d8ab4":[5,0,0,1,0,11,8],
-"v2_80_2llfio_8hpp.html#a699beb5138cc8f2a2df12d833e4d96be":[5,0,0,1,0,11,3],
-"v2_80_2llfio_8hpp.html#a71266556cd079007ccdcd8225f115d87":[5,0,0,1,0,11,1],
-"v2_80_2llfio_8hpp.html#a7b08237a3cfed4832068a4daa6d6e160":[5,0,0,1,0,11,2],
-"v2_80_2llfio_8hpp.html#aadba5400c27b35d85067c431cfd9b0e6":[5,0,0,1,0,11,4],
-"v2_80_2llfio_8hpp.html#ab03294596f77a7717954929a887ca425":[5,0,0,1,0,11,6],
-"v2_80_2llfio_8hpp.html#acac3045524a50876c1bc6068bd6237f0":[5,0,0,1,0,11,5],
-"v2_80_2llfio_8hpp.html#ae0f8dc3a9d303f90044533d23f6417a8":[5,0,0,1,0,11,0],
-"version_8hpp.html":[5,0,0,1,2],
-"version_8hpp.html#a699beb5138cc8f2a2df12d833e4d96be":[5,0,0,1,2,4],
-"version_8hpp.html#a7b08237a3cfed4832068a4daa6d6e160":[5,0,0,1,2,2],
-"version_8hpp.html#a7b08237a3cfed4832068a4daa6d6e160":[5,0,0,1,2,1],
-"version_8hpp.html#aadba5400c27b35d85067c431cfd9b0e6":[5,0,0,1,2,5],
-"version_8hpp.html#ac7aedfe0660c15373b69a68f760c5799":[5,0,0,1,2,0],
-"xor_8hpp.html":[5,0,0,1,0,0,0,2],
-"xor_8hpp.html#a27450e894b5dab6c18a01350670fa0dc":[5,0,0,1,0,0,0,2,0]
-};
diff --git a/navtreeindex2.js b/navtreeindex2.js
index 572862b2..c7eac86d 100644
--- a/navtreeindex2.js
+++ b/navtreeindex2.js
@@ -1,103 +1,78 @@
var NAVTREEINDEX2 =
{
-"classllfio__v2__xxx_1_1async__file__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,4,56],
-"classllfio__v2__xxx_1_1async__file__handle.html#ae1abb705dbe9890e103365bf7c61521e":[4,0,2,4,83],
-"classllfio__v2__xxx_1_1async__file__handle.html#ae7735588338065ede0ab9b7f979bc65a":[4,0,2,4,75],
-"classllfio__v2__xxx_1_1async__file__handle.html#ae9f4f5f9cc386f5188a9977145edbe6c":[4,0,2,4,91],
-"classllfio__v2__xxx_1_1async__file__handle.html#aeca5271cbbf476097c84a56c4a99d58d":[4,0,2,4,32],
-"classllfio__v2__xxx_1_1async__file__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,4,38],
-"classllfio__v2__xxx_1_1async__file__handle.html#af84775bc1d3258fa0e8499e2945a5d25":[4,0,2,4,67],
-"classllfio__v2__xxx_1_1async__file__handle.html#afbc86680a51fe4643b74a8d519a4f552":[4,0,2,4,33],
-"classllfio__v2__xxx_1_1async__file__handle.html#afcfbb2ce7944347147475f894af5a6d4":[4,0,2,4,25],
-"classllfio__v2__xxx_1_1async__file__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,4,92],
-"classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html":[4,0,2,4,0],
"classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#a7db8e009f82fc944bf46b7eacba156ae":[4,0,2,4,0,0],
"classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#a80a5e4c502524a55bb5e8adb52d5d06d":[4,0,2,4,0,2],
"classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#ae043d0256889c189f3b75a890e3550e2":[4,0,2,4,0,1],
"classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#ae39e3934b1eb85ac91f1993c8886d888":[4,0,2,4,0,3],
"classllfio__v2__xxx_1_1directory__handle.html":[4,0,2,18],
-"classllfio__v2__xxx_1_1directory__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,18,31],
-"classllfio__v2__xxx_1_1directory__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,18,32],
-"classllfio__v2__xxx_1_1directory__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,18,35],
-"classllfio__v2__xxx_1_1directory__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,18,25],
-"classllfio__v2__xxx_1_1directory__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,18,54],
+"classllfio__v2__xxx_1_1directory__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,18,30],
+"classllfio__v2__xxx_1_1directory__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,18,31],
+"classllfio__v2__xxx_1_1directory__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,18,34],
+"classllfio__v2__xxx_1_1directory__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,18,24],
+"classllfio__v2__xxx_1_1directory__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,18,55],
"classllfio__v2__xxx_1_1directory__handle.html#a1674e6a6953fcda955bba33aac0b3e15":[4,0,2,18,8],
"classllfio__v2__xxx_1_1directory__handle.html#a1a65884346740af7fb4648c79d44a750":[4,0,2,18,14],
-"classllfio__v2__xxx_1_1directory__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,18,51],
-"classllfio__v2__xxx_1_1directory__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,18,66],
-"classllfio__v2__xxx_1_1directory__handle.html#a1dd7923bb65456af4da41ebe7cb84982":[4,0,2,18,61],
-"classllfio__v2__xxx_1_1directory__handle.html#a20f3e10dfd3f2cfa80cc14b6987b9552":[4,0,2,18,19],
-"classllfio__v2__xxx_1_1directory__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,18,44],
+"classllfio__v2__xxx_1_1directory__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,18,52],
+"classllfio__v2__xxx_1_1directory__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,18,67],
+"classllfio__v2__xxx_1_1directory__handle.html#a1dd7923bb65456af4da41ebe7cb84982":[4,0,2,18,62],
+"classllfio__v2__xxx_1_1directory__handle.html#a20f3e10dfd3f2cfa80cc14b6987b9552":[4,0,2,18,18],
+"classllfio__v2__xxx_1_1directory__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,18,43],
"classllfio__v2__xxx_1_1directory__handle.html#a25dd21d41625bdacd384ace8afcd4f95":[4,0,2,18,6],
-"classllfio__v2__xxx_1_1directory__handle.html#a2b0ede942b80570e00ece55ba0c98c44":[4,0,2,18,22],
-"classllfio__v2__xxx_1_1directory__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,18,40],
+"classllfio__v2__xxx_1_1directory__handle.html#a2b0ede942b80570e00ece55ba0c98c44":[4,0,2,18,21],
+"classllfio__v2__xxx_1_1directory__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,18,39],
"classllfio__v2__xxx_1_1directory__handle.html#a388fc107831ed68dba60c6f4082be952":[4,0,2,18,2],
-"classllfio__v2__xxx_1_1directory__handle.html#a42cba9c448ac59e4f7057e01eb0ddf49":[4,0,2,18,47],
-"classllfio__v2__xxx_1_1directory__handle.html#a45c13e16ecc131cbe5107e6affe94f33":[4,0,2,18,50],
-"classllfio__v2__xxx_1_1directory__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,18,59],
-"classllfio__v2__xxx_1_1directory__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,18,34],
-"classllfio__v2__xxx_1_1directory__handle.html#a4d20a64cf182162a49962ed25d2126b3":[4,0,2,18,63],
-"classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207":[4,0,2,18,16],
-"classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a14847befc159c1492671b53718fc46f8":[4,0,2,18,16,1],
-"classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,18,16,0],
-"classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2a":[4,0,2,18,15],
-"classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d":[4,0,2,18,15,14],
-"classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,18,15,1],
-"classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,18,15,2],
-"classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681":[4,0,2,18,15,11],
-"classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3":[4,0,2,18,15,6],
-"classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322":[4,0,2,18,15,10],
-"classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b":[4,0,2,18,15,5],
-"classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59":[4,0,2,18,15,13],
-"classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962":[4,0,2,18,15,3],
-"classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0":[4,0,2,18,15,9],
-"classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a":[4,0,2,18,15,12],
-"classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c":[4,0,2,18,15,8],
-"classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d":[4,0,2,18,15,4],
-"classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298":[4,0,2,18,15,0],
-"classllfio__v2__xxx_1_1directory__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0":[4,0,2,18,15,7],
-"classllfio__v2__xxx_1_1directory__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,18,43],
-"classllfio__v2__xxx_1_1directory__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,18,41],
-"classllfio__v2__xxx_1_1directory__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,18,24],
-"classllfio__v2__xxx_1_1directory__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,18,53],
-"classllfio__v2__xxx_1_1directory__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,18,39],
-"classllfio__v2__xxx_1_1directory__handle.html#a7c4b83dfd27ddf3c0551fd795d4a5817":[4,0,2,18,28],
+"classllfio__v2__xxx_1_1directory__handle.html#a42cba9c448ac59e4f7057e01eb0ddf49":[4,0,2,18,46],
+"classllfio__v2__xxx_1_1directory__handle.html#a45c13e16ecc131cbe5107e6affe94f33":[4,0,2,18,51],
+"classllfio__v2__xxx_1_1directory__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,18,60],
+"classllfio__v2__xxx_1_1directory__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,18,33],
+"classllfio__v2__xxx_1_1directory__handle.html#a4d20a64cf182162a49962ed25d2126b3":[4,0,2,18,64],
+"classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207":[4,0,2,18,15],
+"classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a14847befc159c1492671b53718fc46f8":[4,0,2,18,15,1],
+"classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,18,15,0],
+"classllfio__v2__xxx_1_1directory__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,18,42],
+"classllfio__v2__xxx_1_1directory__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,18,40],
+"classllfio__v2__xxx_1_1directory__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,18,23],
+"classllfio__v2__xxx_1_1directory__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,18,54],
+"classllfio__v2__xxx_1_1directory__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,18,38],
+"classllfio__v2__xxx_1_1directory__handle.html#a7c4b83dfd27ddf3c0551fd795d4a5817":[4,0,2,18,27],
"classllfio__v2__xxx_1_1directory__handle.html#a7d856dc3340c48dcc4558520b5081cdb":[4,0,2,18,9],
-"classllfio__v2__xxx_1_1directory__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,18,26],
-"classllfio__v2__xxx_1_1directory__handle.html#a8085cb3b40982c6dbd874547c183fd5e":[4,0,2,18,36],
+"classllfio__v2__xxx_1_1directory__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,18,25],
+"classllfio__v2__xxx_1_1directory__handle.html#a8085cb3b40982c6dbd874547c183fd5e":[4,0,2,18,35],
"classllfio__v2__xxx_1_1directory__handle.html#a82959a20c5c7f07c71d47cd5953b4516":[4,0,2,18,11],
-"classllfio__v2__xxx_1_1directory__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa":[4,0,2,18,65],
-"classllfio__v2__xxx_1_1directory__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5":[4,0,2,18,49],
-"classllfio__v2__xxx_1_1directory__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2":[4,0,2,18,52],
-"classllfio__v2__xxx_1_1directory__handle.html#a8752c5e4f4189c7bdfcd6eccb637bef9":[4,0,2,18,57],
-"classllfio__v2__xxx_1_1directory__handle.html#a8ce11e289daebf8125b8585a61d85a9a":[4,0,2,18,18],
-"classllfio__v2__xxx_1_1directory__handle.html#a8eb4f8792e37c370d5f53c643699f8b7":[4,0,2,18,30],
-"classllfio__v2__xxx_1_1directory__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,18,45],
-"classllfio__v2__xxx_1_1directory__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,18,46],
-"classllfio__v2__xxx_1_1directory__handle.html#a9793fe40564fda2437783488bd51b9f1":[4,0,2,18,60],
-"classllfio__v2__xxx_1_1directory__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,18,38],
-"classllfio__v2__xxx_1_1directory__handle.html#a988fca7e79f17902068f2fe8f0356782":[4,0,2,18,58],
-"classllfio__v2__xxx_1_1directory__handle.html#a993f752761d4488d717c95887ab3e824":[4,0,2,18,21],
+"classllfio__v2__xxx_1_1directory__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa":[4,0,2,18,66],
+"classllfio__v2__xxx_1_1directory__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5":[4,0,2,18,48],
+"classllfio__v2__xxx_1_1directory__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2":[4,0,2,18,53],
+"classllfio__v2__xxx_1_1directory__handle.html#a8752c5e4f4189c7bdfcd6eccb637bef9":[4,0,2,18,58],
+"classllfio__v2__xxx_1_1directory__handle.html#a8ce11e289daebf8125b8585a61d85a9a":[4,0,2,18,17],
+"classllfio__v2__xxx_1_1directory__handle.html#a8eb4f8792e37c370d5f53c643699f8b7":[4,0,2,18,29],
+"classllfio__v2__xxx_1_1directory__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,18,44],
+"classllfio__v2__xxx_1_1directory__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,18,45],
+"classllfio__v2__xxx_1_1directory__handle.html#a9793fe40564fda2437783488bd51b9f1":[4,0,2,18,61],
+"classllfio__v2__xxx_1_1directory__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,18,37],
+"classllfio__v2__xxx_1_1directory__handle.html#a988fca7e79f17902068f2fe8f0356782":[4,0,2,18,59],
+"classllfio__v2__xxx_1_1directory__handle.html#a993f752761d4488d717c95887ab3e824":[4,0,2,18,20],
"classllfio__v2__xxx_1_1directory__handle.html#a9a6682e415d0d82fee6d09bb0c774ef8":[4,0,2,18,7],
-"classllfio__v2__xxx_1_1directory__handle.html#a9acfca399be5d868fe659fce5166d630":[4,0,2,18,48],
-"classllfio__v2__xxx_1_1directory__handle.html#aa0b7dc541e6188fed2950444089fed6c":[4,0,2,18,29],
-"classllfio__v2__xxx_1_1directory__handle.html#aa670b617d883625a9532ab12c65469d8":[4,0,2,18,20],
-"classllfio__v2__xxx_1_1directory__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc":[4,0,2,18,56],
+"classllfio__v2__xxx_1_1directory__handle.html#a9acfca399be5d868fe659fce5166d630":[4,0,2,18,47],
+"classllfio__v2__xxx_1_1directory__handle.html#aa0b7dc541e6188fed2950444089fed6c":[4,0,2,18,28],
+"classllfio__v2__xxx_1_1directory__handle.html#aa670b617d883625a9532ab12c65469d8":[4,0,2,18,19],
+"classllfio__v2__xxx_1_1directory__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,18,50],
+"classllfio__v2__xxx_1_1directory__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc":[4,0,2,18,57],
"classllfio__v2__xxx_1_1directory__handle.html#aafd3eb03845b55c19154cab76956efad":[4,0,2,18,13],
-"classllfio__v2__xxx_1_1directory__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090":[4,0,2,18,55],
-"classllfio__v2__xxx_1_1directory__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,18,33],
+"classllfio__v2__xxx_1_1directory__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090":[4,0,2,18,56],
+"classllfio__v2__xxx_1_1directory__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,18,32],
+"classllfio__v2__xxx_1_1directory__handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,18,49],
"classllfio__v2__xxx_1_1directory__handle.html#acae677ba35e6cf0f1343e6d857c7c25b":[4,0,2,18,10],
-"classllfio__v2__xxx_1_1directory__handle.html#ad505f506be33c58cf7176878e552d59e":[4,0,2,18,17],
-"classllfio__v2__xxx_1_1directory__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,18,64],
-"classllfio__v2__xxx_1_1directory__handle.html#adc2b24484565bcb0cf654adf2f732f7e":[4,0,2,18,23],
-"classllfio__v2__xxx_1_1directory__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,18,37],
+"classllfio__v2__xxx_1_1directory__handle.html#ad505f506be33c58cf7176878e552d59e":[4,0,2,18,16],
+"classllfio__v2__xxx_1_1directory__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,18,65],
+"classllfio__v2__xxx_1_1directory__handle.html#adc2b24484565bcb0cf654adf2f732f7e":[4,0,2,18,22],
+"classllfio__v2__xxx_1_1directory__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,18,36],
"classllfio__v2__xxx_1_1directory__handle.html#adf3ed49b617b62ebe9d7514e0d198bb3":[4,0,2,18,3],
-"classllfio__v2__xxx_1_1directory__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,18,42],
-"classllfio__v2__xxx_1_1directory__handle.html#ae260bf811da1b17c142f51fbb53476bf":[4,0,2,18,27],
+"classllfio__v2__xxx_1_1directory__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,18,41],
+"classllfio__v2__xxx_1_1directory__handle.html#ae260bf811da1b17c142f51fbb53476bf":[4,0,2,18,26],
"classllfio__v2__xxx_1_1directory__handle.html#aee70ec4eedd840ef360470ac9905f78a":[4,0,2,18,5],
"classllfio__v2__xxx_1_1directory__handle.html#af39b5b7a73266dc1dd435f4fb1dfb463":[4,0,2,18,12],
"classllfio__v2__xxx_1_1directory__handle.html#afdc2558d4793953d37e680ced76f143a":[4,0,2,18,4],
-"classllfio__v2__xxx_1_1directory__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,18,62],
+"classllfio__v2__xxx_1_1directory__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,18,63],
"classllfio__v2__xxx_1_1error.html":[4,0,2,19],
"classllfio__v2__xxx_1_1error.html#a3603921009fcf114f3fce282af950e21":[4,0,2,19,1],
"classllfio__v2__xxx_1_1error.html#abdf2b1c5b4880766bf00a620223ef2a3":[4,0,2,19,0],
@@ -107,147 +82,172 @@ var NAVTREEINDEX2 =
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,21,36],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,21,39],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,21,27],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,21,66],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,21,68],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a1020835dc0f70fbc8a7b852fa8d5c0b6":[4,0,2,21,1],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a16ccaa28c68e06e7c3d5f7ff94d2cea5":[4,0,2,21,56],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a198e1c294966a28919d2f0698e3608b8":[4,0,2,21,52],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a1a65884346740af7fb4648c79d44a750":[4,0,2,21,17],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,21,62],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,21,88],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a1dd7923bb65456af4da41ebe7cb84982":[4,0,2,21,75],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,21,64],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,21,90],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a1dd7923bb65456af4da41ebe7cb84982":[4,0,2,21,77],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,21,48],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a22771acd68f6b630d3861c60aaa25a41":[4,0,2,21,14],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a23d7f6342dead9266633176cd578714d":[4,0,2,21,50],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a26e98e20ea5be1a930d00b0b6f709436":[4,0,2,21,76],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a26e98e20ea5be1a930d00b0b6f709436":[4,0,2,21,78],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a28f78f709ba3d7b26ba38cefa21fd7b8":[4,0,2,21,29],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a2b7cbbd9f7cb5563cb08e7ca26225a63":[4,0,2,21,20],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,21,44],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a369f8ec6a682030f8e7f5749eb7bc77e":[4,0,2,21,51],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a374be98b07825dd67829330298f79be7":[4,0,2,21,6],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a386543b3dd65d4d416d755a153eef593":[4,0,2,21,12],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a39516dc5f2780e42afe5dbb836829f56":[4,0,2,21,4],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a3e147cacf24cb8d96b6c57f30692fda2":[4,0,2,21,72],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a3e147cacf24cb8d96b6c57f30692fda2":[4,0,2,21,74],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a4661a9c1551d33d054ccd80599806ba7":[4,0,2,21,19],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,21,71],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,21,73],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a4b0a7e494477cecde8e160f8f20ef572":[4,0,2,21,5],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,21,38],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a4d20a64cf182162a49962ed25d2126b3":[4,0,2,21,82],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a4d20a64cf182162a49962ed25d2126b3":[4,0,2,21,84],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5477b7a397fce509e1fd04092a559e8c":[4,0,2,21,57],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a55b1ab8db8c3016c5bc75f1548e2f8e8":[4,0,2,21,11],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a55f9c712b4ece6066a4269a73d229bfb":[4,0,2,21,7],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2a":[4,0,2,21,18],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d":[4,0,2,21,18,14],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,21,18,1],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,21,18,2],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681":[4,0,2,21,18,11],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3":[4,0,2,21,18,6],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322":[4,0,2,21,18,10],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b":[4,0,2,21,18,5],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59":[4,0,2,21,18,13],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962":[4,0,2,21,18,3],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0":[4,0,2,21,18,9],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a":[4,0,2,21,18,12],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c":[4,0,2,21,18,8],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d":[4,0,2,21,18,4],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298":[4,0,2,21,18,0],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0":[4,0,2,21,18,7],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5baa53702ad860fa9c3fb5af28f14fd8":[4,0,2,21,13],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,21,47],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5d4e51504bf58219c598047132b89c75":[4,0,2,21,16],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5f7485307a0704aa1680e5785be2035d":[4,0,2,21,61],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a5f7485307a0704aa1680e5785be2035d":[4,0,2,21,63],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,21,45],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a69ff0c296ea61ee31fa1678f333bfc2a":[4,0,2,21,8],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8":[4,0,2,21,31],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a6c0545db3c2e8fe9ffdafbfbe4b7f6e2":[4,0,2,21,9],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a6d7f0bf0df9384635111f23bd63d1792":[4,0,2,21,25],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a6e46c6ea379152eb559ab15990f7c467":[4,0,2,21,59],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a6e46c6ea379152eb559ab15990f7c467":[4,0,2,21,61],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,21,26],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,21,64],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,21,66],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a7595a3afdef527a8ce6287a9312a7524":[4,0,2,21,23],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,21,43],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565":[4,0,2,21,18],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb":[4,0,2,21,18,0],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345":[4,0,2,21,18,3],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1":[4,0,2,21,18,2],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce":[4,0,2,21,18,1],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a800e1a97e8dc3f9cc74dc2115d476398":[4,0,2,21,54],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,21,28],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a8085cb3b40982c6dbd874547c183fd5e":[4,0,2,21,40],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a81a7ae5e213b40fdece1f76430eea161":[4,0,2,21,86],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a83884eca7b4cd09125a5cf8a155e6052":[4,0,2,21,78],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa":[4,0,2,21,84],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a81a7ae5e213b40fdece1f76430eea161":[4,0,2,21,88],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a823391cea8818da742c0d4c573f7300f":[4,0,2,21,30],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a83884eca7b4cd09125a5cf8a155e6052":[4,0,2,21,80],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa":[4,0,2,21,86],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5":[4,0,2,21,58],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2":[4,0,2,21,63],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2":[4,0,2,21,65],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,21,49],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,21,55],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a9793fe40564fda2437783488bd51b9f1":[4,0,2,21,74],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#a97b9f47875b8ebc87965a8362d62b633":[4,0,2,21,29],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#a9793fe40564fda2437783488bd51b9f1":[4,0,2,21,76],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,21,42],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#a9bc75ea73ffb575d36e9800b8e1e5af0":[4,0,2,21,35],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#aa2c2b2847fd039b9c255633e6031817a":[4,0,2,21,87],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#aa3ec366f663f85fb4d679542b8c1b41a":[4,0,2,21,30],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#aa2c2b2847fd039b9c255633e6031817a":[4,0,2,21,89],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#aa4a682714d5d3487bf2538facf4c02ee":[4,0,2,21,2],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc":[4,0,2,21,68],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#ab500784aa806dc7c2d90028d2f72de57":[4,0,2,21,79],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#ab88d8d93300d1525d52ad1eb4e00e504":[4,0,2,21,80],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#abc5627ee63a95d17499f079d890e6af9":[4,0,2,21,70],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#abdbe878fecb166d1eda5ddc4718e101d":[4,0,2,21,77],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090":[4,0,2,21,67],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,21,60],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc":[4,0,2,21,70],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ab500784aa806dc7c2d90028d2f72de57":[4,0,2,21,81],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ab88d8d93300d1525d52ad1eb4e00e504":[4,0,2,21,82],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#abc5627ee63a95d17499f079d890e6af9":[4,0,2,21,72],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#abdbe878fecb166d1eda5ddc4718e101d":[4,0,2,21,79],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090":[4,0,2,21,69],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,21,37],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,21,59],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#ac8b7de182379e57f0b40fda48d58822d":[4,0,2,21,15],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#ad0cfbde678b809518ca005251ec64808":[4,0,2,21,69],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ad0cfbde678b809518ca005251ec64808":[4,0,2,21,71],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#ad67d4e8da0a8fa8719f301d577418165":[4,0,2,21,33],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,21,83],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,21,85],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#adc2b24484565bcb0cf654adf2f732f7e":[4,0,2,21,24],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,21,41],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#ade38a6d55a4eda3c6d5e196683b129a7":[4,0,2,21,53],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,21,46],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#ae1abb705dbe9890e103365bf7c61521e":[4,0,2,21,73],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#ae5040ad73419130910156162006f37c1":[4,0,2,21,85],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ae1abb705dbe9890e103365bf7c61521e":[4,0,2,21,75],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ae5040ad73419130910156162006f37c1":[4,0,2,21,87],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#ae6af00343c705ee86d2ff248a438c3f2":[4,0,2,21,3],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#ae7735588338065ede0ab9b7f979bc65a":[4,0,2,21,65],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#ae84ac3c127d067d44d978e4621d4d2f1":[4,0,2,21,60],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ae7735588338065ede0ab9b7f979bc65a":[4,0,2,21,67],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#ae84ac3c127d067d44d978e4621d4d2f1":[4,0,2,21,62],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,21,32],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#af201782a92c5c9ceac071f8358dd6247":[4,0,2,21,22],
"classllfio__v2__xxx_1_1fast__random__file__handle.html#af63fe21c3bf2095a1b232687f10ab1ca":[4,0,2,21,21],
-"classllfio__v2__xxx_1_1fast__random__file__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,21,81],
+"classllfio__v2__xxx_1_1fast__random__file__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,21,83],
"classllfio__v2__xxx_1_1file__handle.html":[4,0,2,22],
"classllfio__v2__xxx_1_1file__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,22,33],
"classllfio__v2__xxx_1_1file__handle.html#a00b1419055e695ebe77e71ab9088d6d1":[4,0,2,22,23],
"classllfio__v2__xxx_1_1file__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,22,35],
"classllfio__v2__xxx_1_1file__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,22,38],
"classllfio__v2__xxx_1_1file__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,22,26],
-"classllfio__v2__xxx_1_1file__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,22,64],
+"classllfio__v2__xxx_1_1file__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,22,66],
"classllfio__v2__xxx_1_1file__handle.html#a138431a6267d39120b71257af252ddd0":[4,0,2,22,6],
"classllfio__v2__xxx_1_1file__handle.html#a198e1c294966a28919d2f0698e3608b8":[4,0,2,22,51],
"classllfio__v2__xxx_1_1file__handle.html#a1a65884346740af7fb4648c79d44a750":[4,0,2,22,16],
"classllfio__v2__xxx_1_1file__handle.html#a1c2c1c27b1be6414415b3fc3fcda88b2":[4,0,2,22,34],
-"classllfio__v2__xxx_1_1file__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,22,60],
-"classllfio__v2__xxx_1_1file__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,22,82],
+"classllfio__v2__xxx_1_1file__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,22,62],
+"classllfio__v2__xxx_1_1file__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,22,84],
"classllfio__v2__xxx_1_1file__handle.html#a1dbd617575d8cf99a864988e9202a915":[4,0,2,22,12],
-"classllfio__v2__xxx_1_1file__handle.html#a1dd7923bb65456af4da41ebe7cb84982":[4,0,2,22,72],
+"classllfio__v2__xxx_1_1file__handle.html#a1dd7923bb65456af4da41ebe7cb84982":[4,0,2,22,74],
"classllfio__v2__xxx_1_1file__handle.html#a1e478777fb31b49b95bcddbee612a13b":[4,0,2,22,0],
"classllfio__v2__xxx_1_1file__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,22,47],
"classllfio__v2__xxx_1_1file__handle.html#a29cc9f2525f78dd73f8402cb59d97212":[4,0,2,22,49],
-"classllfio__v2__xxx_1_1file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f":[4,0,2,22,69],
+"classllfio__v2__xxx_1_1file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f":[4,0,2,22,71],
"classllfio__v2__xxx_1_1file__handle.html#a2bec420bc6d39c811d1fe32d97a6dcb0":[4,0,2,22,10],
"classllfio__v2__xxx_1_1file__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,22,43],
"classllfio__v2__xxx_1_1file__handle.html#a369f8ec6a682030f8e7f5749eb7bc77e":[4,0,2,22,50],
"classllfio__v2__xxx_1_1file__handle.html#a3bba96c52082c14bf168e12f4e9e2fa6":[4,0,2,22,55],
"classllfio__v2__xxx_1_1file__handle.html#a465a6a796482f26866b4d2e566bf0ecc":[4,0,2,22,5],
-"classllfio__v2__xxx_1_1file__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,22,68],
+"classllfio__v2__xxx_1_1file__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,22,70],
"classllfio__v2__xxx_1_1file__handle.html#a4a50713d6a6aec1ecacc0cdf12d61298":[4,0,2,22,1],
"classllfio__v2__xxx_1_1file__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,22,37],
-"classllfio__v2__xxx_1_1file__handle.html#a4d20a64cf182162a49962ed25d2126b3":[4,0,2,22,78],
-"classllfio__v2__xxx_1_1file__handle.html#a50caa94c51aae1f23e7708d3c6a21364":[4,0,2,22,76],
-"classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2a":[4,0,2,22,17],
-"classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d":[4,0,2,22,17,14],
-"classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,22,17,1],
-"classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,22,17,2],
-"classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681":[4,0,2,22,17,11],
-"classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3":[4,0,2,22,17,6],
-"classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322":[4,0,2,22,17,10],
-"classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b":[4,0,2,22,17,5],
-"classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59":[4,0,2,22,17,13],
-"classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962":[4,0,2,22,17,3],
-"classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0":[4,0,2,22,17,9],
-"classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a":[4,0,2,22,17,12],
-"classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c":[4,0,2,22,17,8],
-"classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d":[4,0,2,22,17,4],
-"classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298":[4,0,2,22,17,0],
-"classllfio__v2__xxx_1_1file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0":[4,0,2,22,17,7]
+"classllfio__v2__xxx_1_1file__handle.html#a4d20a64cf182162a49962ed25d2126b3":[4,0,2,22,80],
+"classllfio__v2__xxx_1_1file__handle.html#a50caa94c51aae1f23e7708d3c6a21364":[4,0,2,22,78],
+"classllfio__v2__xxx_1_1file__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,22,46],
+"classllfio__v2__xxx_1_1file__handle.html#a5eca081e5b1eb5c00ad46136911bb7f4":[4,0,2,22,22],
+"classllfio__v2__xxx_1_1file__handle.html#a5f710a7dc78385ffeea9d0619243dd8f":[4,0,2,22,15],
+"classllfio__v2__xxx_1_1file__handle.html#a5f7485307a0704aa1680e5785be2035d":[4,0,2,22,61],
+"classllfio__v2__xxx_1_1file__handle.html#a664770d5a3dc9db34d177622cb494779":[4,0,2,22,19],
+"classllfio__v2__xxx_1_1file__handle.html#a665ddf5aa47e1d8a94580570a0457c8a":[4,0,2,22,32],
+"classllfio__v2__xxx_1_1file__handle.html#a68412ff0d490ac8d545ec2766d2da677":[4,0,2,22,13],
+"classllfio__v2__xxx_1_1file__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,22,44],
+"classllfio__v2__xxx_1_1file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8":[4,0,2,22,30],
+"classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467":[4,0,2,22,60],
+"classllfio__v2__xxx_1_1file__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,22,25],
+"classllfio__v2__xxx_1_1file__handle.html#a72f5dad56f8bb4544d36637892f74ae7":[4,0,2,22,21],
+"classllfio__v2__xxx_1_1file__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,22,64],
+"classllfio__v2__xxx_1_1file__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,22,42],
+"classllfio__v2__xxx_1_1file__handle.html#a7816bb7ae5156fa2997b68e6300ae565":[4,0,2,22,17],
+"classllfio__v2__xxx_1_1file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb":[4,0,2,22,17,0],
+"classllfio__v2__xxx_1_1file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345":[4,0,2,22,17,3],
+"classllfio__v2__xxx_1_1file__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1":[4,0,2,22,17,2],
+"classllfio__v2__xxx_1_1file__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce":[4,0,2,22,17,1],
+"classllfio__v2__xxx_1_1file__handle.html#a7991af58283025b80a7225866643f0b4":[4,0,2,22,53],
+"classllfio__v2__xxx_1_1file__handle.html#a7afcacdae9224a8587b8163eb3f5db8b":[4,0,2,22,2],
+"classllfio__v2__xxx_1_1file__handle.html#a7c3dad6c677c2680a351c67444d3cb8c":[4,0,2,22,7],
+"classllfio__v2__xxx_1_1file__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,22,27],
+"classllfio__v2__xxx_1_1file__handle.html#a8085cb3b40982c6dbd874547c183fd5e":[4,0,2,22,39],
+"classllfio__v2__xxx_1_1file__handle.html#a823391cea8818da742c0d4c573f7300f":[4,0,2,22,29],
+"classllfio__v2__xxx_1_1file__handle.html#a83884eca7b4cd09125a5cf8a155e6052":[4,0,2,22,76],
+"classllfio__v2__xxx_1_1file__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa":[4,0,2,22,82],
+"classllfio__v2__xxx_1_1file__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5":[4,0,2,22,57],
+"classllfio__v2__xxx_1_1file__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2":[4,0,2,22,63],
+"classllfio__v2__xxx_1_1file__handle.html#a8f754fdbf69fbb9b989c5aab409f2cb2":[4,0,2,22,18],
+"classllfio__v2__xxx_1_1file__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,22,48],
+"classllfio__v2__xxx_1_1file__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,22,54],
+"classllfio__v2__xxx_1_1file__handle.html#a9793fe40564fda2437783488bd51b9f1":[4,0,2,22,73],
+"classllfio__v2__xxx_1_1file__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,22,41],
+"classllfio__v2__xxx_1_1file__handle.html#a987fcc0fc8a6874cb8275ad0efb1a576":[4,0,2,22,14],
+"classllfio__v2__xxx_1_1file__handle.html#a9cb49b1828d6a0cf4a7ea6668c38ca42":[4,0,2,22,20],
+"classllfio__v2__xxx_1_1file__handle.html#aa2c2b2847fd039b9c255633e6031817a":[4,0,2,22,83],
+"classllfio__v2__xxx_1_1file__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,22,59],
+"classllfio__v2__xxx_1_1file__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc":[4,0,2,22,68],
+"classllfio__v2__xxx_1_1file__handle.html#ab500784aa806dc7c2d90028d2f72de57":[4,0,2,22,77],
+"classllfio__v2__xxx_1_1file__handle.html#abcfaf6aee5ab7a92e7c5bb5aed0fff9a":[4,0,2,22,56],
+"classllfio__v2__xxx_1_1file__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090":[4,0,2,22,67],
+"classllfio__v2__xxx_1_1file__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,22,36],
+"classllfio__v2__xxx_1_1file__handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,22,58],
+"classllfio__v2__xxx_1_1file__handle.html#ac5d6eb50ef495e0ca7a8dca48a787878":[4,0,2,22,11],
+"classllfio__v2__xxx_1_1file__handle.html#ac86af2e1397d2b6b5e6ab3df8e073817":[4,0,2,22,9],
+"classllfio__v2__xxx_1_1file__handle.html#acbcde75e9429b8271adbca234e63d522":[4,0,2,22,8],
+"classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808":[4,0,2,22,69],
+"classllfio__v2__xxx_1_1file__handle.html#ad720c4c7f350fe06291534d1cbf2feb5":[4,0,2,22,75],
+"classllfio__v2__xxx_1_1file__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,22,81]
};
diff --git a/navtreeindex3.js b/navtreeindex3.js
index 6c481f5f..723386dd 100644
--- a/navtreeindex3.js
+++ b/navtreeindex3.js
@@ -1,59 +1,16 @@
var NAVTREEINDEX3 =
{
-"classllfio__v2__xxx_1_1file__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,22,46],
-"classllfio__v2__xxx_1_1file__handle.html#a5eca081e5b1eb5c00ad46136911bb7f4":[4,0,2,22,22],
-"classllfio__v2__xxx_1_1file__handle.html#a5f710a7dc78385ffeea9d0619243dd8f":[4,0,2,22,15],
-"classllfio__v2__xxx_1_1file__handle.html#a5f7485307a0704aa1680e5785be2035d":[4,0,2,22,59],
-"classllfio__v2__xxx_1_1file__handle.html#a664770d5a3dc9db34d177622cb494779":[4,0,2,22,19],
-"classllfio__v2__xxx_1_1file__handle.html#a665ddf5aa47e1d8a94580570a0457c8a":[4,0,2,22,32],
-"classllfio__v2__xxx_1_1file__handle.html#a68412ff0d490ac8d545ec2766d2da677":[4,0,2,22,13],
-"classllfio__v2__xxx_1_1file__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,22,44],
-"classllfio__v2__xxx_1_1file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8":[4,0,2,22,30],
-"classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467":[4,0,2,22,58],
-"classllfio__v2__xxx_1_1file__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,22,25],
-"classllfio__v2__xxx_1_1file__handle.html#a72f5dad56f8bb4544d36637892f74ae7":[4,0,2,22,21],
-"classllfio__v2__xxx_1_1file__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,22,62],
-"classllfio__v2__xxx_1_1file__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,22,42],
-"classllfio__v2__xxx_1_1file__handle.html#a7991af58283025b80a7225866643f0b4":[4,0,2,22,53],
-"classllfio__v2__xxx_1_1file__handle.html#a7afcacdae9224a8587b8163eb3f5db8b":[4,0,2,22,2],
-"classllfio__v2__xxx_1_1file__handle.html#a7c3dad6c677c2680a351c67444d3cb8c":[4,0,2,22,7],
-"classllfio__v2__xxx_1_1file__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,22,27],
-"classllfio__v2__xxx_1_1file__handle.html#a8085cb3b40982c6dbd874547c183fd5e":[4,0,2,22,39],
-"classllfio__v2__xxx_1_1file__handle.html#a83884eca7b4cd09125a5cf8a155e6052":[4,0,2,22,74],
-"classllfio__v2__xxx_1_1file__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa":[4,0,2,22,80],
-"classllfio__v2__xxx_1_1file__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5":[4,0,2,22,57],
-"classllfio__v2__xxx_1_1file__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2":[4,0,2,22,61],
-"classllfio__v2__xxx_1_1file__handle.html#a8f754fdbf69fbb9b989c5aab409f2cb2":[4,0,2,22,18],
-"classllfio__v2__xxx_1_1file__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,22,48],
-"classllfio__v2__xxx_1_1file__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,22,54],
-"classllfio__v2__xxx_1_1file__handle.html#a9793fe40564fda2437783488bd51b9f1":[4,0,2,22,71],
-"classllfio__v2__xxx_1_1file__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,22,41],
-"classllfio__v2__xxx_1_1file__handle.html#a987fcc0fc8a6874cb8275ad0efb1a576":[4,0,2,22,14],
-"classllfio__v2__xxx_1_1file__handle.html#a9cb49b1828d6a0cf4a7ea6668c38ca42":[4,0,2,22,20],
-"classllfio__v2__xxx_1_1file__handle.html#aa2c2b2847fd039b9c255633e6031817a":[4,0,2,22,81],
-"classllfio__v2__xxx_1_1file__handle.html#aa3ec366f663f85fb4d679542b8c1b41a":[4,0,2,22,29],
-"classllfio__v2__xxx_1_1file__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc":[4,0,2,22,66],
-"classllfio__v2__xxx_1_1file__handle.html#ab500784aa806dc7c2d90028d2f72de57":[4,0,2,22,75],
-"classllfio__v2__xxx_1_1file__handle.html#ab9983ea970040b905a4eb6180595e2e6":[4,0,2,22,28],
-"classllfio__v2__xxx_1_1file__handle.html#abcfaf6aee5ab7a92e7c5bb5aed0fff9a":[4,0,2,22,56],
-"classllfio__v2__xxx_1_1file__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090":[4,0,2,22,65],
-"classllfio__v2__xxx_1_1file__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,22,36],
-"classllfio__v2__xxx_1_1file__handle.html#ac5d6eb50ef495e0ca7a8dca48a787878":[4,0,2,22,11],
-"classllfio__v2__xxx_1_1file__handle.html#ac86af2e1397d2b6b5e6ab3df8e073817":[4,0,2,22,9],
-"classllfio__v2__xxx_1_1file__handle.html#acbcde75e9429b8271adbca234e63d522":[4,0,2,22,8],
-"classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808":[4,0,2,22,67],
-"classllfio__v2__xxx_1_1file__handle.html#ad720c4c7f350fe06291534d1cbf2feb5":[4,0,2,22,73],
-"classllfio__v2__xxx_1_1file__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,22,79],
+"classllfio__v2__xxx_1_1file__handle.html#adb03b26fe4085d50ea650f6d6a6aee2a":[4,0,2,22,28],
"classllfio__v2__xxx_1_1file__handle.html#adc2b24484565bcb0cf654adf2f732f7e":[4,0,2,22,24],
"classllfio__v2__xxx_1_1file__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,22,40],
"classllfio__v2__xxx_1_1file__handle.html#ade38a6d55a4eda3c6d5e196683b129a7":[4,0,2,22,52],
"classllfio__v2__xxx_1_1file__handle.html#adf4f016382816f3ad07838fece06bd25":[4,0,2,22,4],
"classllfio__v2__xxx_1_1file__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,22,45],
-"classllfio__v2__xxx_1_1file__handle.html#ae1abb705dbe9890e103365bf7c61521e":[4,0,2,22,70],
+"classllfio__v2__xxx_1_1file__handle.html#ae1abb705dbe9890e103365bf7c61521e":[4,0,2,22,72],
"classllfio__v2__xxx_1_1file__handle.html#ae68f0cbc7793647a8ae07d72929e8fd6":[4,0,2,22,3],
-"classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a":[4,0,2,22,63],
+"classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a":[4,0,2,22,65],
"classllfio__v2__xxx_1_1file__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,22,31],
-"classllfio__v2__xxx_1_1file__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,22,77],
+"classllfio__v2__xxx_1_1file__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,22,79],
"classllfio__v2__xxx_1_1fs__handle.html":[4,0,2,23],
"classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b":[4,0,2,23,12],
"classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750":[4,0,2,23,3],
@@ -77,122 +34,92 @@ var NAVTREEINDEX3 =
"classllfio__v2__xxx_1_1fs__handle.html#adc2b24484565bcb0cf654adf2f732f7e":[4,0,2,23,9],
"classllfio__v2__xxx_1_1fs__handle.html#afbebcaabf0282923ff76f6a83d3b4073":[4,0,2,23,8],
"classllfio__v2__xxx_1_1handle.html":[4,0,2,24],
-"classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,24,17],
-"classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,24,18],
-"classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,24,21],
-"classllfio__v2__xxx_1_1handle.html#a026944e947f6830e5bc5fd31aae205be":[4,0,2,24,39],
-"classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,24,13],
-"classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,24,37],
-"classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,24,35],
-"classllfio__v2__xxx_1_1handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,24,43],
-"classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,24,30],
+"classllfio__v2__xxx_1_1handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,24,16],
+"classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,24,17],
+"classllfio__v2__xxx_1_1handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,24,20],
+"classllfio__v2__xxx_1_1handle.html#a026944e947f6830e5bc5fd31aae205be":[4,0,2,24,40],
+"classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,24,12],
+"classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,24,38],
+"classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,24,36],
+"classllfio__v2__xxx_1_1handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,24,44],
+"classllfio__v2__xxx_1_1handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,24,29],
"classllfio__v2__xxx_1_1handle.html#a33481bae57d9ccd0c97946416f9682f3":[4,0,2,24,1],
-"classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,24,26],
-"classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,24,38],
-"classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365":[4,0,2,24,34],
-"classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,24,20],
+"classllfio__v2__xxx_1_1handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,24,25],
+"classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,24,39],
+"classllfio__v2__xxx_1_1handle.html#a4acd6daf162e10373efedf7fd8528365":[4,0,2,24,33],
+"classllfio__v2__xxx_1_1handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,24,19],
"classllfio__v2__xxx_1_1handle.html#a4ee58f1b6a24af5e64d850d1e3eed07f":[4,0,2,24,0],
-"classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a":[4,0,2,24,3],
-"classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d":[4,0,2,24,3,14],
-"classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,24,3,1],
-"classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,24,3,2],
-"classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,24,4,1],
-"classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,24,6,1],
-"classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681":[4,0,2,24,3,11],
-"classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3":[4,0,2,24,3,6],
-"classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322":[4,0,2,24,3,10],
-"classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b":[4,0,2,24,3,5],
-"classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59":[4,0,2,24,3,13],
-"classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962":[4,0,2,24,3,3],
-"classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0":[4,0,2,24,3,9],
-"classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a":[4,0,2,24,3,12],
-"classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c":[4,0,2,24,3,8],
-"classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d":[4,0,2,24,3,4],
-"classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298":[4,0,2,24,3,0],
-"classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0":[4,0,2,24,3,7],
-"classllfio__v2__xxx_1_1handle.html#a5c7d33dcd1f366fa378607e1dd087744":[4,0,2,24,40],
-"classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,24,29],
-"classllfio__v2__xxx_1_1handle.html#a62a75b1a4a24fbc9ad2e98a641167db6":[4,0,2,24,16],
-"classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,24,27],
-"classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0":[4,0,2,24,11],
-"classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,24,12],
-"classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,24,36],
-"classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,24,25],
-"classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11":[4,0,2,24,10],
-"classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,24,14],
-"classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e":[4,0,2,24,22],
-"classllfio__v2__xxx_1_1handle.html#a8cd6fc0b00a97c56ced034c56f7bc980":[4,0,2,24,9],
-"classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,24,31],
-"classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,24,32],
-"classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,24,24],
-"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca":[4,0,2,24,6],
-"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa8d7b3d6b83c0a517eac07e1aac94b773":[4,0,2,24,6,0],
-"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d":[4,0,2,24,6,6],
-"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9f56aff64cb748e078ab221474132d19":[4,0,2,24,6,3],
-"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaa4daf6d1e8da35af49c33bbe9ee91d79":[4,0,2,24,6,2],
-"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e":[4,0,2,24,6,4],
-"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee":[4,0,2,24,6,5],
-"classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0":[4,0,2,24,33],
-"classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,24,19],
-"classllfio__v2__xxx_1_1handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,24,42],
-"classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4":[4,0,2,24,8],
-"classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,24,23],
-"classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,24,28],
-"classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4":[4,0,2,24,7],
-"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852":[4,0,2,24,4],
-"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1":[4,0,2,24,4,3],
-"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a8d7b3d6b83c0a517eac07e1aac94b773":[4,0,2,24,4,0],
-"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a9cd65f46f55fb6a4b198fcee6f0a63c1":[4,0,2,24,4,6],
-"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51":[4,0,2,24,4,5],
-"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98":[4,0,2,24,4,2],
-"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef":[4,0,2,24,4,7],
-"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852adec4ecca8ae1593f84eea4656599a693":[4,0,2,24,4,4],
+"classllfio__v2__xxx_1_1handle.html#a5c7d33dcd1f366fa378607e1dd087744":[4,0,2,24,41],
+"classllfio__v2__xxx_1_1handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,24,28],
+"classllfio__v2__xxx_1_1handle.html#a62a75b1a4a24fbc9ad2e98a641167db6":[4,0,2,24,15],
+"classllfio__v2__xxx_1_1handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,24,26],
+"classllfio__v2__xxx_1_1handle.html#a6ce55ea40b3a0c313f3cb34bb59750f0":[4,0,2,24,10],
+"classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,24,11],
+"classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,24,37],
+"classllfio__v2__xxx_1_1handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,24,24],
+"classllfio__v2__xxx_1_1handle.html#a798fa51a935da9b16ed7bb565b3a4c11":[4,0,2,24,9],
+"classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,24,13],
+"classllfio__v2__xxx_1_1handle.html#a8085cb3b40982c6dbd874547c183fd5e":[4,0,2,24,21],
+"classllfio__v2__xxx_1_1handle.html#a8cd6fc0b00a97c56ced034c56f7bc980":[4,0,2,24,8],
+"classllfio__v2__xxx_1_1handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,24,30],
+"classllfio__v2__xxx_1_1handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,24,31],
+"classllfio__v2__xxx_1_1handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,24,23],
+"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca":[4,0,2,24,5],
+"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,24,5,1],
+"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa8d7b3d6b83c0a517eac07e1aac94b773":[4,0,2,24,5,0],
+"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d":[4,0,2,24,5,6],
+"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9f56aff64cb748e078ab221474132d19":[4,0,2,24,5,3],
+"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaa4daf6d1e8da35af49c33bbe9ee91d79":[4,0,2,24,5,2],
+"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e":[4,0,2,24,5,4],
+"classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee":[4,0,2,24,5,5],
+"classllfio__v2__xxx_1_1handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,24,35],
+"classllfio__v2__xxx_1_1handle.html#ab7a7864db8369f8e62ae81586ef68ef0":[4,0,2,24,32],
+"classllfio__v2__xxx_1_1handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,24,18],
+"classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,24,34],
+"classllfio__v2__xxx_1_1handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,24,43],
+"classllfio__v2__xxx_1_1handle.html#ad7912947fb8fe6270535eb6bddba50d4":[4,0,2,24,7],
+"classllfio__v2__xxx_1_1handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,24,22],
+"classllfio__v2__xxx_1_1handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,24,27],
+"classllfio__v2__xxx_1_1handle.html#aea43917ff5cc28f3da3c622c0b3382c4":[4,0,2,24,6],
+"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852":[4,0,2,24,3],
+"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1":[4,0,2,24,3,3],
+"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,24,3,1],
+"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a8d7b3d6b83c0a517eac07e1aac94b773":[4,0,2,24,3,0],
+"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a9cd65f46f55fb6a4b198fcee6f0a63c1":[4,0,2,24,3,6],
+"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51":[4,0,2,24,3,5],
+"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98":[4,0,2,24,3,2],
+"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef":[4,0,2,24,3,7],
+"classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852adec4ecca8ae1593f84eea4656599a693":[4,0,2,24,3,4],
"classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58":[4,0,2,24,2],
-"classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,24,15],
-"classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42":[4,0,2,24,5],
-"classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d":[4,0,2,24,5,2],
-"classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9":[4,0,2,24,5,0],
-"classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed":[4,0,2,24,5,3],
-"classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255":[4,0,2,24,5,1],
-"classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d":[4,0,2,24,5,4],
-"classllfio__v2__xxx_1_1handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,24,41],
+"classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,24,14],
+"classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42":[4,0,2,24,4],
+"classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d":[4,0,2,24,4,2],
+"classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9":[4,0,2,24,4,0],
+"classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed":[4,0,2,24,4,3],
+"classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255":[4,0,2,24,4,1],
+"classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d":[4,0,2,24,4,4],
+"classllfio__v2__xxx_1_1handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,24,42],
"classllfio__v2__xxx_1_1io__handle.html":[4,0,2,25],
"classllfio__v2__xxx_1_1io__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,25,27],
"classllfio__v2__xxx_1_1io__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,25,28],
"classllfio__v2__xxx_1_1io__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,25,31],
"classllfio__v2__xxx_1_1io__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,25,22],
-"classllfio__v2__xxx_1_1io__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,25,52],
+"classllfio__v2__xxx_1_1io__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,25,54],
"classllfio__v2__xxx_1_1io__handle.html#a198e1c294966a28919d2f0698e3608b8":[4,0,2,25,44],
-"classllfio__v2__xxx_1_1io__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,25,50],
-"classllfio__v2__xxx_1_1io__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,25,60],
+"classllfio__v2__xxx_1_1io__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,25,52],
+"classllfio__v2__xxx_1_1io__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,25,62],
"classllfio__v2__xxx_1_1io__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,25,40],
"classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212":[4,0,2,25,42],
"classllfio__v2__xxx_1_1io__handle.html#a2dba93b4357324599fe4b4375cdf9737":[4,0,2,25,20],
"classllfio__v2__xxx_1_1io__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,25,36],
"classllfio__v2__xxx_1_1io__handle.html#a369f8ec6a682030f8e7f5749eb7bc77e":[4,0,2,25,43],
"classllfio__v2__xxx_1_1io__handle.html#a3d1224d5941b8c70761b2dcc2ba31217":[4,0,2,25,13],
-"classllfio__v2__xxx_1_1io__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,25,53],
+"classllfio__v2__xxx_1_1io__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,25,55],
"classllfio__v2__xxx_1_1io__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,25,30],
"classllfio__v2__xxx_1_1io__handle.html#a4fc8d70aa6805d7ea2ee9a48a19ce107":[4,0,2,25,9],
"classllfio__v2__xxx_1_1io__handle.html#a5422bf3cbcf7107722ed20df04ae8eb0":[4,0,2,25,10],
-"classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2a":[4,0,2,25,14],
-"classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d":[4,0,2,25,14,14],
-"classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,25,14,1],
-"classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,25,14,2],
-"classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681":[4,0,2,25,14,11],
-"classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3":[4,0,2,25,14,6],
-"classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322":[4,0,2,25,14,10],
-"classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b":[4,0,2,25,14,5],
-"classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59":[4,0,2,25,14,13],
-"classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962":[4,0,2,25,14,3],
-"classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0":[4,0,2,25,14,9],
-"classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a":[4,0,2,25,14,12],
-"classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c":[4,0,2,25,14,8],
-"classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d":[4,0,2,25,14,4],
-"classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298":[4,0,2,25,14,0],
-"classllfio__v2__xxx_1_1io__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0":[4,0,2,25,14,7],
"classllfio__v2__xxx_1_1io__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,25,39],
-"classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d":[4,0,2,25,49],
+"classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d":[4,0,2,25,51],
"classllfio__v2__xxx_1_1io__handle.html#a6098bb852a95257b513067cd300fc83f":[4,0,2,25,47],
"classllfio__v2__xxx_1_1io__handle.html#a62a75b1a4a24fbc9ad2e98a641167db6":[4,0,2,25,26],
"classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e":[4,0,2,25,7],
@@ -200,34 +127,41 @@ var NAVTREEINDEX3 =
"classllfio__v2__xxx_1_1io__handle.html#a70374e65bae2e28bd94bffc0d73d1099":[4,0,2,25,12],
"classllfio__v2__xxx_1_1io__handle.html#a7117e0e4327c09103c1f27a9363c8b24":[4,0,2,25,16],
"classllfio__v2__xxx_1_1io__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,25,21],
-"classllfio__v2__xxx_1_1io__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,25,51],
+"classllfio__v2__xxx_1_1io__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,25,53],
"classllfio__v2__xxx_1_1io__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,25,35],
+"classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565":[4,0,2,25,14],
+"classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb":[4,0,2,25,14,0],
+"classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345":[4,0,2,25,14,3],
+"classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1":[4,0,2,25,14,2],
+"classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce":[4,0,2,25,14,1],
"classllfio__v2__xxx_1_1io__handle.html#a7e31726ff57b2eca62591209c17ad4a4":[4,0,2,25,48],
"classllfio__v2__xxx_1_1io__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,25,23],
"classllfio__v2__xxx_1_1io__handle.html#a8085cb3b40982c6dbd874547c183fd5e":[4,0,2,25,32],
-"classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052":[4,0,2,25,56],
+"classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f":[4,0,2,25,24],
+"classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052":[4,0,2,25,58],
"classllfio__v2__xxx_1_1io__handle.html#a8896fe978137f142648901cdfe7ab71f":[4,0,2,25,6],
"classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed":[4,0,2,25,5],
"classllfio__v2__xxx_1_1io__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,25,41],
"classllfio__v2__xxx_1_1io__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,25,46],
"classllfio__v2__xxx_1_1io__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,25,34],
"classllfio__v2__xxx_1_1io__handle.html#aa27be0c27aeb13dd6a9dfb22e190bed3":[4,0,2,25,17],
-"classllfio__v2__xxx_1_1io__handle.html#aa3ec366f663f85fb4d679542b8c1b41a":[4,0,2,25,24],
+"classllfio__v2__xxx_1_1io__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,25,50],
"classllfio__v2__xxx_1_1io__handle.html#ab4b195f6b8cee1ffd48e28545245c762":[4,0,2,25,15],
-"classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57":[4,0,2,25,57],
+"classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57":[4,0,2,25,59],
"classllfio__v2__xxx_1_1io__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,25,29],
-"classllfio__v2__xxx_1_1io__handle.html#ad720c4c7f350fe06291534d1cbf2feb5":[4,0,2,25,55],
-"classllfio__v2__xxx_1_1io__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,25,59],
+"classllfio__v2__xxx_1_1io__handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,25,49],
+"classllfio__v2__xxx_1_1io__handle.html#ad720c4c7f350fe06291534d1cbf2feb5":[4,0,2,25,57],
+"classllfio__v2__xxx_1_1io__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,25,61],
"classllfio__v2__xxx_1_1io__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,25,33],
"classllfio__v2__xxx_1_1io__handle.html#ade38a6d55a4eda3c6d5e196683b129a7":[4,0,2,25,45],
"classllfio__v2__xxx_1_1io__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,25,38],
-"classllfio__v2__xxx_1_1io__handle.html#ae1abb705dbe9890e103365bf7c61521e":[4,0,2,25,54],
+"classllfio__v2__xxx_1_1io__handle.html#ae1abb705dbe9890e103365bf7c61521e":[4,0,2,25,56],
"classllfio__v2__xxx_1_1io__handle.html#ae2956bce00d899553c80f9de7f585984":[4,0,2,25,11],
"classllfio__v2__xxx_1_1io__handle.html#ae91c8db1fca923c7743b257c125c77f7":[4,0,2,25,19],
"classllfio__v2__xxx_1_1io__handle.html#aeb43111b811438b9193f4561e89a0a5b":[4,0,2,25,18],
"classllfio__v2__xxx_1_1io__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,25,25],
"classllfio__v2__xxx_1_1io__handle.html#af74f2ad7f0cffb4161d0bd137710436c":[4,0,2,25,8],
-"classllfio__v2__xxx_1_1io__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,25,58],
+"classllfio__v2__xxx_1_1io__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,25,60],
"classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html":[4,0,2,25,2],
"classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html#a1cba060d80264049627a0a074cc6bcb3":[4,0,2,25,2,9],
"classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html#a1f1bf0b1f64fe65785a5e4cacebc7b5f":[4,0,2,25,2,8],
@@ -249,5 +183,71 @@ var NAVTREEINDEX3 =
"classllfio__v2__xxx_1_1io__service.html#a0ea83f90b912f0a776aa0a4e657db78e":[4,0,2,26,6],
"classllfio__v2__xxx_1_1io__service.html#a16a6eef79a26e1cd3596c3843c06569c":[4,0,2,26,10],
"classllfio__v2__xxx_1_1io__service.html#a26687077915f582a7c6473e8342c1df0":[4,0,2,26,19],
-"classllfio__v2__xxx_1_1io__service.html#a2710d9a96e0aded48977f224b46f14fe":[4,0,2,26,4]
+"classllfio__v2__xxx_1_1io__service.html#a2710d9a96e0aded48977f224b46f14fe":[4,0,2,26,4],
+"classllfio__v2__xxx_1_1io__service.html#a2c620e39d24645bd5537587e4115a0ce":[4,0,2,26,18],
+"classllfio__v2__xxx_1_1io__service.html#a46ae106f20af58f24d11cbfc099b874a":[4,0,2,26,3],
+"classllfio__v2__xxx_1_1io__service.html#a528acb1c8ec8caa06fc084962f974106":[4,0,2,26,22],
+"classllfio__v2__xxx_1_1io__service.html#a5719f4f0779047c202d7fb3cda0dcc28":[4,0,2,26,21],
+"classllfio__v2__xxx_1_1io__service.html#a60bcd5c5ef80239131759e159b19b902":[4,0,2,26,15],
+"classllfio__v2__xxx_1_1io__service.html#a6a00c11cd49640dffc2bae95f13b6835":[4,0,2,26,9],
+"classllfio__v2__xxx_1_1io__service.html#a6e1ce022fbbc99e4ee205abe812f3cdc":[4,0,2,26,14],
+"classllfio__v2__xxx_1_1io__service.html#a6f63a89a90f60ad8076dcaedb23c17d8":[4,0,2,26,1],
+"classllfio__v2__xxx_1_1io__service.html#a6fefd8a0aa3141f9883e1f0b0434ee2e":[4,0,2,26,16],
+"classllfio__v2__xxx_1_1io__service.html#a7db8542d0bb76eb78a40adb48cf9f96e":[4,0,2,26,7],
+"classllfio__v2__xxx_1_1io__service.html#a831051198c060b368b432f6cbded01fe":[4,0,2,26,11],
+"classllfio__v2__xxx_1_1io__service.html#ac1bf69d2f80beb1a255d181eecb4b11b":[4,0,2,26,12],
+"classllfio__v2__xxx_1_1io__service.html#ac2666a65a3c6453bc9845261ef684565":[4,0,2,26,20],
+"classllfio__v2__xxx_1_1io__service.html#ac4c9dfee053976f4dca0b91cd98caabb":[4,0,2,26,23],
+"classllfio__v2__xxx_1_1io__service.html#ac50a0165e9e9093d859a7a57422bc93a":[4,0,2,26,2],
+"classllfio__v2__xxx_1_1io__service.html#ae39e3934b1eb85ac91f1993c8886d888":[4,0,2,26,24],
+"classllfio__v2__xxx_1_1io__service.html#aee0e77242d19c62eb68d3bef68e9ea0d":[4,0,2,26,17],
+"classllfio__v2__xxx_1_1io__service.html#af156201cfa97bea20529bde7a67db405":[4,0,2,26,8],
+"classllfio__v2__xxx_1_1io__service.html#afa88ed41bd1ff94b78a4667e1befb76a":[4,0,2,26,5],
+"classllfio__v2__xxx_1_1log__level__guard.html":[4,0,2,27],
+"classllfio__v2__xxx_1_1log__level__guard.html#a22863db838ebd313c56188bdf63b3d77":[4,0,2,27,6],
+"classllfio__v2__xxx_1_1log__level__guard.html#a329bd8d4a8bae71dadf0346ed63dd27b":[4,0,2,27,2],
+"classllfio__v2__xxx_1_1log__level__guard.html#a363700d0fae71d029230a2b077f903d9":[4,0,2,27,4],
+"classllfio__v2__xxx_1_1log__level__guard.html#a642b39b0a98d74f02405375cffa63154":[4,0,2,27,3],
+"classllfio__v2__xxx_1_1log__level__guard.html#a6be4d7b9067148f3ae8d0b2a98396a65":[4,0,2,27,1],
+"classllfio__v2__xxx_1_1log__level__guard.html#adeabfd3bc148b7d514b5b99ce518c189":[4,0,2,27,5],
+"classllfio__v2__xxx_1_1log__level__guard.html#ae70161332cc20da4a976d50840bb928f":[4,0,2,27,0],
+"classllfio__v2__xxx_1_1map__handle.html":[4,0,2,28],
+"classllfio__v2__xxx_1_1map__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,28,29],
+"classllfio__v2__xxx_1_1map__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,28,32],
+"classllfio__v2__xxx_1_1map__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,28,35],
+"classllfio__v2__xxx_1_1map__handle.html#a01dcb36c0a955692e016a90656a6ceb2":[4,0,2,28,55],
+"classllfio__v2__xxx_1_1map__handle.html#a04d5b12318493f32de67854714001ab2":[4,0,2,28,76],
+"classllfio__v2__xxx_1_1map__handle.html#a06cfd3521ff08782a848821951510f11":[4,0,2,28,61],
+"classllfio__v2__xxx_1_1map__handle.html#a073cdca57e3e3718d2eb285be51d5c92":[4,0,2,28,60],
+"classllfio__v2__xxx_1_1map__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,28,21],
+"classllfio__v2__xxx_1_1map__handle.html#a0b6166d8c12c8b8430d6204dc701bf25":[4,0,2,28,84],
+"classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f":[4,0,2,28,75],
+"classllfio__v2__xxx_1_1map__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,28,64],
+"classllfio__v2__xxx_1_1map__handle.html#a173539843aebd387bb8ca06246067ead":[4,0,2,28,63],
+"classllfio__v2__xxx_1_1map__handle.html#a198e1c294966a28919d2f0698e3608b8":[4,0,2,28,50],
+"classllfio__v2__xxx_1_1map__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,28,86],
+"classllfio__v2__xxx_1_1map__handle.html#a1fb1c874bdab5540c3310e468e41325a":[4,0,2,28,68],
+"classllfio__v2__xxx_1_1map__handle.html#a2049c6f936df05dd539919f947355506":[4,0,2,28,67],
+"classllfio__v2__xxx_1_1map__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,28,45],
+"classllfio__v2__xxx_1_1map__handle.html#a22cfe5a7c6868d0952fde18f62f71195":[4,0,2,28,54],
+"classllfio__v2__xxx_1_1map__handle.html#a29cc9f2525f78dd73f8402cb59d97212":[4,0,2,28,48],
+"classllfio__v2__xxx_1_1map__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,28,41],
+"classllfio__v2__xxx_1_1map__handle.html#a369f8ec6a682030f8e7f5749eb7bc77e":[4,0,2,28,49],
+"classllfio__v2__xxx_1_1map__handle.html#a3efb39f1b54a7c156a3e0ee2a953712d":[4,0,2,28,31],
+"classllfio__v2__xxx_1_1map__handle.html#a433596cf8fbaf7fa81c6ff8807c18b4e":[4,0,2,28,16],
+"classllfio__v2__xxx_1_1map__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,28,66],
+"classllfio__v2__xxx_1_1map__handle.html#a486f8bbb3ea986b6f2e877d9ea5ba81d":[4,0,2,28,85],
+"classllfio__v2__xxx_1_1map__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,28,34],
+"classllfio__v2__xxx_1_1map__handle.html#a4e59feb68c5df85b377be5dd3ee563ab":[4,0,2,28,2],
+"classllfio__v2__xxx_1_1map__handle.html#a518ff43602ac8e32ae48a198d0de1d75":[4,0,2,28,30],
+"classllfio__v2__xxx_1_1map__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,28,44],
+"classllfio__v2__xxx_1_1map__handle.html#a5f7485307a0704aa1680e5785be2035d":[4,0,2,28,59],
+"classllfio__v2__xxx_1_1map__handle.html#a6508b68a3a2748d16ba58c5052fb1149":[4,0,2,28,77],
+"classllfio__v2__xxx_1_1map__handle.html#a67fb29deeca27a58ca3d78c792ca5435":[4,0,2,28,81],
+"classllfio__v2__xxx_1_1map__handle.html#a68216d4c582fc817fa86229dce397146":[4,0,2,28,79],
+"classllfio__v2__xxx_1_1map__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,28,42],
+"classllfio__v2__xxx_1_1map__handle.html#a70374e65bae2e28bd94bffc0d73d1099":[4,0,2,28,11],
+"classllfio__v2__xxx_1_1map__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,28,20],
+"classllfio__v2__xxx_1_1map__handle.html#a7224b586e457183ebcb0a694e282d0fc":[4,0,2,28,56],
+"classllfio__v2__xxx_1_1map__handle.html#a7456b95e191ec373af61af6541dd4737":[4,0,2,28,19]
};
diff --git a/navtreeindex4.js b/navtreeindex4.js
index 1bda3d87..0d74197e 100644
--- a/navtreeindex4.js
+++ b/navtreeindex4.js
@@ -1,98 +1,22 @@
var NAVTREEINDEX4 =
{
-"classllfio__v2__xxx_1_1io__service.html#a2c620e39d24645bd5537587e4115a0ce":[4,0,2,26,18],
-"classllfio__v2__xxx_1_1io__service.html#a46ae106f20af58f24d11cbfc099b874a":[4,0,2,26,3],
-"classllfio__v2__xxx_1_1io__service.html#a528acb1c8ec8caa06fc084962f974106":[4,0,2,26,22],
-"classllfio__v2__xxx_1_1io__service.html#a5719f4f0779047c202d7fb3cda0dcc28":[4,0,2,26,21],
-"classllfio__v2__xxx_1_1io__service.html#a60bcd5c5ef80239131759e159b19b902":[4,0,2,26,15],
-"classllfio__v2__xxx_1_1io__service.html#a6a00c11cd49640dffc2bae95f13b6835":[4,0,2,26,9],
-"classllfio__v2__xxx_1_1io__service.html#a6e1ce022fbbc99e4ee205abe812f3cdc":[4,0,2,26,14],
-"classllfio__v2__xxx_1_1io__service.html#a6f63a89a90f60ad8076dcaedb23c17d8":[4,0,2,26,1],
-"classllfio__v2__xxx_1_1io__service.html#a6fefd8a0aa3141f9883e1f0b0434ee2e":[4,0,2,26,16],
-"classllfio__v2__xxx_1_1io__service.html#a7db8542d0bb76eb78a40adb48cf9f96e":[4,0,2,26,7],
-"classllfio__v2__xxx_1_1io__service.html#a831051198c060b368b432f6cbded01fe":[4,0,2,26,11],
-"classllfio__v2__xxx_1_1io__service.html#ac1bf69d2f80beb1a255d181eecb4b11b":[4,0,2,26,12],
-"classllfio__v2__xxx_1_1io__service.html#ac2666a65a3c6453bc9845261ef684565":[4,0,2,26,20],
-"classllfio__v2__xxx_1_1io__service.html#ac4c9dfee053976f4dca0b91cd98caabb":[4,0,2,26,23],
-"classllfio__v2__xxx_1_1io__service.html#ac50a0165e9e9093d859a7a57422bc93a":[4,0,2,26,2],
-"classllfio__v2__xxx_1_1io__service.html#ae39e3934b1eb85ac91f1993c8886d888":[4,0,2,26,24],
-"classllfio__v2__xxx_1_1io__service.html#aee0e77242d19c62eb68d3bef68e9ea0d":[4,0,2,26,17],
-"classllfio__v2__xxx_1_1io__service.html#af156201cfa97bea20529bde7a67db405":[4,0,2,26,8],
-"classllfio__v2__xxx_1_1io__service.html#afa88ed41bd1ff94b78a4667e1befb76a":[4,0,2,26,5],
-"classllfio__v2__xxx_1_1log__level__guard.html":[4,0,2,27],
-"classllfio__v2__xxx_1_1log__level__guard.html#a22863db838ebd313c56188bdf63b3d77":[4,0,2,27,6],
-"classllfio__v2__xxx_1_1log__level__guard.html#a329bd8d4a8bae71dadf0346ed63dd27b":[4,0,2,27,2],
-"classllfio__v2__xxx_1_1log__level__guard.html#a363700d0fae71d029230a2b077f903d9":[4,0,2,27,4],
-"classllfio__v2__xxx_1_1log__level__guard.html#a642b39b0a98d74f02405375cffa63154":[4,0,2,27,3],
-"classllfio__v2__xxx_1_1log__level__guard.html#a6be4d7b9067148f3ae8d0b2a98396a65":[4,0,2,27,1],
-"classllfio__v2__xxx_1_1log__level__guard.html#adeabfd3bc148b7d514b5b99ce518c189":[4,0,2,27,5],
-"classllfio__v2__xxx_1_1log__level__guard.html#ae70161332cc20da4a976d50840bb928f":[4,0,2,27,0],
-"classllfio__v2__xxx_1_1map__handle.html":[4,0,2,28],
-"classllfio__v2__xxx_1_1map__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,28,29],
-"classllfio__v2__xxx_1_1map__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,28,32],
-"classllfio__v2__xxx_1_1map__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,28,35],
-"classllfio__v2__xxx_1_1map__handle.html#a01dcb36c0a955692e016a90656a6ceb2":[4,0,2,28,55],
-"classllfio__v2__xxx_1_1map__handle.html#a04d5b12318493f32de67854714001ab2":[4,0,2,28,74],
-"classllfio__v2__xxx_1_1map__handle.html#a06cfd3521ff08782a848821951510f11":[4,0,2,28,59],
-"classllfio__v2__xxx_1_1map__handle.html#a073cdca57e3e3718d2eb285be51d5c92":[4,0,2,28,58],
-"classllfio__v2__xxx_1_1map__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,28,21],
-"classllfio__v2__xxx_1_1map__handle.html#a0b6166d8c12c8b8430d6204dc701bf25":[4,0,2,28,82],
-"classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f":[4,0,2,28,73],
-"classllfio__v2__xxx_1_1map__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,28,62],
-"classllfio__v2__xxx_1_1map__handle.html#a173539843aebd387bb8ca06246067ead":[4,0,2,28,61],
-"classllfio__v2__xxx_1_1map__handle.html#a198e1c294966a28919d2f0698e3608b8":[4,0,2,28,50],
-"classllfio__v2__xxx_1_1map__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,28,84],
-"classllfio__v2__xxx_1_1map__handle.html#a1fb1c874bdab5540c3310e468e41325a":[4,0,2,28,66],
-"classllfio__v2__xxx_1_1map__handle.html#a2049c6f936df05dd539919f947355506":[4,0,2,28,65],
-"classllfio__v2__xxx_1_1map__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,28,45],
-"classllfio__v2__xxx_1_1map__handle.html#a22cfe5a7c6868d0952fde18f62f71195":[4,0,2,28,54],
-"classllfio__v2__xxx_1_1map__handle.html#a29cc9f2525f78dd73f8402cb59d97212":[4,0,2,28,48],
-"classllfio__v2__xxx_1_1map__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,28,41],
-"classllfio__v2__xxx_1_1map__handle.html#a369f8ec6a682030f8e7f5749eb7bc77e":[4,0,2,28,49],
-"classllfio__v2__xxx_1_1map__handle.html#a3efb39f1b54a7c156a3e0ee2a953712d":[4,0,2,28,31],
-"classllfio__v2__xxx_1_1map__handle.html#a433596cf8fbaf7fa81c6ff8807c18b4e":[4,0,2,28,16],
-"classllfio__v2__xxx_1_1map__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,28,64],
-"classllfio__v2__xxx_1_1map__handle.html#a486f8bbb3ea986b6f2e877d9ea5ba81d":[4,0,2,28,83],
-"classllfio__v2__xxx_1_1map__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,28,34],
-"classllfio__v2__xxx_1_1map__handle.html#a4e59feb68c5df85b377be5dd3ee563ab":[4,0,2,28,2],
-"classllfio__v2__xxx_1_1map__handle.html#a518ff43602ac8e32ae48a198d0de1d75":[4,0,2,28,30],
-"classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2a":[4,0,2,28,13],
-"classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d":[4,0,2,28,13,14],
-"classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,28,13,1],
-"classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,28,13,2],
-"classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681":[4,0,2,28,13,11],
-"classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3":[4,0,2,28,13,6],
-"classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322":[4,0,2,28,13,10],
-"classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b":[4,0,2,28,13,5],
-"classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59":[4,0,2,28,13,13],
-"classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962":[4,0,2,28,13,3],
-"classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0":[4,0,2,28,13,9],
-"classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a":[4,0,2,28,13,12],
-"classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c":[4,0,2,28,13,8],
-"classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d":[4,0,2,28,13,4],
-"classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298":[4,0,2,28,13,0],
-"classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0":[4,0,2,28,13,7],
-"classllfio__v2__xxx_1_1map__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,28,44],
-"classllfio__v2__xxx_1_1map__handle.html#a5f7485307a0704aa1680e5785be2035d":[4,0,2,28,57],
-"classllfio__v2__xxx_1_1map__handle.html#a6508b68a3a2748d16ba58c5052fb1149":[4,0,2,28,75],
-"classllfio__v2__xxx_1_1map__handle.html#a67fb29deeca27a58ca3d78c792ca5435":[4,0,2,28,79],
-"classllfio__v2__xxx_1_1map__handle.html#a68216d4c582fc817fa86229dce397146":[4,0,2,28,77],
-"classllfio__v2__xxx_1_1map__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,28,42],
-"classllfio__v2__xxx_1_1map__handle.html#a70374e65bae2e28bd94bffc0d73d1099":[4,0,2,28,11],
-"classllfio__v2__xxx_1_1map__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,28,20],
-"classllfio__v2__xxx_1_1map__handle.html#a7224b586e457183ebcb0a694e282d0fc":[4,0,2,28,56],
-"classllfio__v2__xxx_1_1map__handle.html#a7456b95e191ec373af61af6541dd4737":[4,0,2,28,19],
-"classllfio__v2__xxx_1_1map__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,28,60],
+"classllfio__v2__xxx_1_1map__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,28,62],
"classllfio__v2__xxx_1_1map__handle.html#a77452c0f4be2e1c9cdda5a59512b1887":[4,0,2,28,36],
"classllfio__v2__xxx_1_1map__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,28,40],
"classllfio__v2__xxx_1_1map__handle.html#a776d7d6acd8d80b54c086eafbc1d57c9":[4,0,2,28,4],
-"classllfio__v2__xxx_1_1map__handle.html#a7a27e949d3333a75e96f5d979e2d6bbf":[4,0,2,28,63],
+"classllfio__v2__xxx_1_1map__handle.html#a7816bb7ae5156fa2997b68e6300ae565":[4,0,2,28,13],
+"classllfio__v2__xxx_1_1map__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb":[4,0,2,28,13,0],
+"classllfio__v2__xxx_1_1map__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345":[4,0,2,28,13,3],
+"classllfio__v2__xxx_1_1map__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1":[4,0,2,28,13,2],
+"classllfio__v2__xxx_1_1map__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce":[4,0,2,28,13,1],
+"classllfio__v2__xxx_1_1map__handle.html#a7a27e949d3333a75e96f5d979e2d6bbf":[4,0,2,28,65],
"classllfio__v2__xxx_1_1map__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,28,22],
"classllfio__v2__xxx_1_1map__handle.html#a8085cb3b40982c6dbd874547c183fd5e":[4,0,2,28,37],
"classllfio__v2__xxx_1_1map__handle.html#a80e2ea0a3d7289b55911375fe44cf1fd":[4,0,2,28,1],
-"classllfio__v2__xxx_1_1map__handle.html#a83884eca7b4cd09125a5cf8a155e6052":[4,0,2,28,70],
+"classllfio__v2__xxx_1_1map__handle.html#a823391cea8818da742c0d4c573f7300f":[4,0,2,28,23],
+"classllfio__v2__xxx_1_1map__handle.html#a83884eca7b4cd09125a5cf8a155e6052":[4,0,2,28,72],
"classllfio__v2__xxx_1_1map__handle.html#a85903a9f61228497b09bf5071ffc255b":[4,0,2,28,17],
-"classllfio__v2__xxx_1_1map__handle.html#a90afda5433656ed35a5814e048cc1f1b":[4,0,2,28,72],
+"classllfio__v2__xxx_1_1map__handle.html#a90afda5433656ed35a5814e048cc1f1b":[4,0,2,28,74],
"classllfio__v2__xxx_1_1map__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,28,46],
"classllfio__v2__xxx_1_1map__handle.html#a936a1df99ed13959c716f434fec642a0":[4,0,2,28,10],
"classllfio__v2__xxx_1_1map__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,28,52],
@@ -100,34 +24,35 @@ var NAVTREEINDEX4 =
"classllfio__v2__xxx_1_1map__handle.html#a9b3f12d17a9fc0cfbe15d389f896caa7":[4,0,2,28,28],
"classllfio__v2__xxx_1_1map__handle.html#a9b65f62129418d02a925e6ef56220198":[4,0,2,28,53],
"classllfio__v2__xxx_1_1map__handle.html#a9c69e0d3f3fa2c213bdd4deabc6c2279":[4,0,2,28,15],
-"classllfio__v2__xxx_1_1map__handle.html#a9ff113f78e71337f78c9139ca202fe6a":[4,0,2,28,80],
+"classllfio__v2__xxx_1_1map__handle.html#a9ff113f78e71337f78c9139ca202fe6a":[4,0,2,28,82],
"classllfio__v2__xxx_1_1map__handle.html#aa3225a2ee86b12e6099d15a2a87b99b4":[4,0,2,28,18],
-"classllfio__v2__xxx_1_1map__handle.html#aa3ec366f663f85fb4d679542b8c1b41a":[4,0,2,28,23],
+"classllfio__v2__xxx_1_1map__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,28,58],
"classllfio__v2__xxx_1_1map__handle.html#aa954d9b40b2685bbc8a229e3907c297d":[4,0,2,28,14],
"classllfio__v2__xxx_1_1map__handle.html#aaa8a74dfd708c27f547a6ebd6298d043":[4,0,2,28,7],
+"classllfio__v2__xxx_1_1map__handle.html#ab0aa8cab289373bace4c576465fe7e3d":[4,0,2,28,24],
"classllfio__v2__xxx_1_1map__handle.html#ab352528186444502bbd2784518e61548":[4,0,2,28,6],
"classllfio__v2__xxx_1_1map__handle.html#ab3eba2db55f7fd082a395ea225826ba0":[4,0,2,28,3],
-"classllfio__v2__xxx_1_1map__handle.html#ab500784aa806dc7c2d90028d2f72de57":[4,0,2,28,71],
+"classllfio__v2__xxx_1_1map__handle.html#ab500784aa806dc7c2d90028d2f72de57":[4,0,2,28,73],
"classllfio__v2__xxx_1_1map__handle.html#ab6704788ecc652589c3e155f47b40a5e":[4,0,2,28,27],
"classllfio__v2__xxx_1_1map__handle.html#ab814c4ba9fb6486c21f701a00691df2f":[4,0,2,28,9],
"classllfio__v2__xxx_1_1map__handle.html#ab9bd6d309f13b72291b2bf7dd495cda4":[4,0,2,28,8],
-"classllfio__v2__xxx_1_1map__handle.html#ab9fb41b19bd14bba06e3df8f41e9087d":[4,0,2,28,24],
"classllfio__v2__xxx_1_1map__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,28,33],
-"classllfio__v2__xxx_1_1map__handle.html#ac7aeb0aa6182a22d0242340eb6d341b9":[4,0,2,28,69],
+"classllfio__v2__xxx_1_1map__handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,28,57],
+"classllfio__v2__xxx_1_1map__handle.html#ac7aeb0aa6182a22d0242340eb6d341b9":[4,0,2,28,71],
"classllfio__v2__xxx_1_1map__handle.html#ac7d048f830c0b2563fb4b50eb0597152":[4,0,2,28,25],
"classllfio__v2__xxx_1_1map__handle.html#acf99226dfe0cb36b0650d71159a74631":[4,0,2,28,0],
"classllfio__v2__xxx_1_1map__handle.html#ad2fce2bd5cd3798196c0dcf87f569ef7":[4,0,2,28,47],
-"classllfio__v2__xxx_1_1map__handle.html#ad720c4c7f350fe06291534d1cbf2feb5":[4,0,2,28,68],
-"classllfio__v2__xxx_1_1map__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,28,78],
+"classllfio__v2__xxx_1_1map__handle.html#ad720c4c7f350fe06291534d1cbf2feb5":[4,0,2,28,70],
+"classllfio__v2__xxx_1_1map__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,28,80],
"classllfio__v2__xxx_1_1map__handle.html#addcc662f728bb854dc83d7fbbbef7f19":[4,0,2,28,12],
"classllfio__v2__xxx_1_1map__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,28,38],
"classllfio__v2__xxx_1_1map__handle.html#ade38a6d55a4eda3c6d5e196683b129a7":[4,0,2,28,51],
"classllfio__v2__xxx_1_1map__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,28,43],
-"classllfio__v2__xxx_1_1map__handle.html#ae1abb705dbe9890e103365bf7c61521e":[4,0,2,28,67],
-"classllfio__v2__xxx_1_1map__handle.html#ae44bc69b964c2140a3bab80dd8aed205":[4,0,2,28,81],
+"classllfio__v2__xxx_1_1map__handle.html#ae1abb705dbe9890e103365bf7c61521e":[4,0,2,28,69],
+"classllfio__v2__xxx_1_1map__handle.html#ae44bc69b964c2140a3bab80dd8aed205":[4,0,2,28,83],
"classllfio__v2__xxx_1_1map__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,28,26],
"classllfio__v2__xxx_1_1map__handle.html#af00a09029160be2f81bb55958271dc7a":[4,0,2,28,5],
-"classllfio__v2__xxx_1_1map__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,28,76],
+"classllfio__v2__xxx_1_1map__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,28,78],
"classllfio__v2__xxx_1_1mapped.html":[4,0,2,29],
"classllfio__v2__xxx_1_1mapped.html#a0c0b040a5d05978636dd20289fe5d16a":[4,0,2,29,20],
"classllfio__v2__xxx_1_1mapped.html#a1419f37ad874215a49d02727c98c85d6":[4,0,2,29,16],
@@ -159,95 +84,170 @@ var NAVTREEINDEX4 =
"classllfio__v2__xxx_1_1mapped__file__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,30,36],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,30,38],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,30,41],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a01a5da3834fd354c5c3d38284b84ef75":[4,0,2,30,81],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a01a5da3834fd354c5c3d38284b84ef75":[4,0,2,30,83],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a0560265e0919989954e11a66c9373bbf":[4,0,2,30,7],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a0723a6ba04a578754bb601541be832d0":[4,0,2,30,59],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a073e7db9a64063e7298a362d3c379262":[4,0,2,30,6],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a07e95f16802d266bfbbf5a7ccde95c33":[4,0,2,30,73],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a07e95f16802d266bfbbf5a7ccde95c33":[4,0,2,30,75],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,30,27],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a0f147e2d7d2758605019d9ea0dd8a35b":[4,0,2,30,63],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,30,75],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a15f9dd6f1c89f8f4cc52bba178f14433":[4,0,2,30,71],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,30,77],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a15f9dd6f1c89f8f4cc52bba178f14433":[4,0,2,30,73],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a16593f18d4a9e83bf696d637ffcc8b5e":[4,0,2,30,0],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a198e1c294966a28919d2f0698e3608b8":[4,0,2,30,55],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a1a65884346740af7fb4648c79d44a750":[4,0,2,30,16],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a1c2c1c27b1be6414415b3fc3fcda88b2":[4,0,2,30,37],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,30,100],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a1dd7923bb65456af4da41ebe7cb84982":[4,0,2,30,85],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,30,102],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a1dd7923bb65456af4da41ebe7cb84982":[4,0,2,30,87],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a1f74f4fc555c609bb6056a7a4b6f8d77":[4,0,2,30,23],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a2088570f26197f7bea41e29659deec52":[4,0,2,30,10],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,30,51],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a23f61ce914c2564b6eaf885a13a19395":[4,0,2,30,83],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a269e37ceff90d2d92fa65e7d5a17c9f5":[4,0,2,30,90],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a23f61ce914c2564b6eaf885a13a19395":[4,0,2,30,85],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a269e37ceff90d2d92fa65e7d5a17c9f5":[4,0,2,30,92],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a2947864bd359b008c1ae36046abd79ca":[4,0,2,30,15],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a29cc9f2525f78dd73f8402cb59d97212":[4,0,2,30,53],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a2fad4dde057abb62f289372ccbd4af3e":[4,0,2,30,20],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a308969448e8934b7a86bcc693b9cc578":[4,0,2,30,72],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a308969448e8934b7a86bcc693b9cc578":[4,0,2,30,74],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a325b7470c78ae88bab851ff054bdbc6c":[4,0,2,30,35],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a32dd26dd2dbffbab505e7b7bd8aa41ee":[4,0,2,30,79],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a32dd26dd2dbffbab505e7b7bd8aa41ee":[4,0,2,30,81],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,30,47],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a369f8ec6a682030f8e7f5749eb7bc77e":[4,0,2,30,54],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a3af6cc47edd710a60cd7fd7435e8a479":[4,0,2,30,29],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a4072a4f2448ef3b8c7075fa8734acf71":[4,0,2,30,68],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a4072a4f2448ef3b8c7075fa8734acf71":[4,0,2,30,70],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a45b948ce8159d12dab88ed73cd445233":[4,0,2,30,1],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,30,80],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,30,82],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a49db79127d440f0f8997bd52f0699818":[4,0,2,30,11],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a4aa124e03ec6376c70d9e07c548d0d44":[4,0,2,30,18],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,30,40],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a4d20a64cf182162a49962ed25d2126b3":[4,0,2,30,93],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a4d20a64cf182162a49962ed25d2126b3":[4,0,2,30,95],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a58664c2bc02f7c9d0fd1e0cd025db8c7":[4,0,2,30,42],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2a":[4,0,2,30,17],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d":[4,0,2,30,17,14],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,30,17,1],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,30,17,2],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681":[4,0,2,30,17,11],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3":[4,0,2,30,17,6],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322":[4,0,2,30,17,10],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b":[4,0,2,30,17,5],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59":[4,0,2,30,17,13],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962":[4,0,2,30,17,3],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0":[4,0,2,30,17,9],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a":[4,0,2,30,17,12],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c":[4,0,2,30,17,8],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d":[4,0,2,30,17,4],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298":[4,0,2,30,17,0],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0":[4,0,2,30,17,7],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,30,50],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a5f7485307a0704aa1680e5785be2035d":[4,0,2,30,66],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a5f7485307a0704aa1680e5785be2035d":[4,0,2,30,68],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a606d8adfa6139b48b0007b97dae5a303":[4,0,2,30,62],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a609d84c0abc8efadb678237b48d1011b":[4,0,2,30,4],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a60ebe6a1e7e0831c0c5d3bea9050cc96":[4,0,2,30,14],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,30,48],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8":[4,0,2,30,32],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a6ce10c43cc6fd9fc8e1af6501b265ee9":[4,0,2,30,21],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a6e46c6ea379152eb559ab15990f7c467":[4,0,2,30,65],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a6e46c6ea379152eb559ab15990f7c467":[4,0,2,30,67],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,30,26],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,30,70],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,30,72],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,30,46],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a7b16c3e3c0645f2d90e0506160419661":[4,0,2,30,97],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565":[4,0,2,30,17],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb":[4,0,2,30,17,0],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345":[4,0,2,30,17,3],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1":[4,0,2,30,17,2],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce":[4,0,2,30,17,1],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a7b16c3e3c0645f2d90e0506160419661":[4,0,2,30,99],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a7bff548a619fa73951bf561039915076":[4,0,2,30,3],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,30,28],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a8085cb3b40982c6dbd874547c183fd5e":[4,0,2,30,43],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a83884eca7b4cd09125a5cf8a155e6052":[4,0,2,30,88],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa":[4,0,2,30,95],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a823391cea8818da742c0d4c573f7300f":[4,0,2,30,30],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a83884eca7b4cd09125a5cf8a155e6052":[4,0,2,30,90],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa":[4,0,2,30,97],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a84c13aa6f2e337a3c9a8466988a43a10":[4,0,2,30,22],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5":[4,0,2,30,64],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2":[4,0,2,30,69],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2":[4,0,2,30,71],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,30,52],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,30,60],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a9793fe40564fda2437783488bd51b9f1":[4,0,2,30,84],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a9793fe40564fda2437783488bd51b9f1":[4,0,2,30,86],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,30,45],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a9b6f5ad1c2698e1476483df81aa66027":[4,0,2,30,12],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#aa2c2b2847fd039b9c255633e6031817a":[4,0,2,30,98],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#aa3ec366f663f85fb4d679542b8c1b41a":[4,0,2,30,30],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#aa2850681ae5fe8f7c270cca3cba7c929":[4,0,2,30,29],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#aa2c2b2847fd039b9c255633e6031817a":[4,0,2,30,100],
"classllfio__v2__xxx_1_1mapped__file__handle.html#aa4776885b13cc548a9a7ceb926dadc4c":[4,0,2,30,13],
"classllfio__v2__xxx_1_1mapped__file__handle.html#aa6d1d50b5ed33be80469110dca13e1fb":[4,0,2,30,5],
"classllfio__v2__xxx_1_1mapped__file__handle.html#aa7d0b35d39cdb39053da2816d42117bf":[4,0,2,30,56],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc":[4,0,2,30,77],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,30,66],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc":[4,0,2,30,79],
"classllfio__v2__xxx_1_1mapped__file__handle.html#ab3901a37406c7e6701c6ca8af09dbcce":[4,0,2,30,2],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ab500784aa806dc7c2d90028d2f72de57":[4,0,2,30,89],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ab500784aa806dc7c2d90028d2f72de57":[4,0,2,30,91],
"classllfio__v2__xxx_1_1mapped__file__handle.html#ab7f99194cd577ccb85fa04440c969e56":[4,0,2,30,9],
"classllfio__v2__xxx_1_1mapped__file__handle.html#abde3b16550088e4d99df675bef5a5f6a":[4,0,2,30,57],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ac106503b2605e6840f7167133df35e31":[4,0,2,30,96],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090":[4,0,2,30,76]
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ac106503b2605e6840f7167133df35e31":[4,0,2,30,98],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090":[4,0,2,30,78],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,30,39],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ac3f6788f559c6e4f0f577eeebf120efe":[4,0,2,30,31],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,30,65],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#acb5a5b1e9f5bd7b1555edbacd057972c":[4,0,2,30,89],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ad0cfbde678b809518ca005251ec64808":[4,0,2,30,80],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ad2fecc4ffb7c0a6ac9c96cfa32408919":[4,0,2,30,8],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ad720c4c7f350fe06291534d1cbf2feb5":[4,0,2,30,88],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,30,96],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ad9c316b496569c50fec3e42c0b15e8c9":[4,0,2,30,101],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#adc2b24484565bcb0cf654adf2f732f7e":[4,0,2,30,24],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#adc2e847ad7de6d05e9ed95bb1b3aac71":[4,0,2,30,34],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,30,44],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ade38a6d55a4eda3c6d5e196683b129a7":[4,0,2,30,58],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,30,49],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ae1abb705dbe9890e103365bf7c61521e":[4,0,2,30,84],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ae4ca3f09ab781322c22f903d31ec7aa9":[4,0,2,30,69],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ae6f542f218c7413a71aeccc5918a5ca3":[4,0,2,30,19],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ae7735588338065ede0ab9b7f979bc65a":[4,0,2,30,76],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#ae865ab7d7aceab91b9556f6704329e57":[4,0,2,30,61],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#aecc5c8f55550a0c83e63b73e50e5ed0b":[4,0,2,30,93],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,30,33],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#af781e99c23d0a8158c249066214ac49c":[4,0,2,30,25],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,30,94],
+"classllfio__v2__xxx_1_1path__handle.html":[4,0,2,32],
+"classllfio__v2__xxx_1_1path__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,32,19],
+"classllfio__v2__xxx_1_1path__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,32,20],
+"classllfio__v2__xxx_1_1path__handle.html#a01603d237d7f48f649abebd25bb7daaf":[4,0,2,32,8],
+"classllfio__v2__xxx_1_1path__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,32,23],
+"classllfio__v2__xxx_1_1path__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,32,15],
+"classllfio__v2__xxx_1_1path__handle.html#a0c9df3cc8d9b696f5397dccef87c55b8":[4,0,2,32,36],
+"classllfio__v2__xxx_1_1path__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,32,41],
+"classllfio__v2__xxx_1_1path__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,32,39],
+"classllfio__v2__xxx_1_1path__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,32,47],
+"classllfio__v2__xxx_1_1path__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,32,32],
+"classllfio__v2__xxx_1_1path__handle.html#a2b206c90a903d5a84e07da0f871aa612":[4,0,2,32,4],
+"classllfio__v2__xxx_1_1path__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,32,28],
+"classllfio__v2__xxx_1_1path__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,32,43],
+"classllfio__v2__xxx_1_1path__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,32,22],
+"classllfio__v2__xxx_1_1path__handle.html#a59eb95b11977153d7510d3979defca1f":[4,0,2,32,5],
+"classllfio__v2__xxx_1_1path__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,32,31],
+"classllfio__v2__xxx_1_1path__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,32,29],
+"classllfio__v2__xxx_1_1path__handle.html#a6dbe3970805ad071cdfa258192e9107a":[4,0,2,32,35],
+"classllfio__v2__xxx_1_1path__handle.html#a6f2c51636f17ae97255106d37ef4187c":[4,0,2,32,6],
+"classllfio__v2__xxx_1_1path__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,32,14],
+"classllfio__v2__xxx_1_1path__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,32,40],
+"classllfio__v2__xxx_1_1path__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,32,27],
+"classllfio__v2__xxx_1_1path__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,32,16],
+"classllfio__v2__xxx_1_1path__handle.html#a8085cb3b40982c6dbd874547c183fd5e":[4,0,2,32,24],
+"classllfio__v2__xxx_1_1path__handle.html#a8752c5e4f4189c7bdfcd6eccb637bef9":[4,0,2,32,42],
+"classllfio__v2__xxx_1_1path__handle.html#a8a6c8781b524b288d5c511ef0c5d2006":[4,0,2,32,9],
+"classllfio__v2__xxx_1_1path__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,32,33],
+"classllfio__v2__xxx_1_1path__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,32,34],
+"classllfio__v2__xxx_1_1path__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,32,26],
+"classllfio__v2__xxx_1_1path__handle.html#a9b073ef087460e1a6975bbb61cdc1572":[4,0,2,32,0],
+"classllfio__v2__xxx_1_1path__handle.html#aa02b3f0672f6cbfbafcd01fc2c3b639e":[4,0,2,32,10],
+"classllfio__v2__xxx_1_1path__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,32,38],
+"classllfio__v2__xxx_1_1path__handle.html#ab98213f3667f45cc5429e9d6ed6073fb":[4,0,2,32,44],
+"classllfio__v2__xxx_1_1path__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,32,21],
+"classllfio__v2__xxx_1_1path__handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,32,37],
+"classllfio__v2__xxx_1_1path__handle.html#acab4abf41e3a54d6f55ca28da526fc8a":[4,0,2,32,3],
+"classllfio__v2__xxx_1_1path__handle.html#ad011e3d216b5194b92f90502d9bb6b99":[4,0,2,32,2],
+"classllfio__v2__xxx_1_1path__handle.html#ad1e2cc6153a5d55ebaf6f3283f56c6f0":[4,0,2,32,13],
+"classllfio__v2__xxx_1_1path__handle.html#ad397dbfc5cd5eb53f203a2c1c9540a2e":[4,0,2,32,18],
+"classllfio__v2__xxx_1_1path__handle.html#ad60627e0cdb8fa6093efc3133021d2df":[4,0,2,32,11],
+"classllfio__v2__xxx_1_1path__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,32,46],
+"classllfio__v2__xxx_1_1path__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,32,25],
+"classllfio__v2__xxx_1_1path__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,32,30],
+"classllfio__v2__xxx_1_1path__handle.html#ae260bf811da1b17c142f51fbb53476bf":[4,0,2,32,17],
+"classllfio__v2__xxx_1_1path__handle.html#ae81c55923bdf4bfc78c75fa60c2badcc":[4,0,2,32,12],
+"classllfio__v2__xxx_1_1path__handle.html#aec00c90b9b840886be11f846d161415b":[4,0,2,32,1],
+"classllfio__v2__xxx_1_1path__handle.html#af00ba815654b5bfd399deec7d87ceaea":[4,0,2,32,7],
+"classllfio__v2__xxx_1_1path__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,32,45],
+"classllfio__v2__xxx_1_1path__view.html":[4,0,2,34],
+"classllfio__v2__xxx_1_1path__view.html#a02263e5f35a62cf6bd5aca116448aa29":[4,0,2,34,26],
+"classllfio__v2__xxx_1_1path__view.html#a0c7621edd87f2bb2bc720a4cd161cece":[4,0,2,34,25],
+"classllfio__v2__xxx_1_1path__view.html#a1b128bc55c1c093b9b46de07b7c1ced7":[4,0,2,34,4],
+"classllfio__v2__xxx_1_1path__view.html#a1c284ac9b48c76ad15d5371d4c8313eb":[4,0,2,34,14],
+"classllfio__v2__xxx_1_1path__view.html#a203a5af1a0b66093c4fe7c0556caa5d7":[4,0,2,34,27],
+"classllfio__v2__xxx_1_1path__view.html#a28161b36656c08a0ea8759fe79234547":[4,0,2,34,42],
+"classllfio__v2__xxx_1_1path__view.html#a2e57bc4620ceb5b17d750a7815c38007":[4,0,2,34,24],
+"classllfio__v2__xxx_1_1path__view.html#a32586d7c5588e0686e6ceb75d06b1a0d":[4,0,2,34,36],
+"classllfio__v2__xxx_1_1path__view.html#a3cfdc7d5b0557c4f5d1c7f7ca9b0a76f":[4,0,2,34,32],
+"classllfio__v2__xxx_1_1path__view.html#a3ec7f23cd05adbff0aa798e2586540f1":[4,0,2,34,18],
+"classllfio__v2__xxx_1_1path__view.html#a48eb689da1dbc5d5e9097a5fa6054c55":[4,0,2,34,35],
+"classllfio__v2__xxx_1_1path__view.html#a4f70a36ca7261e649c7382637bb933c6":[4,0,2,34,13]
};
diff --git a/navtreeindex5.js b/navtreeindex5.js
index ca599bce..09233296 100644
--- a/navtreeindex5.js
+++ b/navtreeindex5.js
@@ -1,103 +1,5 @@
var NAVTREEINDEX5 =
{
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,30,39],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ac3f6788f559c6e4f0f577eeebf120efe":[4,0,2,30,31],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#acb5a5b1e9f5bd7b1555edbacd057972c":[4,0,2,30,87],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ad0cfbde678b809518ca005251ec64808":[4,0,2,30,78],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ad2fecc4ffb7c0a6ac9c96cfa32408919":[4,0,2,30,8],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ad720c4c7f350fe06291534d1cbf2feb5":[4,0,2,30,86],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,30,94],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ad9c316b496569c50fec3e42c0b15e8c9":[4,0,2,30,99],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#adc2b24484565bcb0cf654adf2f732f7e":[4,0,2,30,24],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#adc2e847ad7de6d05e9ed95bb1b3aac71":[4,0,2,30,34],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,30,44],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ade38a6d55a4eda3c6d5e196683b129a7":[4,0,2,30,58],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,30,49],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ae1abb705dbe9890e103365bf7c61521e":[4,0,2,30,82],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ae4ca3f09ab781322c22f903d31ec7aa9":[4,0,2,30,67],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ae6f542f218c7413a71aeccc5918a5ca3":[4,0,2,30,19],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ae7735588338065ede0ab9b7f979bc65a":[4,0,2,30,74],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#ae865ab7d7aceab91b9556f6704329e57":[4,0,2,30,61],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#aecc5c8f55550a0c83e63b73e50e5ed0b":[4,0,2,30,91],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,30,33],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#af781e99c23d0a8158c249066214ac49c":[4,0,2,30,25],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,30,92],
-"classllfio__v2__xxx_1_1path__handle.html":[4,0,2,32],
-"classllfio__v2__xxx_1_1path__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,32,20],
-"classllfio__v2__xxx_1_1path__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,32,21],
-"classllfio__v2__xxx_1_1path__handle.html#a01603d237d7f48f649abebd25bb7daaf":[4,0,2,32,9],
-"classllfio__v2__xxx_1_1path__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,32,24],
-"classllfio__v2__xxx_1_1path__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,32,16],
-"classllfio__v2__xxx_1_1path__handle.html#a0c9df3cc8d9b696f5397dccef87c55b8":[4,0,2,32,37],
-"classllfio__v2__xxx_1_1path__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,32,40],
-"classllfio__v2__xxx_1_1path__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,32,38],
-"classllfio__v2__xxx_1_1path__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,32,46],
-"classllfio__v2__xxx_1_1path__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,32,33],
-"classllfio__v2__xxx_1_1path__handle.html#a2b206c90a903d5a84e07da0f871aa612":[4,0,2,32,4],
-"classllfio__v2__xxx_1_1path__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,32,29],
-"classllfio__v2__xxx_1_1path__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,32,42],
-"classllfio__v2__xxx_1_1path__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,32,23],
-"classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2a":[4,0,2,32,8],
-"classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d":[4,0,2,32,8,14],
-"classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,32,8,1],
-"classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,32,8,2],
-"classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681":[4,0,2,32,8,11],
-"classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3":[4,0,2,32,8,6],
-"classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322":[4,0,2,32,8,10],
-"classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b":[4,0,2,32,8,5],
-"classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59":[4,0,2,32,8,13],
-"classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962":[4,0,2,32,8,3],
-"classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0":[4,0,2,32,8,9],
-"classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a":[4,0,2,32,8,12],
-"classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c":[4,0,2,32,8,8],
-"classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d":[4,0,2,32,8,4],
-"classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298":[4,0,2,32,8,0],
-"classllfio__v2__xxx_1_1path__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0":[4,0,2,32,8,7],
-"classllfio__v2__xxx_1_1path__handle.html#a59eb95b11977153d7510d3979defca1f":[4,0,2,32,5],
-"classllfio__v2__xxx_1_1path__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,32,32],
-"classllfio__v2__xxx_1_1path__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,32,30],
-"classllfio__v2__xxx_1_1path__handle.html#a6dbe3970805ad071cdfa258192e9107a":[4,0,2,32,36],
-"classllfio__v2__xxx_1_1path__handle.html#a6f2c51636f17ae97255106d37ef4187c":[4,0,2,32,6],
-"classllfio__v2__xxx_1_1path__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,32,15],
-"classllfio__v2__xxx_1_1path__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,32,39],
-"classllfio__v2__xxx_1_1path__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,32,28],
-"classllfio__v2__xxx_1_1path__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,32,17],
-"classllfio__v2__xxx_1_1path__handle.html#a8085cb3b40982c6dbd874547c183fd5e":[4,0,2,32,25],
-"classllfio__v2__xxx_1_1path__handle.html#a8752c5e4f4189c7bdfcd6eccb637bef9":[4,0,2,32,41],
-"classllfio__v2__xxx_1_1path__handle.html#a8a6c8781b524b288d5c511ef0c5d2006":[4,0,2,32,10],
-"classllfio__v2__xxx_1_1path__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,32,34],
-"classllfio__v2__xxx_1_1path__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,32,35],
-"classllfio__v2__xxx_1_1path__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,32,27],
-"classllfio__v2__xxx_1_1path__handle.html#a9b073ef087460e1a6975bbb61cdc1572":[4,0,2,32,0],
-"classllfio__v2__xxx_1_1path__handle.html#aa02b3f0672f6cbfbafcd01fc2c3b639e":[4,0,2,32,11],
-"classllfio__v2__xxx_1_1path__handle.html#ab98213f3667f45cc5429e9d6ed6073fb":[4,0,2,32,43],
-"classllfio__v2__xxx_1_1path__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,32,22],
-"classllfio__v2__xxx_1_1path__handle.html#acab4abf41e3a54d6f55ca28da526fc8a":[4,0,2,32,3],
-"classllfio__v2__xxx_1_1path__handle.html#ad011e3d216b5194b92f90502d9bb6b99":[4,0,2,32,2],
-"classllfio__v2__xxx_1_1path__handle.html#ad1e2cc6153a5d55ebaf6f3283f56c6f0":[4,0,2,32,14],
-"classllfio__v2__xxx_1_1path__handle.html#ad397dbfc5cd5eb53f203a2c1c9540a2e":[4,0,2,32,19],
-"classllfio__v2__xxx_1_1path__handle.html#ad60627e0cdb8fa6093efc3133021d2df":[4,0,2,32,12],
-"classllfio__v2__xxx_1_1path__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,32,45],
-"classllfio__v2__xxx_1_1path__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,32,26],
-"classllfio__v2__xxx_1_1path__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,32,31],
-"classllfio__v2__xxx_1_1path__handle.html#ae260bf811da1b17c142f51fbb53476bf":[4,0,2,32,18],
-"classllfio__v2__xxx_1_1path__handle.html#ae81c55923bdf4bfc78c75fa60c2badcc":[4,0,2,32,13],
-"classllfio__v2__xxx_1_1path__handle.html#aec00c90b9b840886be11f846d161415b":[4,0,2,32,1],
-"classllfio__v2__xxx_1_1path__handle.html#af00ba815654b5bfd399deec7d87ceaea":[4,0,2,32,7],
-"classllfio__v2__xxx_1_1path__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,32,44],
-"classllfio__v2__xxx_1_1path__view.html":[4,0,2,34],
-"classllfio__v2__xxx_1_1path__view.html#a02263e5f35a62cf6bd5aca116448aa29":[4,0,2,34,26],
-"classllfio__v2__xxx_1_1path__view.html#a0c7621edd87f2bb2bc720a4cd161cece":[4,0,2,34,25],
-"classllfio__v2__xxx_1_1path__view.html#a1b128bc55c1c093b9b46de07b7c1ced7":[4,0,2,34,4],
-"classllfio__v2__xxx_1_1path__view.html#a1c284ac9b48c76ad15d5371d4c8313eb":[4,0,2,34,14],
-"classllfio__v2__xxx_1_1path__view.html#a203a5af1a0b66093c4fe7c0556caa5d7":[4,0,2,34,27],
-"classllfio__v2__xxx_1_1path__view.html#a28161b36656c08a0ea8759fe79234547":[4,0,2,34,42],
-"classllfio__v2__xxx_1_1path__view.html#a2e57bc4620ceb5b17d750a7815c38007":[4,0,2,34,24],
-"classllfio__v2__xxx_1_1path__view.html#a32586d7c5588e0686e6ceb75d06b1a0d":[4,0,2,34,36],
-"classllfio__v2__xxx_1_1path__view.html#a3cfdc7d5b0557c4f5d1c7f7ca9b0a76f":[4,0,2,34,32],
-"classllfio__v2__xxx_1_1path__view.html#a3ec7f23cd05adbff0aa798e2586540f1":[4,0,2,34,18],
-"classllfio__v2__xxx_1_1path__view.html#a48eb689da1dbc5d5e9097a5fa6054c55":[4,0,2,34,35],
-"classllfio__v2__xxx_1_1path__view.html#a4f70a36ca7261e649c7382637bb933c6":[4,0,2,34,13],
"classllfio__v2__xxx_1_1path__view.html#a4fb290145d390bd9e8cf3b5e2553c266":[4,0,2,34,11],
"classllfio__v2__xxx_1_1path__view.html#a5c5aa6069f667fe8043a89ca87495fcb":[4,0,2,34,30],
"classllfio__v2__xxx_1_1path__view.html#a5cc50365ca2d2ca528ecfd4d4d9d2205":[4,0,2,34,6],
@@ -129,125 +31,223 @@ var NAVTREEINDEX5 =
"classllfio__v2__xxx_1_1path__view.html#ae9532a152294cc91153584a909210b30":[4,0,2,34,29],
"classllfio__v2__xxx_1_1path__view.html#afc3b043b782b88100272b556388b9e4d":[4,0,2,34,8],
"classllfio__v2__xxx_1_1section__handle.html":[4,0,2,35],
-"classllfio__v2__xxx_1_1section__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,35,19],
-"classllfio__v2__xxx_1_1section__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,35,20],
-"classllfio__v2__xxx_1_1section__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,35,23],
-"classllfio__v2__xxx_1_1section__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,35,13],
-"classllfio__v2__xxx_1_1section__handle.html#a0eef87db368c1c6b6150ee4d5392c54b":[4,0,2,35,7],
-"classllfio__v2__xxx_1_1section__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,35,42],
-"classllfio__v2__xxx_1_1section__handle.html#a137acb9e2bbec111072ef357236e9441":[4,0,2,35,35],
-"classllfio__v2__xxx_1_1section__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,35,39],
-"classllfio__v2__xxx_1_1section__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,35,52],
-"classllfio__v2__xxx_1_1section__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,35,33],
-"classllfio__v2__xxx_1_1section__handle.html#a28bc1b458a57c697b94804fd6c87dcd9":[4,0,2,35,10],
-"classllfio__v2__xxx_1_1section__handle.html#a2bad3e9b5baf82d9ee7f791f4c3b4733":[4,0,2,35,44],
+"classllfio__v2__xxx_1_1section__handle.html#a00a85eec5a41f7edb2c574d40cf04535":[4,0,2,35,18],
+"classllfio__v2__xxx_1_1section__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,35,19],
+"classllfio__v2__xxx_1_1section__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,35,22],
+"classllfio__v2__xxx_1_1section__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,35,12],
+"classllfio__v2__xxx_1_1section__handle.html#a0eef87db368c1c6b6150ee4d5392c54b":[4,0,2,35,6],
+"classllfio__v2__xxx_1_1section__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,35,43],
+"classllfio__v2__xxx_1_1section__handle.html#a137acb9e2bbec111072ef357236e9441":[4,0,2,35,34],
+"classllfio__v2__xxx_1_1section__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,35,40],
+"classllfio__v2__xxx_1_1section__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,35,53],
+"classllfio__v2__xxx_1_1section__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,35,32],
+"classllfio__v2__xxx_1_1section__handle.html#a28bc1b458a57c697b94804fd6c87dcd9":[4,0,2,35,9],
+"classllfio__v2__xxx_1_1section__handle.html#a2bad3e9b5baf82d9ee7f791f4c3b4733":[4,0,2,35,45],
"classllfio__v2__xxx_1_1section__handle.html#a33481bae57d9ccd0c97946416f9682f3":[4,0,2,35,1],
-"classllfio__v2__xxx_1_1section__handle.html#a34f702e58a35c1eee31f5a5d3e5ec73d":[4,0,2,35,8],
-"classllfio__v2__xxx_1_1section__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,35,29],
-"classllfio__v2__xxx_1_1section__handle.html#a3b82e2db8c45ecc45a860fac912f6c82":[4,0,2,35,24],
-"classllfio__v2__xxx_1_1section__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,35,45],
-"classllfio__v2__xxx_1_1section__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,35,22],
-"classllfio__v2__xxx_1_1section__handle.html#a508cd333b972b87a6e0dd63c4d05d30b":[4,0,2,35,47],
-"classllfio__v2__xxx_1_1section__handle.html#a5435021920a220ef8d1e244036c8219b":[4,0,2,35,38],
-"classllfio__v2__xxx_1_1section__handle.html#a55daf2f49cf0f182e18e139f6c35668a":[4,0,2,35,37],
-"classllfio__v2__xxx_1_1section__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,35,4,1],
-"classllfio__v2__xxx_1_1section__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,35,6,1],
-"classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549":[4,0,2,35,3],
-"classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a06b41188d84f0fee5cff37c71b3d5877":[4,0,2,35,3,9],
-"classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a0a225b6b1594a5540799b4c58c937522":[4,0,2,35,3,13],
-"classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a1e91d093711d9d800b8ddc2f6e5d1ca2":[4,0,2,35,3,6],
-"classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a2087205d797bb4de249c85cc8b87afc5":[4,0,2,35,3,10],
-"classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a41771be4e90788c06cc49f2d35538108":[4,0,2,35,3,8],
-"classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a631fef30d1e40f9d7ce6fa3a0ad4fa9d":[4,0,2,35,3,4],
-"classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a63bd03aae67c348121ac0bf88161d90f":[4,0,2,35,3,1],
-"classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a88d13c7a84c4b579c0da45a290fd6b78":[4,0,2,35,3,14],
-"classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a8d15253a30787fff812c9f254e26baf1":[4,0,2,35,3,11],
-"classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a979d3bc3dccd10f67de00b228a12822f":[4,0,2,35,3,5],
-"classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549aa3a2b1b4beaa0a8f0e2658cb321f7c46":[4,0,2,35,3,12],
-"classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549aaa630970737cad05cddc88036a638d44":[4,0,2,35,3,0],
-"classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549ab61620219a89d4c133c6c6f4b781a9ba":[4,0,2,35,3,2],
-"classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549ac57346933aada59cff3ee2296cc70332":[4,0,2,35,3,3],
-"classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549afde37a72636d74e28ce3553154341756":[4,0,2,35,3,7],
-"classllfio__v2__xxx_1_1section__handle.html#a5b3323b6f5554b863c7f104de9519c86":[4,0,2,35,48],
-"classllfio__v2__xxx_1_1section__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,35,32],
-"classllfio__v2__xxx_1_1section__handle.html#a680320bd539378d99870d9b2cdedb9c8":[4,0,2,35,15],
-"classllfio__v2__xxx_1_1section__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,35,30],
-"classllfio__v2__xxx_1_1section__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,35,12],
-"classllfio__v2__xxx_1_1section__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,35,40],
-"classllfio__v2__xxx_1_1section__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,35,28],
-"classllfio__v2__xxx_1_1section__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,35,14],
-"classllfio__v2__xxx_1_1section__handle.html#a8085cb3b40982c6dbd874547c183fd5e":[4,0,2,35,25],
-"classllfio__v2__xxx_1_1section__handle.html#a85635c700f2778280481598393c24c00":[4,0,2,35,43],
-"classllfio__v2__xxx_1_1section__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,35,34],
+"classllfio__v2__xxx_1_1section__handle.html#a34f702e58a35c1eee31f5a5d3e5ec73d":[4,0,2,35,7],
+"classllfio__v2__xxx_1_1section__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,35,28],
+"classllfio__v2__xxx_1_1section__handle.html#a3b82e2db8c45ecc45a860fac912f6c82":[4,0,2,35,23],
+"classllfio__v2__xxx_1_1section__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,35,46],
+"classllfio__v2__xxx_1_1section__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,35,21],
+"classllfio__v2__xxx_1_1section__handle.html#a508cd333b972b87a6e0dd63c4d05d30b":[4,0,2,35,48],
+"classllfio__v2__xxx_1_1section__handle.html#a5405985448afbfe281cbf98ab7bbb3ab":[4,0,2,35,38],
+"classllfio__v2__xxx_1_1section__handle.html#a5435021920a220ef8d1e244036c8219b":[4,0,2,35,37],
+"classllfio__v2__xxx_1_1section__handle.html#a55daf2f49cf0f182e18e139f6c35668a":[4,0,2,35,36],
+"classllfio__v2__xxx_1_1section__handle.html#a5b3323b6f5554b863c7f104de9519c86":[4,0,2,35,49],
+"classllfio__v2__xxx_1_1section__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,35,31],
+"classllfio__v2__xxx_1_1section__handle.html#a680320bd539378d99870d9b2cdedb9c8":[4,0,2,35,14],
+"classllfio__v2__xxx_1_1section__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,35,29],
+"classllfio__v2__xxx_1_1section__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,35,11],
+"classllfio__v2__xxx_1_1section__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,35,41],
+"classllfio__v2__xxx_1_1section__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,35,27],
+"classllfio__v2__xxx_1_1section__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,35,13],
+"classllfio__v2__xxx_1_1section__handle.html#a8085cb3b40982c6dbd874547c183fd5e":[4,0,2,35,24],
+"classllfio__v2__xxx_1_1section__handle.html#a85635c700f2778280481598393c24c00":[4,0,2,35,44],
+"classllfio__v2__xxx_1_1section__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,35,33],
"classllfio__v2__xxx_1_1section__handle.html#a91a4e4110fe6ed6358de00de3ae934d1":[4,0,2,35,0],
-"classllfio__v2__xxx_1_1section__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,35,36],
-"classllfio__v2__xxx_1_1section__handle.html#a9652c4732314142bd472304f36386ef8":[4,0,2,35,9],
-"classllfio__v2__xxx_1_1section__handle.html#a967031835185e5ba872a4e584d51c40d":[4,0,2,35,18],
-"classllfio__v2__xxx_1_1section__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,35,27],
-"classllfio__v2__xxx_1_1section__handle.html#a99bb38a023cb0cb486e6210485cc1ca4":[4,0,2,35,41],
-"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dca":[4,0,2,35,6],
-"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaa8d7b3d6b83c0a517eac07e1aac94b773":[4,0,2,35,6,0],
-"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d":[4,0,2,35,6,6],
-"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaa9f56aff64cb748e078ab221474132d19":[4,0,2,35,6,3],
-"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaaa4daf6d1e8da35af49c33bbe9ee91d79":[4,0,2,35,6,2],
-"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e":[4,0,2,35,6,4],
-"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee":[4,0,2,35,6,5],
-"classllfio__v2__xxx_1_1section__handle.html#aa4d0beac304a5ae9d29441819a829b80":[4,0,2,35,46],
-"classllfio__v2__xxx_1_1section__handle.html#ab3cb03378bf927a2fb6636beb6ca2f20":[4,0,2,35,11],
-"classllfio__v2__xxx_1_1section__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,35,21],
+"classllfio__v2__xxx_1_1section__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,35,35],
+"classllfio__v2__xxx_1_1section__handle.html#a9652c4732314142bd472304f36386ef8":[4,0,2,35,8],
+"classllfio__v2__xxx_1_1section__handle.html#a967031835185e5ba872a4e584d51c40d":[4,0,2,35,17],
+"classllfio__v2__xxx_1_1section__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,35,26],
+"classllfio__v2__xxx_1_1section__handle.html#a99bb38a023cb0cb486e6210485cc1ca4":[4,0,2,35,42],
+"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dca":[4,0,2,35,5],
+"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,35,5,1],
+"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaa8d7b3d6b83c0a517eac07e1aac94b773":[4,0,2,35,5,0],
+"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d":[4,0,2,35,5,6],
+"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaa9f56aff64cb748e078ab221474132d19":[4,0,2,35,5,3],
+"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaaa4daf6d1e8da35af49c33bbe9ee91d79":[4,0,2,35,5,2],
+"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e":[4,0,2,35,5,4],
+"classllfio__v2__xxx_1_1section__handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee":[4,0,2,35,5,5],
+"classllfio__v2__xxx_1_1section__handle.html#aa4d0beac304a5ae9d29441819a829b80":[4,0,2,35,47],
+"classllfio__v2__xxx_1_1section__handle.html#ab3cb03378bf927a2fb6636beb6ca2f20":[4,0,2,35,10],
+"classllfio__v2__xxx_1_1section__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,35,20],
+"classllfio__v2__xxx_1_1section__handle.html#ad057ca569878e127389457e80e0f393d":[4,0,2,35,39],
"classllfio__v2__xxx_1_1section__handle.html#ad623089ad47d566d5eeaefe202dbf3a0":[4,0,2,35,2],
-"classllfio__v2__xxx_1_1section__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,35,51],
-"classllfio__v2__xxx_1_1section__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,35,26],
-"classllfio__v2__xxx_1_1section__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,35,31],
-"classllfio__v2__xxx_1_1section__handle.html#aea14a4f834500e412db39efd998f438a":[4,0,2,35,16],
-"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852":[4,0,2,35,4],
-"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1":[4,0,2,35,4,3],
-"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a8d7b3d6b83c0a517eac07e1aac94b773":[4,0,2,35,4,0],
-"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a9cd65f46f55fb6a4b198fcee6f0a63c1":[4,0,2,35,4,6],
-"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51":[4,0,2,35,4,5],
-"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98":[4,0,2,35,4,2],
-"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef":[4,0,2,35,4,7],
-"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852adec4ecca8ae1593f84eea4656599a693":[4,0,2,35,4,4],
-"classllfio__v2__xxx_1_1section__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,35,17],
-"classllfio__v2__xxx_1_1section__handle.html#af0b352d0f273ba6fa70c178b2c2fee42":[4,0,2,35,5],
-"classllfio__v2__xxx_1_1section__handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d":[4,0,2,35,5,2],
-"classllfio__v2__xxx_1_1section__handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9":[4,0,2,35,5,0],
-"classllfio__v2__xxx_1_1section__handle.html#af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed":[4,0,2,35,5,3],
-"classllfio__v2__xxx_1_1section__handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255":[4,0,2,35,5,1],
-"classllfio__v2__xxx_1_1section__handle.html#af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d":[4,0,2,35,5,4],
-"classllfio__v2__xxx_1_1section__handle.html#aff579de98516b809327d4443ad8eb84a":[4,0,2,35,50],
-"classllfio__v2__xxx_1_1section__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,35,49],
+"classllfio__v2__xxx_1_1section__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,35,52],
+"classllfio__v2__xxx_1_1section__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,35,25],
+"classllfio__v2__xxx_1_1section__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,35,30],
+"classllfio__v2__xxx_1_1section__handle.html#aea14a4f834500e412db39efd998f438a":[4,0,2,35,15],
+"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852":[4,0,2,35,3],
+"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1":[4,0,2,35,3,3],
+"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,35,3,1],
+"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a8d7b3d6b83c0a517eac07e1aac94b773":[4,0,2,35,3,0],
+"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a9cd65f46f55fb6a4b198fcee6f0a63c1":[4,0,2,35,3,6],
+"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51":[4,0,2,35,3,5],
+"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98":[4,0,2,35,3,2],
+"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef":[4,0,2,35,3,7],
+"classllfio__v2__xxx_1_1section__handle.html#aecd3a7db6cee3aec07d32fe6f99e6852adec4ecca8ae1593f84eea4656599a693":[4,0,2,35,3,4],
+"classllfio__v2__xxx_1_1section__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,35,16],
+"classllfio__v2__xxx_1_1section__handle.html#af0b352d0f273ba6fa70c178b2c2fee42":[4,0,2,35,4],
+"classllfio__v2__xxx_1_1section__handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d":[4,0,2,35,4,2],
+"classllfio__v2__xxx_1_1section__handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9":[4,0,2,35,4,0],
+"classllfio__v2__xxx_1_1section__handle.html#af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed":[4,0,2,35,4,3],
+"classllfio__v2__xxx_1_1section__handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255":[4,0,2,35,4,1],
+"classllfio__v2__xxx_1_1section__handle.html#af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d":[4,0,2,35,4,4],
+"classllfio__v2__xxx_1_1section__handle.html#aff579de98516b809327d4443ad8eb84a":[4,0,2,35,51],
+"classllfio__v2__xxx_1_1section__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,35,50],
"classllfio__v2__xxx_1_1symlink__handle.html":[4,0,2,38],
-"classllfio__v2__xxx_1_1symlink__handle.html#a002c9dab669604d58e08aa8f4dbc99c8":[4,0,2,38,62],
-"classllfio__v2__xxx_1_1symlink__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,38,34],
-"classllfio__v2__xxx_1_1symlink__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,38,37],
-"classllfio__v2__xxx_1_1symlink__handle.html#a02c22ab62150c15dbe77096526975cbf":[4,0,2,38,20],
+"classllfio__v2__xxx_1_1symlink__handle.html#a002c9dab669604d58e08aa8f4dbc99c8":[4,0,2,38,63],
+"classllfio__v2__xxx_1_1symlink__handle.html#a013936bc1254b1a47567fe29698d1b1c":[4,0,2,38,33],
+"classllfio__v2__xxx_1_1symlink__handle.html#a018de0f7c177e3cff239016d14582e9a":[4,0,2,38,36],
+"classllfio__v2__xxx_1_1symlink__handle.html#a02c22ab62150c15dbe77096526975cbf":[4,0,2,38,19],
"classllfio__v2__xxx_1_1symlink__handle.html#a08242270932bae1df673574b8b9b43b2":[4,0,2,38,7],
-"classllfio__v2__xxx_1_1symlink__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,38,28],
-"classllfio__v2__xxx_1_1symlink__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,38,56],
-"classllfio__v2__xxx_1_1symlink__handle.html#a102fed4cc800776a62fae691a87db0e6":[4,0,2,38,60],
-"classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002":[4,0,2,38,19],
-"classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,38,19,0],
-"classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a47a6c07b9ccfe0e2eb31469b3e3b1939":[4,0,2,38,19,2],
-"classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a7bf46ad61adc2265f803fc3b798b3559":[4,0,2,38,19,1],
-"classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002ae295d0310a8145d4037bb19c69aa7a1a":[4,0,2,38,19,3],
+"classllfio__v2__xxx_1_1symlink__handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1":[4,0,2,38,27],
+"classllfio__v2__xxx_1_1symlink__handle.html#a101620e9fff0c0e8c346af0e9de58b6a":[4,0,2,38,57],
+"classllfio__v2__xxx_1_1symlink__handle.html#a102fed4cc800776a62fae691a87db0e6":[4,0,2,38,61],
+"classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002":[4,0,2,38,18],
+"classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,38,18,0],
+"classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a47a6c07b9ccfe0e2eb31469b3e3b1939":[4,0,2,38,18,2],
+"classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a7bf46ad61adc2265f803fc3b798b3559":[4,0,2,38,18,1],
+"classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002ae295d0310a8145d4037bb19c69aa7a1a":[4,0,2,38,18,3],
"classllfio__v2__xxx_1_1symlink__handle.html#a1a65884346740af7fb4648c79d44a750":[4,0,2,38,17],
-"classllfio__v2__xxx_1_1symlink__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,38,53],
-"classllfio__v2__xxx_1_1symlink__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,38,68],
-"classllfio__v2__xxx_1_1symlink__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,38,46],
-"classllfio__v2__xxx_1_1symlink__handle.html#a2a22f51ca307aa30660ed91b26785ec3":[4,0,2,38,32],
-"classllfio__v2__xxx_1_1symlink__handle.html#a3270cfa202b024bc74f3c5e301b9f33d":[4,0,2,38,21],
-"classllfio__v2__xxx_1_1symlink__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,38,42],
-"classllfio__v2__xxx_1_1symlink__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,38,59],
+"classllfio__v2__xxx_1_1symlink__handle.html#a1d273e38c061eb11f5012f624e9a202e":[4,0,2,38,54],
+"classllfio__v2__xxx_1_1symlink__handle.html#a1d6911771ac743fd9d64063c12429deb":[4,0,2,38,69],
+"classllfio__v2__xxx_1_1symlink__handle.html#a211fee447a47bdeb5424a2a5ae1de852":[4,0,2,38,45],
+"classllfio__v2__xxx_1_1symlink__handle.html#a2a22f51ca307aa30660ed91b26785ec3":[4,0,2,38,31],
+"classllfio__v2__xxx_1_1symlink__handle.html#a3270cfa202b024bc74f3c5e301b9f33d":[4,0,2,38,20],
+"classllfio__v2__xxx_1_1symlink__handle.html#a354c9168af7759f7151a071c1e1b7b19":[4,0,2,38,41],
+"classllfio__v2__xxx_1_1symlink__handle.html#a4716696b8700953889006251e0678aa4":[4,0,2,38,60],
"classllfio__v2__xxx_1_1symlink__handle.html#a4970f4d5ce8405cce62715af55b0e9f0":[4,0,2,38,8],
-"classllfio__v2__xxx_1_1symlink__handle.html#a4bf1120bb74363b88eb77d704a3a0d7b":[4,0,2,38,49],
-"classllfio__v2__xxx_1_1symlink__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,38,36],
-"classllfio__v2__xxx_1_1symlink__handle.html#a4d20a64cf182162a49962ed25d2126b3":[4,0,2,38,65],
-"classllfio__v2__xxx_1_1symlink__handle.html#a50307b2975f01173ad23de6ff63f6bcf":[4,0,2,38,50],
-"classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2a":[4,0,2,38,18],
-"classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d":[4,0,2,38,18,14],
-"classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,38,18,1],
-"classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8":[4,0,2,38,18,2],
-"classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681":[4,0,2,38,18,11],
-"classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3":[4,0,2,38,18,6]
+"classllfio__v2__xxx_1_1symlink__handle.html#a4bf1120bb74363b88eb77d704a3a0d7b":[4,0,2,38,48],
+"classllfio__v2__xxx_1_1symlink__handle.html#a4ca48bdcd6d6bf8b41d0cebb304fe9ce":[4,0,2,38,35],
+"classllfio__v2__xxx_1_1symlink__handle.html#a4d20a64cf182162a49962ed25d2126b3":[4,0,2,38,66],
+"classllfio__v2__xxx_1_1symlink__handle.html#a50307b2975f01173ad23de6ff63f6bcf":[4,0,2,38,49],
+"classllfio__v2__xxx_1_1symlink__handle.html#a59fc570c6ede7b6d46cb65b60792d83a":[4,0,2,38,15],
+"classllfio__v2__xxx_1_1symlink__handle.html#a5c072cf6866aff3220047aba4e4f58fd":[4,0,2,38,5],
+"classllfio__v2__xxx_1_1symlink__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,38,44],
+"classllfio__v2__xxx_1_1symlink__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,38,42],
+"classllfio__v2__xxx_1_1symlink__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,38,26],
+"classllfio__v2__xxx_1_1symlink__handle.html#a7227db10ebbb385311452e912d833447":[4,0,2,38,64],
+"classllfio__v2__xxx_1_1symlink__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,38,56],
+"classllfio__v2__xxx_1_1symlink__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,38,40],
+"classllfio__v2__xxx_1_1symlink__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,38,28],
+"classllfio__v2__xxx_1_1symlink__handle.html#a8085cb3b40982c6dbd874547c183fd5e":[4,0,2,38,37],
+"classllfio__v2__xxx_1_1symlink__handle.html#a82746ab06b526c8049aed722e6eeaa88":[4,0,2,38,12],
+"classllfio__v2__xxx_1_1symlink__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa":[4,0,2,38,68],
+"classllfio__v2__xxx_1_1symlink__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5":[4,0,2,38,50],
+"classllfio__v2__xxx_1_1symlink__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,38,46],
+"classllfio__v2__xxx_1_1symlink__handle.html#a910d8c7337384d2a04f030366757fa62":[4,0,2,38,11],
+"classllfio__v2__xxx_1_1symlink__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,38,47],
+"classllfio__v2__xxx_1_1symlink__handle.html#a965c39e7c0278de63cb33b7e0b5d0bf5":[4,0,2,38,9],
+"classllfio__v2__xxx_1_1symlink__handle.html#a9793fe40564fda2437783488bd51b9f1":[4,0,2,38,62],
+"classllfio__v2__xxx_1_1symlink__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,38,39],
+"classllfio__v2__xxx_1_1symlink__handle.html#a9bb14bb85eec86532bb63178aca00580":[4,0,2,38,14],
+"classllfio__v2__xxx_1_1symlink__handle.html#aa7e9bedf8c7a4c4a79a644a6e1857ee4":[4,0,2,38,52],
+"classllfio__v2__xxx_1_1symlink__handle.html#aa843ccfa486fe6d7d2772988d08d5e72":[4,0,2,38,6],
+"classllfio__v2__xxx_1_1symlink__handle.html#aa8f2a6e0f971b7b88a88562f8744f4da":[4,0,2,38,53],
+"classllfio__v2__xxx_1_1symlink__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc":[4,0,2,38,59],
+"classllfio__v2__xxx_1_1symlink__handle.html#aae07dfa26b75c9b973909c7da4580cf5":[4,0,2,38,30],
+"classllfio__v2__xxx_1_1symlink__handle.html#ab18ef0717520ff000a975f26c9d48c1b":[4,0,2,38,13],
+"classllfio__v2__xxx_1_1symlink__handle.html#ac10f98b90414a51b46cb56222ccfd41f":[4,0,2,38,22],
+"classllfio__v2__xxx_1_1symlink__handle.html#ac1167dee8a0dcf041e457570c89174b1":[4,0,2,38,23],
+"classllfio__v2__xxx_1_1symlink__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090":[4,0,2,38,58],
+"classllfio__v2__xxx_1_1symlink__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,38,34],
+"classllfio__v2__xxx_1_1symlink__handle.html#ac5222904f116c9beb0515a4a5aa850bf":[4,0,2,38,51],
+"classllfio__v2__xxx_1_1symlink__handle.html#acebc87ad5ec328f4d2395d5b8905ee0a":[4,0,2,38,24],
+"classllfio__v2__xxx_1_1symlink__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,38,67],
+"classllfio__v2__xxx_1_1symlink__handle.html#adc2b24484565bcb0cf654adf2f732f7e":[4,0,2,38,25],
+"classllfio__v2__xxx_1_1symlink__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,38,38],
+"classllfio__v2__xxx_1_1symlink__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,38,43],
+"classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746":[4,0,2,38,32],
+"classllfio__v2__xxx_1_1symlink__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,38,29],
+"classllfio__v2__xxx_1_1symlink__handle.html#af49d1596ddc5019962ae9ab22a78c5bf":[4,0,2,38,21],
+"classllfio__v2__xxx_1_1symlink__handle.html#afcfd44f6e9c1f3856a3427b8a213499b":[4,0,2,38,16],
+"classllfio__v2__xxx_1_1symlink__handle.html#afd78d540ca27fb62d96fb5444353ba42":[4,0,2,38,10],
+"classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c":[4,0,2,38,55],
+"classllfio__v2__xxx_1_1symlink__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,38,65],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html":[4,0,2,3,0],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a044de0369e4922815dd4b0b9b9358596":[4,0,2,3,0,15],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a119e460ac0d6e5987774e6e1e6f0b002":[4,0,2,3,0,8],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a1246b56d936c565437290594290e4224":[4,0,2,3,0,10],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a14fbf76cf636d64fc7a609b3949c3639":[4,0,2,3,0,13],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a2e69dcb54c7f3b4a52029132c8f3e69a":[4,0,2,3,0,6],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a2fdf39a4237fa1d2157f2ca8fd7d1d35":[4,0,2,3,0,16],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a60c5717e35b270b8d84d15ae368868ad":[4,0,2,3,0,18],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a6352a99ad2aff8c64948ac89de105de7":[4,0,2,3,0,7],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a719169e26237ebeeecd9329e2a21d0c3":[4,0,2,3,0,9],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a7e5cee674068d9a88f7f61b4c96764da":[4,0,2,3,0,2],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#aac32f19b3ed2aea6d784afebb2bfde6a":[4,0,2,3,0,12],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#ac3ac5503b4fd6ac4331c2240bddd5a0e":[4,0,2,3,0,3],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#acaa7851337ee7c96e8e77e7eb8e539ee":[4,0,2,3,0,5],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#ad5ddc986164ed591f699a0c82ed5731b":[4,0,2,3,0,4],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#adc8a4e95efecbf9e176103d9cfa88a2a":[4,0,2,3,0,11],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#adfb76278d1a55da5cb50e751a9ff32e6":[4,0,2,3,0,1],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#ae57116bbdf184521e4307176b119ef0d":[4,0,2,3,0,14],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#aecc7f10d71f5c3888ec859095f137423":[4,0,2,3,0,17],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html":[4,0,2,3,1],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html#a2bbf41f2f2520318fdaee21e8851cefc":[4,0,2,3,1,1],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html#a72bf15b1288d32ed332d3a44ddf287eb":[4,0,2,3,1,5],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html#a8275cd0213285ed2b1a7dc571c07adaf":[4,0,2,3,1,2],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html#a96b40be459cb832df002d8033d858a46":[4,0,2,3,1,4],
+"classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html#aee4a3d1c9ea248acfa3b8b0935e55a6b":[4,0,2,3,1,3],
+"combining_8hpp.html":[5,0,0,1,0,0,0,1],
+"combining_8hpp.html#a8b1d1e556711d50dacb5e279dc58407a":[5,0,0,1,0,0,0,1,1],
+"config_8hpp.html":[5,0,0,1,0,2],
+"config_8hpp.html#a02c02d05e24d34c25324c192df11c0b4":[5,0,0,1,0,2,31],
+"config_8hpp.html#a153d3be235debcda8578952291884b74":[5,0,0,1,0,2,18],
+"config_8hpp.html#a163aaaaa4d238aebd5fb9acec82006dd":[5,0,0,1,0,2,1],
+"config_8hpp.html#a1e5f2d817ba0955e319af287e5dd924b":[5,0,0,1,0,2,17],
+"config_8hpp.html#a4369189d04a952a93cf182f2c7390412":[5,0,0,1,0,2,33],
+"config_8hpp.html#a4de8a527746757126bdb1635b9a2a892":[5,0,0,1,0,2,15],
+"config_8hpp.html#a637f94e641d4078df650dd4a94094d7b":[5,0,0,1,0,2,21],
+"config_8hpp.html#a65d3346e1345f27d02cfe4ef4d7c9c3a":[5,0,0,1,0,2,2],
+"config_8hpp.html#a77c52ccdc38be135a374dbb4a7d1d466":[5,0,0,1,0,2,32],
+"config_8hpp.html#a79085acc20a53afe38d31c1af948301d":[5,0,0,1,0,2,27],
+"config_8hpp.html#a796b217a9d73a890d3a05de85bb1120d":[5,0,0,1,0,2,11],
+"config_8hpp.html#a7f5813f203de5eb26f6f359d5418848a":[5,0,0,1,0,2,4],
+"config_8hpp.html#a925ad90dc78642b82b3e91e677a263cd":[5,0,0,1,0,2,29],
+"config_8hpp.html#aa96417d97962da23b27d237508a58646":[5,0,0,1,0,2,14],
+"config_8hpp.html#ac33daba12ec10f8abd83e9670183f130":[5,0,0,1,0,2,20],
+"config_8hpp.html#ace72a598b9cabfc3d6f6760895e893fd":[5,0,0,1,0,2,30],
+"config_8hpp.html#adfde9bd005e6ec6b3f42492b758a99d3":[5,0,0,1,0,2,5],
+"config_8hpp.html#ae0ffcd967fa2fb3f8acaf39cf7b75d8d":[5,0,0,1,0,2,16],
+"config_8hpp.html#aebebb7d8d2589a39eba3e0e84cb26559":[5,0,0,1,0,2,3],
+"config_8hpp.html#af65fb3311b32b8757c3b7ebdd045afe9":[5,0,0,1,0,2,28],
+"config_8hpp.html#afdf0fdef0021246266b073c4caf8abea":[5,0,0,1,0,2,19],
+"deadline_8h.html":[5,0,0,1,0,3],
+"deadline_8h.html#a8248d979e402cb0538f7f6f2840b55c1":[5,0,0,1,0,3,1],
+"deadline_8h.html#a9ad4e75918453ebe2365378d3d04dce0":[5,0,0,1,0,3,2],
+"dir_1bdb7a6f6f947180459b1da442728237.html":[5,0,0,1,0,0,0],
+"dir_2e3f7bf739bad988e6850471c071ba11.html":[5,0,0,1,0,0],
+"dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html":[5,0,0,1],
+"dir_c1befcc047da237f65397416de160f2e.html":[5,0,0,0],
+"dir_d44c64559bbebec7f509842c48db8b23.html":[5,0,0],
+"dir_e5b117e9e5b89263e91174673bb00c84.html":[5,0,0,1,0,0,1],
+"dir_ff8d8ad368a820031e12dd9b12d79036.html":[5,0,0,1,0],
+"directory__handle_8hpp.html":[5,0,0,1,0,4],
+"directory__handle_8hpp.html#a026590e0aff0af0331ec8f8308e56724":[5,0,0,1,0,4,6],
+"directory__handle_8hpp.html#a2fd0d67b7d28699d16f6a3666a62a5bf":[5,0,0,1,0,4,9],
+"directory__handle_8hpp.html#a3d112d170c1d485e1120de06eef02375":[5,0,0,1,0,4,5],
+"directory__handle_8hpp.html#ad574b7ae82e4a082a7d5703097d65e92":[5,0,0,1,0,4,8],
+"directory__handle_8hpp.html#addbdc12d4993a8ee40c105a02a105a61":[5,0,0,1,0,4,10],
+"directory__handle_8hpp.html#ae5dd820167e77b7caf7ec921f0c6e8c9":[5,0,0,1,0,4,7],
+"fast__random__file__handle_8hpp.html":[5,0,0,1,0,5],
+"file__handle_8hpp.html":[5,0,0,1,0,6],
+"file__handle_8hpp.html#a16ee1bea5a5791ecde266420e00fba81":[5,0,0,1,0,6,10],
+"file__handle_8hpp.html#a1759f4cee184d433f4446a39ff8bfa02":[5,0,0,1,0,6,4],
+"file__handle_8hpp.html#a2542466a055a0c024dee2704e9e32519":[5,0,0,1,0,6,7],
+"file__handle_8hpp.html#a5bc9df0fdb554e757d14cf40af0bbb4e":[5,0,0,1,0,6,5],
+"file__handle_8hpp.html#a6f9a72b547dc542401a2d17b1c1e2e15":[5,0,0,1,0,6,2],
+"file__handle_8hpp.html#a70d9ef3b988a880d171015b754bb7b27":[5,0,0,1,0,6,8],
+"file__handle_8hpp.html#ac8d9dc908fe39f9c896e99f6b7a39d81":[5,0,0,1,0,6,9]
};
diff --git a/navtreeindex6.js b/navtreeindex6.js
index 8c68d198..bbcac4fb 100644
--- a/navtreeindex6.js
+++ b/navtreeindex6.js
@@ -1,131 +1,5 @@
var NAVTREEINDEX6 =
{
-"classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322":[4,0,2,38,18,10],
-"classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b":[4,0,2,38,18,5],
-"classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59":[4,0,2,38,18,13],
-"classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962":[4,0,2,38,18,3],
-"classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0":[4,0,2,38,18,9],
-"classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a":[4,0,2,38,18,12],
-"classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c":[4,0,2,38,18,8],
-"classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d":[4,0,2,38,18,4],
-"classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298":[4,0,2,38,18,0],
-"classllfio__v2__xxx_1_1symlink__handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0":[4,0,2,38,18,7],
-"classllfio__v2__xxx_1_1symlink__handle.html#a59fc570c6ede7b6d46cb65b60792d83a":[4,0,2,38,15],
-"classllfio__v2__xxx_1_1symlink__handle.html#a5c072cf6866aff3220047aba4e4f58fd":[4,0,2,38,5],
-"classllfio__v2__xxx_1_1symlink__handle.html#a5c7f6a0a8ffdea22763c75a9319ba0c2":[4,0,2,38,45],
-"classllfio__v2__xxx_1_1symlink__handle.html#a695ce0ed1606d540cfa452790ea71632":[4,0,2,38,43],
-"classllfio__v2__xxx_1_1symlink__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[4,0,2,38,27],
-"classllfio__v2__xxx_1_1symlink__handle.html#a7227db10ebbb385311452e912d833447":[4,0,2,38,63],
-"classllfio__v2__xxx_1_1symlink__handle.html#a751e912d8dab755ea969a418c1d544eb":[4,0,2,38,55],
-"classllfio__v2__xxx_1_1symlink__handle.html#a7751fbb4b1aff527f469412ea33116ed":[4,0,2,38,41],
-"classllfio__v2__xxx_1_1symlink__handle.html#a8036792f332459064172d7b0cfaee3cf":[4,0,2,38,29],
-"classllfio__v2__xxx_1_1symlink__handle.html#a8085cb3b40982c6dbd874547c183fd5e":[4,0,2,38,38],
-"classllfio__v2__xxx_1_1symlink__handle.html#a82746ab06b526c8049aed722e6eeaa88":[4,0,2,38,12],
-"classllfio__v2__xxx_1_1symlink__handle.html#a8454764db3cd47e65ec7853b9cb0b3fa":[4,0,2,38,67],
-"classllfio__v2__xxx_1_1symlink__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5":[4,0,2,38,51],
-"classllfio__v2__xxx_1_1symlink__handle.html#a90bf8668df002dac5a7d9397486b2946":[4,0,2,38,47],
-"classllfio__v2__xxx_1_1symlink__handle.html#a910d8c7337384d2a04f030366757fa62":[4,0,2,38,11],
-"classllfio__v2__xxx_1_1symlink__handle.html#a942b0d276c9f20fe41baab679b88fe72":[4,0,2,38,48],
-"classllfio__v2__xxx_1_1symlink__handle.html#a965c39e7c0278de63cb33b7e0b5d0bf5":[4,0,2,38,9],
-"classllfio__v2__xxx_1_1symlink__handle.html#a9793fe40564fda2437783488bd51b9f1":[4,0,2,38,61],
-"classllfio__v2__xxx_1_1symlink__handle.html#a97e0884c27147b4929be98961b8e9254":[4,0,2,38,40],
-"classllfio__v2__xxx_1_1symlink__handle.html#a9bb14bb85eec86532bb63178aca00580":[4,0,2,38,14],
-"classllfio__v2__xxx_1_1symlink__handle.html#aa843ccfa486fe6d7d2772988d08d5e72":[4,0,2,38,6],
-"classllfio__v2__xxx_1_1symlink__handle.html#aa8f2a6e0f971b7b88a88562f8744f4da":[4,0,2,38,52],
-"classllfio__v2__xxx_1_1symlink__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc":[4,0,2,38,58],
-"classllfio__v2__xxx_1_1symlink__handle.html#aae07dfa26b75c9b973909c7da4580cf5":[4,0,2,38,31],
-"classllfio__v2__xxx_1_1symlink__handle.html#ab18ef0717520ff000a975f26c9d48c1b":[4,0,2,38,13],
-"classllfio__v2__xxx_1_1symlink__handle.html#ac10f98b90414a51b46cb56222ccfd41f":[4,0,2,38,23],
-"classllfio__v2__xxx_1_1symlink__handle.html#ac1167dee8a0dcf041e457570c89174b1":[4,0,2,38,24],
-"classllfio__v2__xxx_1_1symlink__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090":[4,0,2,38,57],
-"classllfio__v2__xxx_1_1symlink__handle.html#ac3aa3dc009822c0e437f317864534feb":[4,0,2,38,35],
-"classllfio__v2__xxx_1_1symlink__handle.html#acebc87ad5ec328f4d2395d5b8905ee0a":[4,0,2,38,25],
-"classllfio__v2__xxx_1_1symlink__handle.html#ad758cf1eb2e0b4c63583eab05e7f6820":[4,0,2,38,66],
-"classllfio__v2__xxx_1_1symlink__handle.html#adc2b24484565bcb0cf654adf2f732f7e":[4,0,2,38,26],
-"classllfio__v2__xxx_1_1symlink__handle.html#ade0d0e05b844e77f425669da87bf48bb":[4,0,2,38,39],
-"classllfio__v2__xxx_1_1symlink__handle.html#ae0d5de068f71628e9491c5669f89dca0":[4,0,2,38,44],
-"classllfio__v2__xxx_1_1symlink__handle.html#aea44ed050acfd8e4f9dec59ff194c746":[4,0,2,38,33],
-"classllfio__v2__xxx_1_1symlink__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[4,0,2,38,30],
-"classllfio__v2__xxx_1_1symlink__handle.html#af49d1596ddc5019962ae9ab22a78c5bf":[4,0,2,38,22],
-"classllfio__v2__xxx_1_1symlink__handle.html#afcfd44f6e9c1f3856a3427b8a213499b":[4,0,2,38,16],
-"classllfio__v2__xxx_1_1symlink__handle.html#afd78d540ca27fb62d96fb5444353ba42":[4,0,2,38,10],
-"classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c":[4,0,2,38,54],
-"classllfio__v2__xxx_1_1symlink__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[4,0,2,38,64],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html":[4,0,2,3,0],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a044de0369e4922815dd4b0b9b9358596":[4,0,2,3,0,15],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a119e460ac0d6e5987774e6e1e6f0b002":[4,0,2,3,0,8],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a1246b56d936c565437290594290e4224":[4,0,2,3,0,10],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a14fbf76cf636d64fc7a609b3949c3639":[4,0,2,3,0,13],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a2e69dcb54c7f3b4a52029132c8f3e69a":[4,0,2,3,0,6],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a2fdf39a4237fa1d2157f2ca8fd7d1d35":[4,0,2,3,0,16],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a60c5717e35b270b8d84d15ae368868ad":[4,0,2,3,0,18],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a6352a99ad2aff8c64948ac89de105de7":[4,0,2,3,0,7],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a719169e26237ebeeecd9329e2a21d0c3":[4,0,2,3,0,9],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#a7e5cee674068d9a88f7f61b4c96764da":[4,0,2,3,0,2],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#aac32f19b3ed2aea6d784afebb2bfde6a":[4,0,2,3,0,12],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#ac3ac5503b4fd6ac4331c2240bddd5a0e":[4,0,2,3,0,3],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#acaa7851337ee7c96e8e77e7eb8e539ee":[4,0,2,3,0,5],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#ad5ddc986164ed591f699a0c82ed5731b":[4,0,2,3,0,4],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#adc8a4e95efecbf9e176103d9cfa88a2a":[4,0,2,3,0,11],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#adfb76278d1a55da5cb50e751a9ff32e6":[4,0,2,3,0,1],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#ae57116bbdf184521e4307176b119ef0d":[4,0,2,3,0,14],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator.html#aecc7f10d71f5c3888ec859095f137423":[4,0,2,3,0,17],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html":[4,0,2,3,1],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html#a2bbf41f2f2520318fdaee21e8851cefc":[4,0,2,3,1,1],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html#a72bf15b1288d32ed332d3a44ddf287eb":[4,0,2,3,1,5],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html#a8275cd0213285ed2b1a7dc571c07adaf":[4,0,2,3,1,2],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html#a96b40be459cb832df002d8033d858a46":[4,0,2,3,1,4],
-"classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html#aee4a3d1c9ea248acfa3b8b0935e55a6b":[4,0,2,3,1,3],
-"combining_8hpp.html":[5,0,0,1,0,0,0,1],
-"combining_8hpp.html#a8b1d1e556711d50dacb5e279dc58407a":[5,0,0,1,0,0,0,1,1],
-"config_8hpp.html":[5,0,0,1,0,2],
-"config_8hpp.html#a02c02d05e24d34c25324c192df11c0b4":[5,0,0,1,0,2,31],
-"config_8hpp.html#a153d3be235debcda8578952291884b74":[5,0,0,1,0,2,18],
-"config_8hpp.html#a163aaaaa4d238aebd5fb9acec82006dd":[5,0,0,1,0,2,1],
-"config_8hpp.html#a1e5f2d817ba0955e319af287e5dd924b":[5,0,0,1,0,2,17],
-"config_8hpp.html#a4369189d04a952a93cf182f2c7390412":[5,0,0,1,0,2,33],
-"config_8hpp.html#a4de8a527746757126bdb1635b9a2a892":[5,0,0,1,0,2,15],
-"config_8hpp.html#a637f94e641d4078df650dd4a94094d7b":[5,0,0,1,0,2,21],
-"config_8hpp.html#a65d3346e1345f27d02cfe4ef4d7c9c3a":[5,0,0,1,0,2,2],
-"config_8hpp.html#a77c52ccdc38be135a374dbb4a7d1d466":[5,0,0,1,0,2,32],
-"config_8hpp.html#a79085acc20a53afe38d31c1af948301d":[5,0,0,1,0,2,27],
-"config_8hpp.html#a796b217a9d73a890d3a05de85bb1120d":[5,0,0,1,0,2,11],
-"config_8hpp.html#a7f5813f203de5eb26f6f359d5418848a":[5,0,0,1,0,2,4],
-"config_8hpp.html#a925ad90dc78642b82b3e91e677a263cd":[5,0,0,1,0,2,29],
-"config_8hpp.html#aa96417d97962da23b27d237508a58646":[5,0,0,1,0,2,14],
-"config_8hpp.html#ac33daba12ec10f8abd83e9670183f130":[5,0,0,1,0,2,20],
-"config_8hpp.html#ace72a598b9cabfc3d6f6760895e893fd":[5,0,0,1,0,2,30],
-"config_8hpp.html#adfde9bd005e6ec6b3f42492b758a99d3":[5,0,0,1,0,2,5],
-"config_8hpp.html#ae0ffcd967fa2fb3f8acaf39cf7b75d8d":[5,0,0,1,0,2,16],
-"config_8hpp.html#aebebb7d8d2589a39eba3e0e84cb26559":[5,0,0,1,0,2,3],
-"config_8hpp.html#af65fb3311b32b8757c3b7ebdd045afe9":[5,0,0,1,0,2,28],
-"config_8hpp.html#afdf0fdef0021246266b073c4caf8abea":[5,0,0,1,0,2,19],
-"deadline_8h.html":[5,0,0,1,0,3],
-"deadline_8h.html#a8248d979e402cb0538f7f6f2840b55c1":[5,0,0,1,0,3,1],
-"deadline_8h.html#a9ad4e75918453ebe2365378d3d04dce0":[5,0,0,1,0,3,2],
-"dir_1bdb7a6f6f947180459b1da442728237.html":[5,0,0,1,0,0,0],
-"dir_2e3f7bf739bad988e6850471c071ba11.html":[5,0,0,1,0,0],
-"dir_9ffbcff25eb6a2bb8ed044f6c5d983c9.html":[5,0,0,1],
-"dir_c1befcc047da237f65397416de160f2e.html":[5,0,0,0],
-"dir_d44c64559bbebec7f509842c48db8b23.html":[5,0,0],
-"dir_e5b117e9e5b89263e91174673bb00c84.html":[5,0,0,1,0,0,1],
-"dir_ff8d8ad368a820031e12dd9b12d79036.html":[5,0,0,1,0],
-"directory__handle_8hpp.html":[5,0,0,1,0,4],
-"directory__handle_8hpp.html#a026590e0aff0af0331ec8f8308e56724":[5,0,0,1,0,4,6],
-"directory__handle_8hpp.html#a2fd0d67b7d28699d16f6a3666a62a5bf":[5,0,0,1,0,4,9],
-"directory__handle_8hpp.html#a3d112d170c1d485e1120de06eef02375":[5,0,0,1,0,4,5],
-"directory__handle_8hpp.html#ad574b7ae82e4a082a7d5703097d65e92":[5,0,0,1,0,4,8],
-"directory__handle_8hpp.html#addbdc12d4993a8ee40c105a02a105a61":[5,0,0,1,0,4,10],
-"directory__handle_8hpp.html#ae5dd820167e77b7caf7ec921f0c6e8c9":[5,0,0,1,0,4,7],
-"fast__random__file__handle_8hpp.html":[5,0,0,1,0,5],
-"file__handle_8hpp.html":[5,0,0,1,0,6],
-"file__handle_8hpp.html#a16ee1bea5a5791ecde266420e00fba81":[5,0,0,1,0,6,10],
-"file__handle_8hpp.html#a1759f4cee184d433f4446a39ff8bfa02":[5,0,0,1,0,6,4],
-"file__handle_8hpp.html#a2542466a055a0c024dee2704e9e32519":[5,0,0,1,0,6,7],
-"file__handle_8hpp.html#a5bc9df0fdb554e757d14cf40af0bbb4e":[5,0,0,1,0,6,5],
-"file__handle_8hpp.html#a6f9a72b547dc542401a2d17b1c1e2e15":[5,0,0,1,0,6,2],
-"file__handle_8hpp.html#a70d9ef3b988a880d171015b754bb7b27":[5,0,0,1,0,6,8],
-"file__handle_8hpp.html#ac8d9dc908fe39f9c896e99f6b7a39d81":[5,0,0,1,0,6,9],
"file__handle_8hpp.html#ad0fb15649a46da0d75b5797bfda8dc2e":[5,0,0,1,0,6,11],
"file__handle_8hpp.html#af31a062639499a79ef5cc8aed16ba65d":[5,0,0,1,0,6,3],
"file__handle_8hpp.html#af678f58d20e1f0962ff0744150342683":[5,0,0,1,0,6,6],
@@ -136,18 +10,17 @@ var NAVTREEINDEX6 =
"fs__handle_8hpp.html#a60fa5c64c83ce05c8287c5379d082e49":[5,0,0,1,0,7,2],
"functions.html":[4,3,0],
"functions.html":[4,3,0,0],
-"functions_0x7e.html":[4,3,0,23],
+"functions_0x7e.html":[4,3,0,24],
"functions_a.html":[4,3,0,1],
"functions_b.html":[4,3,0,2],
"functions_c.html":[4,3,0,3],
"functions_d.html":[4,3,0,4],
"functions_e.html":[4,3,0,5],
"functions_enum.html":[4,3,4],
-"functions_eval.html":[4,3,5],
"functions_f.html":[4,3,0,6],
"functions_func.html":[4,3,1,0],
"functions_func.html":[4,3,1],
-"functions_func_0x7e.html":[4,3,1,22],
+"functions_func_0x7e.html":[4,3,1,23],
"functions_func_a.html":[4,3,1,1],
"functions_func_b.html":[4,3,1,2],
"functions_func_c.html":[4,3,1,3],
@@ -162,13 +35,14 @@ var NAVTREEINDEX6 =
"functions_func_n.html":[4,3,1,12],
"functions_func_o.html":[4,3,1,13],
"functions_func_p.html":[4,3,1,14],
-"functions_func_r.html":[4,3,1,15],
-"functions_func_s.html":[4,3,1,16],
-"functions_func_t.html":[4,3,1,17],
-"functions_func_u.html":[4,3,1,18],
-"functions_func_v.html":[4,3,1,19],
-"functions_func_w.html":[4,3,1,20],
-"functions_func_z.html":[4,3,1,21],
+"functions_func_q.html":[4,3,1,15],
+"functions_func_r.html":[4,3,1,16],
+"functions_func_s.html":[4,3,1,17],
+"functions_func_t.html":[4,3,1,18],
+"functions_func_u.html":[4,3,1,19],
+"functions_func_v.html":[4,3,1,20],
+"functions_func_w.html":[4,3,1,21],
+"functions_func_z.html":[4,3,1,22],
"functions_h.html":[4,3,0,7],
"functions_i.html":[4,3,0,8],
"functions_k.html":[4,3,0,9],
@@ -177,23 +51,24 @@ var NAVTREEINDEX6 =
"functions_n.html":[4,3,0,12],
"functions_o.html":[4,3,0,13],
"functions_p.html":[4,3,0,14],
-"functions_r.html":[4,3,0,15],
-"functions_s.html":[4,3,0,16],
-"functions_t.html":[4,3,0,17],
+"functions_q.html":[4,3,0,15],
+"functions_r.html":[4,3,0,16],
+"functions_s.html":[4,3,0,17],
+"functions_t.html":[4,3,0,18],
"functions_type.html":[4,3,3],
-"functions_u.html":[4,3,0,18],
-"functions_v.html":[4,3,0,19],
+"functions_u.html":[4,3,0,19],
+"functions_v.html":[4,3,0,20],
"functions_vars.html":[4,3,2],
-"functions_w.html":[4,3,0,20],
-"functions_x.html":[4,3,0,21],
-"functions_z.html":[4,3,0,22],
+"functions_w.html":[4,3,0,21],
+"functions_x.html":[4,3,0,22],
+"functions_z.html":[4,3,0,23],
"globals.html":[5,1,0],
"globals_defs.html":[5,1,1],
"group__config.html":[2,0],
"group__config.html#ga090b0d323b6d7d2496dba7aa42068013":[5,0,0,1,2,8],
"group__config.html#ga090b0d323b6d7d2496dba7aa42068013":[2,0,20],
-"group__config.html#ga18295c2601f9e6cb9e759d57fa0d8ab4":[5,0,0,1,2,9],
"group__config.html#ga18295c2601f9e6cb9e759d57fa0d8ab4":[2,0,21],
+"group__config.html#ga18295c2601f9e6cb9e759d57fa0d8ab4":[5,0,0,1,2,9],
"group__config.html#ga1d39516e3f1380b0d2906629a8add07c":[5,0,0,0,0,11],
"group__config.html#ga1d39516e3f1380b0d2906629a8add07c":[2,0,4],
"group__config.html#ga2e45ede29ed7b2aa06eb19aff2485541":[2,0,11],
@@ -202,16 +77,16 @@ var NAVTREEINDEX6 =
"group__config.html#ga33014e3ba68fc774bc1ebc1d88b1dae3":[2,0,0],
"group__config.html#ga40c15a3fc44361077b478acbfaca18ee":[5,0,0,1,0,2,9],
"group__config.html#ga40c15a3fc44361077b478acbfaca18ee":[2,0,8],
-"group__config.html#ga48fcb899a9d482d406f8fdbebc791ba0":[5,0,0,1,0,2,7],
"group__config.html#ga48fcb899a9d482d406f8fdbebc791ba0":[2,0,6],
-"group__config.html#ga5365e6c96107a8e7edf6030462562cae":[2,0,5],
+"group__config.html#ga48fcb899a9d482d406f8fdbebc791ba0":[5,0,0,1,0,2,7],
"group__config.html#ga5365e6c96107a8e7edf6030462562cae":[5,0,0,1,0,2,6],
-"group__config.html#ga797a3aa85bda51271100fe47cecf2058":[2,0,3],
+"group__config.html#ga5365e6c96107a8e7edf6030462562cae":[2,0,5],
"group__config.html#ga797a3aa85bda51271100fe47cecf2058":[5,0,0,0,0,10],
+"group__config.html#ga797a3aa85bda51271100fe47cecf2058":[2,0,3],
"group__config.html#ga799d6ef19b741b67d019652e4acc271f":[2,0,9],
"group__config.html#ga799d6ef19b741b67d019652e4acc271f":[5,0,0,1,0,2,10],
-"group__config.html#ga84df5d479525cd6b58f873c2f9869b22":[5,0,0,1,0,2,25],
"group__config.html#ga84df5d479525cd6b58f873c2f9869b22":[2,0,16],
+"group__config.html#ga84df5d479525cd6b58f873c2f9869b22":[5,0,0,1,0,2,25],
"group__config.html#ga86edeb2887d8f97f8b93005f08e46c80":[5,0,0,0,0,9],
"group__config.html#ga86edeb2887d8f97f8b93005f08e46c80":[2,0,2],
"group__config.html#ga8a15603141e848a1816c1758b9436287":[2,0,1],
@@ -228,12 +103,12 @@ var NAVTREEINDEX6 =
"group__config.html#gac9f7f0153adb9034d26c4554728f817a":[5,0,0,1,0,2,23],
"group__config.html#gacac3045524a50876c1bc6068bd6237f0":[2,0,18],
"group__config.html#gacac3045524a50876c1bc6068bd6237f0":[5,0,0,1,2,6],
-"group__config.html#gad270840dbd547a75ad62d48e93412ca7":[2,0,7],
"group__config.html#gad270840dbd547a75ad62d48e93412ca7":[5,0,0,1,0,2,8],
+"group__config.html#gad270840dbd547a75ad62d48e93412ca7":[2,0,7],
"group__config.html#gae1eb04a1ef4089291c04f60a66b9849e":[5,0,0,1,0,2,24],
"group__config.html#gae1eb04a1ef4089291c04f60a66b9849e":[2,0,15],
-"group__config.html#gaf958c6b17b345d3b84043bf7352451f2":[5,0,0,1,0,2,12],
"group__config.html#gaf958c6b17b345d3b84043bf7352451f2":[2,0,10],
+"group__config.html#gaf958c6b17b345d3b84043bf7352451f2":[5,0,0,1,0,2,12],
"handle_8hpp.html":[5,0,0,1,0,8],
"handle_8hpp.html#a4888fb3be6e332367f3ee046f869a8f8":[5,0,0,1,0,8,7],
"handle_8hpp.html#a56405b7c7f5ca46e6564ce295a87fc87":[5,0,0,1,0,8,8],
@@ -246,8 +121,133 @@ var NAVTREEINDEX6 =
"hierarchy.html":[4,2],
"index.html":[],
"io__handle_8hpp.html":[5,0,0,1,0,9],
-"io__handle_8hpp.html#a225e15680392dfa9e1dda42afcc09672":[5,0,0,1,0,9,7],
-"io__handle_8hpp.html#a4fad22759dab40321cabd37c755880fe":[5,0,0,1,0,9,6],
-"io__handle_8hpp.html#a5a8908704c9988bbecc69c2359e6fd4a":[5,0,0,1,0,9,8],
-"io__handle_8hpp.html#a5ea3d93e8b2c7f6e3fca7a9cde734312":[5,0,0,1,0,9,9]
+"io__handle_8hpp.html#a225e15680392dfa9e1dda42afcc09672":[5,0,0,1,0,9,6],
+"io__handle_8hpp.html#a5a8908704c9988bbecc69c2359e6fd4a":[5,0,0,1,0,9,7],
+"io__handle_8hpp.html#a5ea3d93e8b2c7f6e3fca7a9cde734312":[5,0,0,1,0,9,8],
+"io__service_8hpp.html":[5,0,0,1,0,10],
+"io__service_8hpp.html#a194acf5c39b199b59acafded3b2015b8":[5,0,0,1,0,10,2],
+"io__service_8hpp.html#a2195d9a60e427e96cb90a7bb95f1b773":[5,0,0,1,0,10,3],
+"io__service_8hpp.html#ab7ceb2549e8eeb033d1cdc8ea565a280":[5,0,0,1,0,10,5],
+"io__service_8hpp.html#af5cfb661784f372559747708772b9106":[5,0,0,1,0,10,4],
+"kvstore_8hpp.html":[5,0,0,0,0],
+"kvstore_8hpp.html#a09144ea19f3c63cd0dab9177ae073447":[5,0,0,0,0,23],
+"kvstore_8hpp.html#a466cf9673cdcc87c5f0d24f36f433924":[5,0,0,0,0,20],
+"kvstore_8hpp.html#a6e486d7b17da9677f0218b106b1f3817":[5,0,0,0,0,22],
+"kvstore_8hpp.html#a793e650666d8d8f95be813271ceaf8a6":[5,0,0,0,0,21],
+"kvstore_8hpp.html#a7bc2f2673bddc429b098b16e413deb5f":[5,0,0,0,0,19],
+"kvstore_8hpp.html#a7bc2f2673bddc429b098b16e413deb5fa203fd50f72dbec98aa499192e1844fc8":[5,0,0,0,0,19,4],
+"kvstore_8hpp.html#a7bc2f2673bddc429b098b16e413deb5fa260ca9dd8a4577fc00b7bd5810298076":[5,0,0,0,0,19,0],
+"kvstore_8hpp.html#a7bc2f2673bddc429b098b16e413deb5fa4ab2ea6999620ebeb2367865909977ab":[5,0,0,0,0,19,1],
+"kvstore_8hpp.html#a7bc2f2673bddc429b098b16e413deb5fa88845d2baf0c5f2c895cd23bd72e3b07":[5,0,0,0,0,19,2],
+"kvstore_8hpp.html#a7bc2f2673bddc429b098b16e413deb5fadfa4eb2805883a2c1653229e6c18aa70":[5,0,0,0,0,19,3],
+"kvstore_8hpp.html#ab1cb4cfee6dbf78f171a131a0019a477":[5,0,0,0,0,13],
+"kvstore_8hpp.html#ab44821c2769b974fa40319f77b913f9d":[5,0,0,0,0,18],
+"kvstore_8hpp.html#ab623a6b882a8f334d0ac43dfbfb72408":[5,0,0,0,0,24],
+"kvstore_8hpp.html#ab6addfdbe96f246408c6dec238bb4ee9":[5,0,0,0,0,15],
+"kvstore_8hpp.html#abfefe66b118efa5984bfeea73333006b":[5,0,0,0,0,16],
+"kvstore_8hpp.html#ad464f951f0250c13c513f131f4571f2e":[5,0,0,0,0,17],
+"kvstore_8hpp.html#adb5cffe293f00d60233dfe7b3467b5e9":[5,0,0,0,0,14],
+"kvstore_8hpp.html#ae62caff72991c75f69dee4aab63ea0ff":[5,0,0,0,0,12],
+"llfio_8hpp.html":[5,0,0,1,1],
+"llfio_8hpp.html#aa86b9d7f8bd243de24fa7077a1f31a65":[5,0,0,1,1,0],
+"llfio_8hpp.html#ad2355e889e3d2e599f26847898c3981b":[5,0,0,1,1,2],
+"llfio_8hpp.html#add07585a12827be7f924cf06982091b6":[5,0,0,1,1,1],
+"llfio_8hpp.html#af8824fe4ddf44b85f7c0609a3535c9d3":[5,0,0,1,1,3],
+"lock__files_8hpp.html":[5,0,0,1,0,0,1,3],
+"map__handle_8hpp.html":[5,0,0,1,0,12],
+"map__handle_8hpp.html#a28060698d23344a5ece73336a9cf49c2":[5,0,0,1,0,12,19],
+"map__handle_8hpp.html#a30183de3590a31b5ef3b2952f700b110":[5,0,0,1,0,12,5],
+"map__handle_8hpp.html#a3d55c0a3b567c7ed05053a94750bb133":[5,0,0,1,0,12,16],
+"map__handle_8hpp.html#a5323ac4d73623d99f92109a5c184e5dd":[5,0,0,1,0,12,17],
+"map__handle_8hpp.html#a681ed7e98ac17e6bb336b9287365141b":[5,0,0,1,0,12,22],
+"map__handle_8hpp.html#a70e68bcf05636966ffefe001b903487e":[5,0,0,1,0,12,8],
+"map__handle_8hpp.html#a8231f6ba00d0d5840b47981ecc148e51":[5,0,0,1,0,12,21],
+"map__handle_8hpp.html#a86f75b69db68e6c0593919f0a878f838":[5,0,0,1,0,12,11],
+"map__handle_8hpp.html#a96135062edc7cb1fa33460ff521498f5":[5,0,0,1,0,12,6],
+"map__handle_8hpp.html#aa3676f0dd69f4b54cf7e14e3f86d32b9":[5,0,0,1,0,12,7],
+"map__handle_8hpp.html#aa6b0c71dfe04ceae64818d4c91d05537":[5,0,0,1,0,12,20],
+"map__handle_8hpp.html#aaf60dc6739dc2bd7d890630b1a50d15a":[5,0,0,1,0,12,12],
+"map__handle_8hpp.html#ab50d07405d17a8fff4e360fd2612bc6f":[5,0,0,1,0,12,9],
+"map__handle_8hpp.html#ab993693c98cdb52e2d611f8f9e24e4e2":[5,0,0,1,0,12,14],
+"map__handle_8hpp.html#ab9dbbe2fe79758ef87fe2dd1f61d824c":[5,0,0,1,0,12,10],
+"map__handle_8hpp.html#abfe725f4e0abd521a7aa319a6d567e44":[5,0,0,1,0,12,18],
+"map__handle_8hpp.html#ac9be77116e7a2d8c029dd066dfa363fb":[5,0,0,1,0,12,15],
+"map__handle_8hpp.html#acaa74d6fc6b9aef877233654f514041d":[5,0,0,1,0,12,13],
+"mapped_8hpp.html":[5,0,0,1,0,13],
+"mapped__file__handle_8hpp.html":[5,0,0,1,0,14],
+"mapped__file__handle_8hpp.html#a1f0ccde00add2f09579151fd71b8f06d":[5,0,0,1,0,14,5],
+"mapped__file__handle_8hpp.html#a3eb3e8ef0ddff1270b3d78d4178335c7":[5,0,0,1,0,14,7],
+"mapped__file__handle_8hpp.html#a6aaeb9bab04b1dd25fca172623df8dfc":[5,0,0,1,0,14,6],
+"mapped__file__handle_8hpp.html#a88517fa902d830cf56c032fa5470c89b":[5,0,0,1,0,14,8],
+"mapped__file__handle_8hpp.html#a933649fdb097431a1b84360b9a5ed5c4":[5,0,0,1,0,14,3],
+"mapped__file__handle_8hpp.html#abddc6cd762be581f04b00837a8a91730":[5,0,0,1,0,14,4],
+"mapped__file__handle_8hpp.html#acda211a674e09531226be56691136f7c":[5,0,0,1,0,14,9],
+"md__build.html":[0],
+"memory__map_8hpp.html":[5,0,0,1,0,0,1,4],
+"modules.html":[2],
+"namespacekvstore__v1__xxx.html":[4,0,1],
+"namespacekvstore__v1__xxx.html":[3,0,0],
+"namespacekvstore__v1__xxx_1_1traits.html":[4,0,1,0],
+"namespacekvstore__v1__xxx_1_1traits.html":[3,0,0,0],
+"namespacellfio__v2__xxx.html":[3,0,1],
+"namespacellfio__v2__xxx.html":[4,0,2],
+"namespacellfio__v2__xxx_1_1algorithm.html":[4,0,2,0],
+"namespacellfio__v2__xxx_1_1algorithm.html":[3,0,1,0],
+"namespacellfio__v2__xxx_1_1algorithm_1_1impl.html":[3,0,1,0,0],
+"namespacellfio__v2__xxx_1_1algorithm_1_1impl.html":[4,0,2,0,0],
+"namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html":[4,0,2,0,1],
+"namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html":[3,0,1,0,1],
+"namespacellfio__v2__xxx_1_1path__discovery.html":[3,0,1,1],
+"namespacellfio__v2__xxx_1_1path__discovery.html":[4,0,2,1],
+"namespacellfio__v2__xxx_1_1storage__profile.html":[3,0,1,2],
+"namespacellfio__v2__xxx_1_1storage__profile.html":[4,0,2,2],
+"namespacellfio__v2__xxx_1_1utils.html":[4,0,2,3],
+"namespacellfio__v2__xxx_1_1utils.html":[3,0,1,3],
+"namespacemembers.html":[3,1,0],
+"namespacemembers_enum.html":[3,1,3],
+"namespacemembers_func.html":[3,1,1],
+"namespacemembers_type.html":[3,1,2],
+"namespaces.html":[3,0],
+"native__handle__type_8hpp.html":[5,0,0,1,0,15],
+"pages.html":[],
+"path__discovery_8hpp.html":[5,0,0,1,0,16],
+"path__discovery_8hpp.html#a2dd74ea752f3f511d58ccccdcac7f4fd":[5,0,0,1,0,16,4],
+"path__discovery_8hpp.html#a876db6e58143e730afd0706226f39d6c":[5,0,0,1,0,16,3],
+"path__discovery_8hpp.html#ab3c4aaa0c413e4989461ab6551058583":[5,0,0,1,0,16,5],
+"path__discovery_8hpp.html#ada0466e529e851d2d58ce87e0e28f4f2":[5,0,0,1,0,16,1],
+"path__discovery_8hpp.html#ade18f14d3ef37488e8967c87faa04d29":[5,0,0,1,0,16,2],
+"path__handle_8hpp.html":[5,0,0,1,0,17],
+"path__handle_8hpp.html#a49f7bb77eb38fbe1280019225b66b78b":[5,0,0,1,0,17,2],
+"path__handle_8hpp.html#ad8b12afdd4c80d69d2530bd40f92427c":[5,0,0,1,0,17,3],
+"path__view_8hpp.html":[5,0,0,1,0,18],
+"path__view_8hpp.html#a0247c61a58f54b12119505f6b12aef2b":[5,0,0,1,0,18,6],
+"path__view_8hpp.html#a1a87ccbad410cda08b1b14566aad2332":[5,0,0,1,0,18,5],
+"path__view_8hpp.html#a24c9ba461630fe02b8c818df8b4f0402":[5,0,0,1,0,18,3],
+"path__view_8hpp.html#a3ff493fb21f2aafa6092cf641f26ca60":[5,0,0,1,0,18,10],
+"path__view_8hpp.html#a5c60a01d705fafd6036d346c883c96a0":[5,0,0,1,0,18,7],
+"path__view_8hpp.html#a6a0ac4fab49a443e85a51abe2f2e5156":[5,0,0,1,0,18,4],
+"path__view_8hpp.html#aa42db078a374a94dabbda3a2ba3ba39f":[5,0,0,1,0,18,9],
+"path__view_8hpp.html#ac16ee9cb1bc5e0bd102f21eedc79aaeb":[5,0,0,1,0,18,2],
+"path__view_8hpp.html#ac9e1bf32080cf8be3406ad96e9516e61":[5,0,0,1,0,18,8],
+"safe__byte__ranges_8hpp.html":[5,0,0,1,0,0,1,5],
+"safe__byte__ranges_8hpp.html#a1a7e9cda94a1f38463e2e42af75c3e21":[5,0,0,1,0,0,1,5,1],
+"stat_8hpp.html":[5,0,0,1,0,19],
+"statfs_8hpp.html":[5,0,0,1,0,20],
+"storage__profile_8hpp.html":[5,0,0,1,0,21],
+"storage__profile_8hpp.html#a064c04652078a531d09bc211f000e170":[5,0,0,1,0,21,40],
+"storage__profile_8hpp.html#a1988d45c2205489a1bf78b1ef370611a":[5,0,0,1,0,21,27],
+"storage__profile_8hpp.html#a1ab8930f9a1f27aaab838eb81bb521e0":[5,0,0,1,0,21,37],
+"storage__profile_8hpp.html#a2764c70097b1977e3cb7a750779102ae":[5,0,0,1,0,21,30],
+"storage__profile_8hpp.html#a2be36be3a6e4a8e892f34666642d7ceb":[5,0,0,1,0,21,19],
+"storage__profile_8hpp.html#a2e4f5748492573bf1dcf63bf89421c32":[5,0,0,1,0,21,26],
+"storage__profile_8hpp.html#a42ddc873c6d7178340a72417d1cc42b3":[5,0,0,1,0,21,23],
+"storage__profile_8hpp.html#a51c017aed8f7fe2568fa29506ac03e43":[5,0,0,1,0,21,45],
+"storage__profile_8hpp.html#a5a4d0eb211dde145cc65f78c4105644b":[5,0,0,1,0,21,43],
+"storage__profile_8hpp.html#a600823f44a0965dd6b0b82866e888f1e":[5,0,0,1,0,21,29],
+"storage__profile_8hpp.html#a62ea39b41b0ae8ffd6e78db0ff9a819e":[5,0,0,1,0,21,39],
+"storage__profile_8hpp.html#a6ddb7c2bee277fc16207b7e8cb05693f":[5,0,0,1,0,21,4],
+"storage__profile_8hpp.html#a72a7277d9ca13177b87462f57f4f8b6b":[5,0,0,1,0,21,33],
+"storage__profile_8hpp.html#a789770254f4c4170e6bbb8dea9f7eec6":[5,0,0,1,0,21,9],
+"storage__profile_8hpp.html#a79927d0371baaf191dac6acb2fb58dbb":[5,0,0,1,0,21,22],
+"storage__profile_8hpp.html#a7a10e1dc2748e68d0bcdf322e57ee3e4":[5,0,0,1,0,21,38]
};
diff --git a/navtreeindex7.js b/navtreeindex7.js
index dd8684a2..1149018a 100644
--- a/navtreeindex7.js
+++ b/navtreeindex7.js
@@ -1,164 +1,38 @@
var NAVTREEINDEX7 =
{
-"io__service_8hpp.html":[5,0,0,1,0,10],
-"io__service_8hpp.html#a194acf5c39b199b59acafded3b2015b8":[5,0,0,1,0,10,2],
-"io__service_8hpp.html#a2195d9a60e427e96cb90a7bb95f1b773":[5,0,0,1,0,10,3],
-"io__service_8hpp.html#ab7ceb2549e8eeb033d1cdc8ea565a280":[5,0,0,1,0,10,5],
-"io__service_8hpp.html#af5cfb661784f372559747708772b9106":[5,0,0,1,0,10,4],
-"kvstore_8hpp.html":[5,0,0,0,0],
-"kvstore_8hpp.html#a09144ea19f3c63cd0dab9177ae073447":[5,0,0,0,0,23],
-"kvstore_8hpp.html#a466cf9673cdcc87c5f0d24f36f433924":[5,0,0,0,0,20],
-"kvstore_8hpp.html#a6e486d7b17da9677f0218b106b1f3817":[5,0,0,0,0,22],
-"kvstore_8hpp.html#a793e650666d8d8f95be813271ceaf8a6":[5,0,0,0,0,21],
-"kvstore_8hpp.html#a7bc2f2673bddc429b098b16e413deb5f":[5,0,0,0,0,19],
-"kvstore_8hpp.html#a7bc2f2673bddc429b098b16e413deb5fa203fd50f72dbec98aa499192e1844fc8":[5,0,0,0,0,19,4],
-"kvstore_8hpp.html#a7bc2f2673bddc429b098b16e413deb5fa260ca9dd8a4577fc00b7bd5810298076":[5,0,0,0,0,19,0],
-"kvstore_8hpp.html#a7bc2f2673bddc429b098b16e413deb5fa4ab2ea6999620ebeb2367865909977ab":[5,0,0,0,0,19,1],
-"kvstore_8hpp.html#a7bc2f2673bddc429b098b16e413deb5fa88845d2baf0c5f2c895cd23bd72e3b07":[5,0,0,0,0,19,2],
-"kvstore_8hpp.html#a7bc2f2673bddc429b098b16e413deb5fadfa4eb2805883a2c1653229e6c18aa70":[5,0,0,0,0,19,3],
-"kvstore_8hpp.html#ab1cb4cfee6dbf78f171a131a0019a477":[5,0,0,0,0,13],
-"kvstore_8hpp.html#ab44821c2769b974fa40319f77b913f9d":[5,0,0,0,0,18],
-"kvstore_8hpp.html#ab623a6b882a8f334d0ac43dfbfb72408":[5,0,0,0,0,24],
-"kvstore_8hpp.html#ab6addfdbe96f246408c6dec238bb4ee9":[5,0,0,0,0,15],
-"kvstore_8hpp.html#abfefe66b118efa5984bfeea73333006b":[5,0,0,0,0,16],
-"kvstore_8hpp.html#ad464f951f0250c13c513f131f4571f2e":[5,0,0,0,0,17],
-"kvstore_8hpp.html#adb5cffe293f00d60233dfe7b3467b5e9":[5,0,0,0,0,14],
-"kvstore_8hpp.html#ae62caff72991c75f69dee4aab63ea0ff":[5,0,0,0,0,12],
-"llfio_8hpp.html":[5,0,0,1,1],
-"llfio_8hpp.html#aa86b9d7f8bd243de24fa7077a1f31a65":[5,0,0,1,1,0],
-"llfio_8hpp.html#ad2355e889e3d2e599f26847898c3981b":[5,0,0,1,1,2],
-"llfio_8hpp.html#add07585a12827be7f924cf06982091b6":[5,0,0,1,1,1],
-"llfio_8hpp.html#af8824fe4ddf44b85f7c0609a3535c9d3":[5,0,0,1,1,3],
-"lock__files_8hpp.html":[5,0,0,1,0,0,1,3],
-"map__handle_8hpp.html":[5,0,0,1,0,12],
-"map__handle_8hpp.html#a28060698d23344a5ece73336a9cf49c2":[5,0,0,1,0,12,20],
-"map__handle_8hpp.html#a30183de3590a31b5ef3b2952f700b110":[5,0,0,1,0,12,6],
-"map__handle_8hpp.html#a3d55c0a3b567c7ed05053a94750bb133":[5,0,0,1,0,12,17],
-"map__handle_8hpp.html#a5323ac4d73623d99f92109a5c184e5dd":[5,0,0,1,0,12,18],
-"map__handle_8hpp.html#a681ed7e98ac17e6bb336b9287365141b":[5,0,0,1,0,12,23],
-"map__handle_8hpp.html#a70e68bcf05636966ffefe001b903487e":[5,0,0,1,0,12,9],
-"map__handle_8hpp.html#a8231f6ba00d0d5840b47981ecc148e51":[5,0,0,1,0,12,22],
-"map__handle_8hpp.html#a86f75b69db68e6c0593919f0a878f838":[5,0,0,1,0,12,12],
-"map__handle_8hpp.html#a96135062edc7cb1fa33460ff521498f5":[5,0,0,1,0,12,7],
-"map__handle_8hpp.html#aa3676f0dd69f4b54cf7e14e3f86d32b9":[5,0,0,1,0,12,8],
-"map__handle_8hpp.html#aa6b0c71dfe04ceae64818d4c91d05537":[5,0,0,1,0,12,21],
-"map__handle_8hpp.html#aaf60dc6739dc2bd7d890630b1a50d15a":[5,0,0,1,0,12,13],
-"map__handle_8hpp.html#ab26180c1aada3315a46564d6477bea72":[5,0,0,1,0,12,5],
-"map__handle_8hpp.html#ab50d07405d17a8fff4e360fd2612bc6f":[5,0,0,1,0,12,10],
-"map__handle_8hpp.html#ab993693c98cdb52e2d611f8f9e24e4e2":[5,0,0,1,0,12,15],
-"map__handle_8hpp.html#ab9dbbe2fe79758ef87fe2dd1f61d824c":[5,0,0,1,0,12,11],
-"map__handle_8hpp.html#abfe725f4e0abd521a7aa319a6d567e44":[5,0,0,1,0,12,19],
-"map__handle_8hpp.html#ac9be77116e7a2d8c029dd066dfa363fb":[5,0,0,1,0,12,16],
-"map__handle_8hpp.html#acaa74d6fc6b9aef877233654f514041d":[5,0,0,1,0,12,14],
-"mapped_8hpp.html":[5,0,0,1,0,13],
-"mapped__file__handle_8hpp.html":[5,0,0,1,0,14],
-"mapped__file__handle_8hpp.html#a1f0ccde00add2f09579151fd71b8f06d":[5,0,0,1,0,14,5],
-"mapped__file__handle_8hpp.html#a3eb3e8ef0ddff1270b3d78d4178335c7":[5,0,0,1,0,14,7],
-"mapped__file__handle_8hpp.html#a6aaeb9bab04b1dd25fca172623df8dfc":[5,0,0,1,0,14,6],
-"mapped__file__handle_8hpp.html#a88517fa902d830cf56c032fa5470c89b":[5,0,0,1,0,14,8],
-"mapped__file__handle_8hpp.html#a933649fdb097431a1b84360b9a5ed5c4":[5,0,0,1,0,14,3],
-"mapped__file__handle_8hpp.html#abddc6cd762be581f04b00837a8a91730":[5,0,0,1,0,14,4],
-"mapped__file__handle_8hpp.html#acda211a674e09531226be56691136f7c":[5,0,0,1,0,14,9],
-"md__build.html":[0],
-"memory__map_8hpp.html":[5,0,0,1,0,0,1,4],
-"modules.html":[2],
-"namespacekvstore__v1__xxx.html":[3,0,0],
-"namespacekvstore__v1__xxx.html":[4,0,1],
-"namespacekvstore__v1__xxx_1_1traits.html":[3,0,0,0],
-"namespacekvstore__v1__xxx_1_1traits.html":[4,0,1,0],
-"namespacellfio__v2__xxx.html":[3,0,1],
-"namespacellfio__v2__xxx.html":[4,0,2],
-"namespacellfio__v2__xxx_1_1algorithm.html":[3,0,1,0],
-"namespacellfio__v2__xxx_1_1algorithm.html":[4,0,2,0],
-"namespacellfio__v2__xxx_1_1algorithm_1_1impl.html":[3,0,1,0,0],
-"namespacellfio__v2__xxx_1_1algorithm_1_1impl.html":[4,0,2,0,0],
-"namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html":[3,0,1,0,1],
-"namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html":[4,0,2,0,1],
-"namespacellfio__v2__xxx_1_1path__discovery.html":[3,0,1,1],
-"namespacellfio__v2__xxx_1_1path__discovery.html":[4,0,2,1],
-"namespacellfio__v2__xxx_1_1storage__profile.html":[4,0,2,2],
-"namespacellfio__v2__xxx_1_1storage__profile.html":[3,0,1,2],
-"namespacellfio__v2__xxx_1_1utils.html":[3,0,1,3],
-"namespacellfio__v2__xxx_1_1utils.html":[4,0,2,3],
-"namespacemembers.html":[3,1,0],
-"namespacemembers_enum.html":[3,1,3],
-"namespacemembers_func.html":[3,1,1],
-"namespacemembers_type.html":[3,1,2],
-"namespaces.html":[3,0],
-"native__handle__type_8hpp.html":[5,0,0,1,0,15],
-"pages.html":[],
-"path__discovery_8hpp.html":[5,0,0,1,0,16],
-"path__discovery_8hpp.html#a2dd74ea752f3f511d58ccccdcac7f4fd":[5,0,0,1,0,16,4],
-"path__discovery_8hpp.html#a876db6e58143e730afd0706226f39d6c":[5,0,0,1,0,16,3],
-"path__discovery_8hpp.html#ab3c4aaa0c413e4989461ab6551058583":[5,0,0,1,0,16,5],
-"path__discovery_8hpp.html#ada0466e529e851d2d58ce87e0e28f4f2":[5,0,0,1,0,16,1],
-"path__discovery_8hpp.html#ade18f14d3ef37488e8967c87faa04d29":[5,0,0,1,0,16,2],
-"path__handle_8hpp.html":[5,0,0,1,0,17],
-"path__handle_8hpp.html#a49f7bb77eb38fbe1280019225b66b78b":[5,0,0,1,0,17,2],
-"path__handle_8hpp.html#ad8b12afdd4c80d69d2530bd40f92427c":[5,0,0,1,0,17,3],
-"path__view_8hpp.html":[5,0,0,1,0,18],
-"path__view_8hpp.html#a0247c61a58f54b12119505f6b12aef2b":[5,0,0,1,0,18,6],
-"path__view_8hpp.html#a1a87ccbad410cda08b1b14566aad2332":[5,0,0,1,0,18,5],
-"path__view_8hpp.html#a24c9ba461630fe02b8c818df8b4f0402":[5,0,0,1,0,18,3],
-"path__view_8hpp.html#a3ff493fb21f2aafa6092cf641f26ca60":[5,0,0,1,0,18,10],
-"path__view_8hpp.html#a5c60a01d705fafd6036d346c883c96a0":[5,0,0,1,0,18,7],
-"path__view_8hpp.html#a6a0ac4fab49a443e85a51abe2f2e5156":[5,0,0,1,0,18,4],
-"path__view_8hpp.html#aa42db078a374a94dabbda3a2ba3ba39f":[5,0,0,1,0,18,9],
-"path__view_8hpp.html#ac16ee9cb1bc5e0bd102f21eedc79aaeb":[5,0,0,1,0,18,2],
-"path__view_8hpp.html#ac9e1bf32080cf8be3406ad96e9516e61":[5,0,0,1,0,18,8],
-"safe__byte__ranges_8hpp.html":[5,0,0,1,0,0,1,5],
-"safe__byte__ranges_8hpp.html#a1a7e9cda94a1f38463e2e42af75c3e21":[5,0,0,1,0,0,1,5,1],
-"stat_8hpp.html":[5,0,0,1,0,19],
-"statfs_8hpp.html":[5,0,0,1,0,20],
-"storage__profile_8hpp.html":[5,0,0,1,0,21],
-"storage__profile_8hpp.html#a064c04652078a531d09bc211f000e170":[5,0,0,1,0,21,39],
-"storage__profile_8hpp.html#a1988d45c2205489a1bf78b1ef370611a":[5,0,0,1,0,21,26],
-"storage__profile_8hpp.html#a1ab8930f9a1f27aaab838eb81bb521e0":[5,0,0,1,0,21,36],
-"storage__profile_8hpp.html#a2764c70097b1977e3cb7a750779102ae":[5,0,0,1,0,21,29],
-"storage__profile_8hpp.html#a2be36be3a6e4a8e892f34666642d7ceb":[5,0,0,1,0,21,18],
-"storage__profile_8hpp.html#a2e4f5748492573bf1dcf63bf89421c32":[5,0,0,1,0,21,25],
-"storage__profile_8hpp.html#a42ddc873c6d7178340a72417d1cc42b3":[5,0,0,1,0,21,22],
-"storage__profile_8hpp.html#a51c017aed8f7fe2568fa29506ac03e43":[5,0,0,1,0,21,44],
-"storage__profile_8hpp.html#a5a4d0eb211dde145cc65f78c4105644b":[5,0,0,1,0,21,42],
-"storage__profile_8hpp.html#a600823f44a0965dd6b0b82866e888f1e":[5,0,0,1,0,21,28],
-"storage__profile_8hpp.html#a62ea39b41b0ae8ffd6e78db0ff9a819e":[5,0,0,1,0,21,38],
-"storage__profile_8hpp.html#a72a7277d9ca13177b87462f57f4f8b6b":[5,0,0,1,0,21,32],
-"storage__profile_8hpp.html#a789770254f4c4170e6bbb8dea9f7eec6":[5,0,0,1,0,21,8],
-"storage__profile_8hpp.html#a79927d0371baaf191dac6acb2fb58dbb":[5,0,0,1,0,21,21],
-"storage__profile_8hpp.html#a7a10e1dc2748e68d0bcdf322e57ee3e4":[5,0,0,1,0,21,37],
-"storage__profile_8hpp.html#a7b5d9733608e921cfed8547f46bee4ff":[5,0,0,1,0,21,10],
-"storage__profile_8hpp.html#a7c0b397aef05f3afc91fe07ed8c54adf":[5,0,0,1,0,21,5],
-"storage__profile_8hpp.html#a8a11ed274016c78adf2904209f279d23":[5,0,0,1,0,21,6],
-"storage__profile_8hpp.html#a974992f9521e12b67597474b92876876":[5,0,0,1,0,21,13],
-"storage__profile_8hpp.html#a99367667c5b4aaaf481f87229f82f8e3":[5,0,0,1,0,21,43],
-"storage__profile_8hpp.html#a9aeced989ea59c10af9066e5f8a35dea":[5,0,0,1,0,21,40],
-"storage__profile_8hpp.html#a9c35f07dd0bcac144d54ad4779533880":[5,0,0,1,0,21,17],
-"storage__profile_8hpp.html#a9feea238482248c461b240cf0272390f":[5,0,0,1,0,21,9],
-"storage__profile_8hpp.html#aa44df5a2a3190c4d94185a234c5147a6":[5,0,0,1,0,21,7],
-"storage__profile_8hpp.html#aa4dc6d25d12156f9348e981118024ae7":[5,0,0,1,0,21,33],
-"storage__profile_8hpp.html#aac385da4b780e8a6a87444fe3579578c":[5,0,0,1,0,21,11],
-"storage__profile_8hpp.html#aaf909a231bf5202f600dee5cf687b17f":[5,0,0,1,0,21,34],
-"storage__profile_8hpp.html#ab4617a30b12ef98c811914f6d78bfa72":[5,0,0,1,0,21,31],
-"storage__profile_8hpp.html#ab51d8b1bb205563a6b82900f6de7bd63":[5,0,0,1,0,21,19],
-"storage__profile_8hpp.html#ab67a28c26fbb05ff1560c1ba6f2189ff":[5,0,0,1,0,21,41],
-"storage__profile_8hpp.html#ac47bfaf65d5d867857e4f6b57d13c571":[5,0,0,1,0,21,23],
-"storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238":[5,0,0,1,0,21,4],
-"storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238a4bc411266f0603994dc9c47c239c47b5":[5,0,0,1,0,21,4,2],
-"storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238a59b1fa3a479308121c258d4f85c97f85":[5,0,0,1,0,21,4,1],
-"storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238a8896b85dc23ac16cda3724baaeaab9ea":[5,0,0,1,0,21,4,3],
-"storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238aad921d60486366258809553a3db49a4a":[5,0,0,1,0,21,4,0],
-"storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238ab45cffe084dd3d20d928bee85e7b0f21":[5,0,0,1,0,21,4,5],
-"storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238aefe6d5085c67bc38cd3746f2dc8013e1":[5,0,0,1,0,21,4,4],
-"storage__profile_8hpp.html#ac5b059cec97280bc5e60625d3a0acd5c":[5,0,0,1,0,21,45],
-"storage__profile_8hpp.html#ad0452376213dca667960263dbb2044c2":[5,0,0,1,0,21,14],
-"storage__profile_8hpp.html#ad7b076ee267ea568cea771ad6cb40c4e":[5,0,0,1,0,21,24],
-"storage__profile_8hpp.html#ae12aeddbd8623fc0118be8d653e2ab23":[5,0,0,1,0,21,20],
-"storage__profile_8hpp.html#ae200d0e684ae1e93a474a3a2bef43a7f":[5,0,0,1,0,21,35],
-"storage__profile_8hpp.html#ae3954ddd50835459ed0485b6117126a0":[5,0,0,1,0,21,27],
-"storage__profile_8hpp.html#ae7ed1ab57b777ccf201ac1bf33ccf747":[5,0,0,1,0,21,15],
-"storage__profile_8hpp.html#aeba16d86e9c035cdd006caa6be1ab66c":[5,0,0,1,0,21,30],
-"storage__profile_8hpp.html#af3395cd9610e7eb366134a0e723ab971":[5,0,0,1,0,21,16],
-"storage__profile_8hpp.html#afc8c9aab3aef68e2bfdf76e85b22b194":[5,0,0,1,0,21,12],
+"storage__profile_8hpp.html#a7b5d9733608e921cfed8547f46bee4ff":[5,0,0,1,0,21,11],
+"storage__profile_8hpp.html#a7c0b397aef05f3afc91fe07ed8c54adf":[5,0,0,1,0,21,6],
+"storage__profile_8hpp.html#a8a11ed274016c78adf2904209f279d23":[5,0,0,1,0,21,7],
+"storage__profile_8hpp.html#a974992f9521e12b67597474b92876876":[5,0,0,1,0,21,14],
+"storage__profile_8hpp.html#a99367667c5b4aaaf481f87229f82f8e3":[5,0,0,1,0,21,44],
+"storage__profile_8hpp.html#a9aeced989ea59c10af9066e5f8a35dea":[5,0,0,1,0,21,41],
+"storage__profile_8hpp.html#a9c35f07dd0bcac144d54ad4779533880":[5,0,0,1,0,21,18],
+"storage__profile_8hpp.html#a9feea238482248c461b240cf0272390f":[5,0,0,1,0,21,10],
+"storage__profile_8hpp.html#aa44df5a2a3190c4d94185a234c5147a6":[5,0,0,1,0,21,8],
+"storage__profile_8hpp.html#aa4dc6d25d12156f9348e981118024ae7":[5,0,0,1,0,21,34],
+"storage__profile_8hpp.html#aac385da4b780e8a6a87444fe3579578c":[5,0,0,1,0,21,12],
+"storage__profile_8hpp.html#aaf909a231bf5202f600dee5cf687b17f":[5,0,0,1,0,21,35],
+"storage__profile_8hpp.html#ab4617a30b12ef98c811914f6d78bfa72":[5,0,0,1,0,21,32],
+"storage__profile_8hpp.html#ab51d8b1bb205563a6b82900f6de7bd63":[5,0,0,1,0,21,20],
+"storage__profile_8hpp.html#ab67a28c26fbb05ff1560c1ba6f2189ff":[5,0,0,1,0,21,42],
+"storage__profile_8hpp.html#ac47bfaf65d5d867857e4f6b57d13c571":[5,0,0,1,0,21,24],
+"storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238":[5,0,0,1,0,21,5],
+"storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238a4bc411266f0603994dc9c47c239c47b5":[5,0,0,1,0,21,5,2],
+"storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238a59b1fa3a479308121c258d4f85c97f85":[5,0,0,1,0,21,5,1],
+"storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238a8896b85dc23ac16cda3724baaeaab9ea":[5,0,0,1,0,21,5,3],
+"storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238aad921d60486366258809553a3db49a4a":[5,0,0,1,0,21,5,0],
+"storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238ab45cffe084dd3d20d928bee85e7b0f21":[5,0,0,1,0,21,5,5],
+"storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238aefe6d5085c67bc38cd3746f2dc8013e1":[5,0,0,1,0,21,5,4],
+"storage__profile_8hpp.html#ac5b059cec97280bc5e60625d3a0acd5c":[5,0,0,1,0,21,46],
+"storage__profile_8hpp.html#ad0452376213dca667960263dbb2044c2":[5,0,0,1,0,21,15],
+"storage__profile_8hpp.html#ad7b076ee267ea568cea771ad6cb40c4e":[5,0,0,1,0,21,25],
+"storage__profile_8hpp.html#ae12aeddbd8623fc0118be8d653e2ab23":[5,0,0,1,0,21,21],
+"storage__profile_8hpp.html#ae200d0e684ae1e93a474a3a2bef43a7f":[5,0,0,1,0,21,36],
+"storage__profile_8hpp.html#ae3954ddd50835459ed0485b6117126a0":[5,0,0,1,0,21,28],
+"storage__profile_8hpp.html#ae7ed1ab57b777ccf201ac1bf33ccf747":[5,0,0,1,0,21,16],
+"storage__profile_8hpp.html#aeba16d86e9c035cdd006caa6be1ab66c":[5,0,0,1,0,21,31],
+"storage__profile_8hpp.html#af3395cd9610e7eb366134a0e723ab971":[5,0,0,1,0,21,17],
+"storage__profile_8hpp.html#afc8c9aab3aef68e2bfdf76e85b22b194":[5,0,0,1,0,21,13],
"structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1map__handle_01_4.html":[4,0,0,0,0],
"structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1mapped__file__handle_01_4.html":[4,0,0,0,1],
"structkvstore__v1__xxx_1_1basic__key__value__store__info.html":[4,0,1,2],
@@ -172,20 +46,12 @@ var NAVTREEINDEX7 =
"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a53700b762910c0189fd240e4bc51508a":[4,0,1,2,5],
"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a55c5a2ab7632d6d6364ecabb96e97bee":[4,0,1,2,10],
"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a6a2745145078cb237fb385a7ad4681af":[4,0,1,2,6],
+"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a71bf22a199b1f8461e9612269eb2cf29":[4,0,1,2,7],
+"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a74806d5aad24bdf1607755aefd8d70b4":[4,0,1,2,8],
"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a860380a3823942caabac91e2d819b781":[4,0,1,2,11],
-"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#aa52a30f6b8dafd8720fb6b19d7df3847":[4,0,1,2,8],
+"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#aa52a30f6b8dafd8720fb6b19d7df3847":[4,0,1,2,9],
"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#aa89f3aa72d3cfd207242e7ef4ad853ed":[4,0,1,2,14],
"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#ad6c528fa5be3528fec4eaf804836f26c":[4,0,1,2,0],
-"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#adf38388186505565b7ebb4f87a6f0124":[4,0,1,2,9],
-"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54a":[4,0,1,2,7],
-"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa1d775e1c64c41a7b692458df6b7e7bb5":[4,0,1,2,7,4],
-"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa28f74a66be96d3481e374af6b741172f":[4,0,1,2,7,7],
-"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa498d5b94bbf58b2f19323f5357bbb6d9":[4,0,1,2,7,2],
-"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa5a728b7bc78a19837107974cf95a4d72":[4,0,1,2,7,6],
-"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa6c63421d928a8176a0aa653bdc1b3e43":[4,0,1,2,7,1],
-"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa78faae96b1cc136508508c90862459f0":[4,0,1,2,7,5],
-"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aac4f803736fe62535f3ee849e0a17b6a2":[4,0,1,2,7,0],
-"structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aad69fc9d7488510795a13cc87a78eb6d7":[4,0,1,2,7,3],
"structkvstore__v1__xxx_1_1traits_1_1is__attachable.html":[4,0,1,0,0],
"structkvstore__v1__xxx_1_1traits_1_1is__detachable.html":[4,0,1,0,1],
"structkvstore__v1__xxx_1_1traits_1_1is__trivially__attachable.html":[4,0,1,0,2],
@@ -249,5 +115,139 @@ var NAVTREEINDEX7 =
"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#acc36ec60a88f46e0a8d169f035121316":[4,0,2,0,0,0,50],
"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ad71fa0eddf798fb096dfdaf25af4168c":[4,0,2,0,0,0,26],
"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#adf08fa605a2613a539930c65a51511bb":[4,0,2,0,0,0,48],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#adf9cba939e2bd11a63eaffafb247163a":[4,0,2,0,0,0,55]
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#adf9cba939e2bd11a63eaffafb247163a":[4,0,2,0,0,0,55],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae539f1d862f516854859e22adad5e833":[4,0,2,0,0,0,20],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae79263dcf9faf5d3f2973ba688201f7e":[4,0,2,0,0,0,57],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aea98df8215a197c3356e5ff9098ae238":[4,0,2,0,0,0,18],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#af7813ac4dde322154b5ca70e06494905":[4,0,2,0,0,0,47],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afabb36b02ad5b92810490114f68fe7b4":[4,0,2,0,0,0,3],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afd59aa55d1e9bc3a9942f13b964badae":[4,0,2,0,0,0,42],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afff8e1a93ad371a5844543a3e782f471":[4,0,2,0,0,0,58],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html":[4,0,2,0,0,1],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0079ec33d245c84ee66b20e88866035b":[4,0,2,0,0,1,16],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a01a933a3116abd41955118b607b47bfd":[4,0,2,0,0,1,45],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a02dca783d6e23e7be0b8df620b480175":[4,0,2,0,0,1,22],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0846ca0495305ef9bbf8177c3f05998b":[4,0,2,0,0,1,11],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0be07d789edddbe8e88938cdd81c8420":[4,0,2,0,0,1,0],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0cb7623d9b4cc4c3acdad0ab030fb9c5":[4,0,2,0,0,1,46],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0d2381f6d62cb1e12970907992d5df9b":[4,0,2,0,0,1,31],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a1352dba0cee0cdf627b011e8b6a00df3":[4,0,2,0,0,1,6],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a16de143c40c148e26633f4d8ee101644":[4,0,2,0,0,1,54],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a1729693a17ace35aa4f8a29f8834e875":[4,0,2,0,0,1,1],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a19aa2b2535f9880a41f64fb43162ec9e":[4,0,2,0,0,1,57],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a231c46161cc7164fa0c610c2f61a931c":[4,0,2,0,0,1,40],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a2d09a83a6f59afb7d1f0f06ebc79e7bf":[4,0,2,0,0,1,4],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a316f0f8773d00ba317e2ec83f767f48f":[4,0,2,0,0,1,28],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a333d0e231d0b620c0bba5daea857897d":[4,0,2,0,0,1,34],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a3392be9db54104020b23c2792c63fa53":[4,0,2,0,0,1,23],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a390039f1d254156eeaaa9332b4a0fabe":[4,0,2,0,0,1,3],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a3e63c1cb08d63bb46ea73cbbae5adb07":[4,0,2,0,0,1,30],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a3fb1e66f29e8d90eec09316946d3d4f0":[4,0,2,0,0,1,59],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a3fc85e32b4db9b8d683ba47e9de4179b":[4,0,2,0,0,1,38],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a3feb4c15c7805fd403138d677953b285":[4,0,2,0,0,1,26],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a45eac1f6f721ee11caf82a22851d3f5e":[4,0,2,0,0,1,12],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a499cc1593d16f042c2d3266b8e0c205a":[4,0,2,0,0,1,10],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a4d7c7541169fc5a4daa1305bf0474a8d":[4,0,2,0,0,1,5],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a5410c333fddcafa614cf23c6f6c350e2":[4,0,2,0,0,1,2],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a58741241cb681e797af0862a0571d149":[4,0,2,0,0,1,29],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a613636af8f329f42f395c22511ed5e70":[4,0,2,0,0,1,41],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a6477cecf8801118b5d8a5df6df0bc339":[4,0,2,0,0,1,8],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a744356e0eff2be54460ce02b7397acfb":[4,0,2,0,0,1,47],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a7905509edbdc5e9e9819ffb3f31d6d5c":[4,0,2,0,0,1,25],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a7a6047c4854a37f1b2437c6077a32fc5":[4,0,2,0,0,1,52],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a7e43886636755ba657a9fb5fce4d1c2f":[4,0,2,0,0,1,17],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a7fdc1d26309758a94c9e321509e6f2b0":[4,0,2,0,0,1,33],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a84a6bbb08480b7803a49e203b7501fa0":[4,0,2,0,0,1,58],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a8526d8eef6bcc3851b34bdf1d364f102":[4,0,2,0,0,1,20],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a8b3f69d7e670bf45727baa9e9ed30141":[4,0,2,0,0,1,18],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a8b56f458ea957c41ca33e37cd52a28af":[4,0,2,0,0,1,49],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a8cbd61a3899369965a1cbbd7cb21bd31":[4,0,2,0,0,1,55],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a8e9caa72b31819407ee9aaa1e6b21b0f":[4,0,2,0,0,1,53],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a90fee73d85b733951eab9c2f505f030e":[4,0,2,0,0,1,44],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a9a2918df04a065f07959875c9839af23":[4,0,2,0,0,1,36],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a9ce5b87e963aa7a8f968ed23adcd2046":[4,0,2,0,0,1,39],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a9daee40ff05d3b161652273556caf46a":[4,0,2,0,0,1,9],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a9f1fa0d3aeb26c198334c1a16b402971":[4,0,2,0,0,1,35],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aa98cbde51743fcb7d700a29cae27587b":[4,0,2,0,0,1,27],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aa9a12b102e96f3f5e1cc24a71fbf480b":[4,0,2,0,0,1,14],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aaa0a88fe91d9fe0248e114cb7fb487e9":[4,0,2,0,0,1,32],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aaf7c20ce48122ee281fffa106e411101":[4,0,2,0,0,1,24],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aba4b731aa0cd0d654976d34d5c10388f":[4,0,2,0,0,1,19],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ac597ca996edce5cecf4bacf36a324b49":[4,0,2,0,0,1,7],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ad71fa0eddf798fb096dfdaf25af4168c":[4,0,2,0,0,1,21],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#adf08fa605a2613a539930c65a51511bb":[4,0,2,0,0,1,43],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#adf9cba939e2bd11a63eaffafb247163a":[4,0,2,0,0,1,48],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ae3338448769e08627b5a7a4242fe9f6f":[4,0,2,0,0,1,56],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ae539f1d862f516854859e22adad5e833":[4,0,2,0,0,1,15],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ae79263dcf9faf5d3f2973ba688201f7e":[4,0,2,0,0,1,50],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aea98df8215a197c3356e5ff9098ae238":[4,0,2,0,0,1,13],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#af7813ac4dde322154b5ca70e06494905":[4,0,2,0,0,1,42],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#afd59aa55d1e9bc3a9942f13b964badae":[4,0,2,0,0,1,37],
+"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#afff8e1a93ad371a5844543a3e782f471":[4,0,2,0,0,1,51],
+"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html":[4,0,2,0,1,3,0],
+"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html#a3e4939b7eed7dee1ae7b938ed21f0bc2":[4,0,2,0,1,3,0,0],
+"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html#ae31e6520a32c4f07c753ceeeeffbc047":[4,0,2,0,1,3,0,1],
+"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html":[4,0,2,0,1,5,1],
+"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a0f9bc3718d9c671c10221cf401f81a7f":[4,0,2,0,1,5,1,2],
+"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a20d7ec8c41e328ad9d8dc07564b9e191":[4,0,2,0,1,5,1,1],
+"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a2ad515aaa41bfda6ade62bd7257330f6":[4,0,2,0,1,5,1,5],
+"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a7ad77fdbebd5f1ec023e4324797f3716":[4,0,2,0,1,5,1,4],
+"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#add9eada07537877fd3c2d0059f6972e3":[4,0,2,0,1,5,1,3],
+"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#adfb9e2612d4f570f0d3eb043bbb05d81":[4,0,2,0,1,5,1,0],
+"structllfio__v2__xxx_1_1construct.html":[4,0,2,5],
+"structllfio__v2__xxx_1_1construct.html#a1ecc9741761ebaa5ca372378ab8fb902":[4,0,2,5,0],
+"structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html":[4,0,2,6],
+"structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html#a0cea99755d4dd7fd857e80c432c7c721":[4,0,2,6,1],
+"structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html#a550b3f92e930f861d893fbabfb4cd1eb":[4,0,2,6,0],
+"structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html":[4,0,2,7],
+"structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#a1261a9ebd836e8a6d55d4941b16b466c":[4,0,2,7,4],
+"structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#a8a9c7904bb3ea9fd5159d5405695999d":[4,0,2,7,0],
+"structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#a9952eeac405673c72fe17c2272d9eb8d":[4,0,2,7,1],
+"structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#ab2dce4583256d4496dc429b8990cad55":[4,0,2,7,3],
+"structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#ac5e33b1e8ea06d184f5b0872513a171d":[4,0,2,7,7],
+"structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#ad21509e768940ed200e710dd68ae5bf8":[4,0,2,7,6],
+"structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#adf70816f4afe6897f6fcfc7b5f49b3c7":[4,0,2,7,5],
+"structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#ae152ee4b35a9e3ac5e7e385b29886103":[4,0,2,7,2],
+"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html":[4,0,2,8],
+"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html#a29756a86e009285fb711f6c582d395d7":[4,0,2,8,0],
+"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html#a31f9cd583a2a709cab76bdd72a108f2b":[4,0,2,8,1],
+"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html#aa9262bdcd513b6cb4b598dec84835cec":[4,0,2,8,5],
+"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html#aadde6d9fb410db58ae37b069d3f16f31":[4,0,2,8,2],
+"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html#ab0814aefe3c103e08c222dfb2f832232":[4,0,2,8,4],
+"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html#abe3bdb5f77fd660bb15dc8987f30d468":[4,0,2,8,6],
+"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html#adf66b28253dc7c02134d0d0bac1d6e8b":[4,0,2,8,3],
+"structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html":[4,0,2,9],
+"structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html#a674cce150aa7558602047c3f83f359ed":[4,0,2,9,3],
+"structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html#aa19c09c0cb8af425ad79f8b7fc698659":[4,0,2,9,0],
+"structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html#ab860793bdbf46c1d3da9500d6fca17a3":[4,0,2,9,1],
+"structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html#af1562f8b6b902abb10439200d8917ca4":[4,0,2,9,2],
+"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html":[4,0,2,10],
+"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html#a1bcf48574533e425241e8c5cc61c815f":[4,0,2,10,5],
+"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html#a2d65aba51ac38835bfbb4b998f3fe975":[4,0,2,10,0],
+"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html#a87b731195a9cce60fce2c8b68dfbf6d5":[4,0,2,10,2],
+"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html#a925599dc6a6847fd0e47db43d4e8d2e0":[4,0,2,10,6],
+"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html#aa16d2fb2dffec766022379d7742a06fe":[4,0,2,10,1],
+"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html#aa5dbc2e1e0363577d3e29c832871d8c7":[4,0,2,10,4],
+"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html#aaf74200a4206016ae39a289e8759d967":[4,0,2,10,3],
+"structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html":[4,0,2,11],
+"structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html#a046ff1284b829b4121fe1d63cc5d191b":[4,0,2,11,4],
+"structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html#a7060dac835f180dc53f526b225f7f4d5":[4,0,2,11,1],
+"structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html#abb95b453e85bdfc29aa6ab898add4746":[4,0,2,11,3],
+"structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html#ace71dd461300cd86897855fd465c7a8e":[4,0,2,11,0],
+"structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html#ad8d50a9cac68a3e441c46cce3b8fa628":[4,0,2,11,2],
+"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html":[4,0,2,12],
+"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#a0104ba2b64a22dd223e64954a1855dd9":[4,0,2,12,5],
+"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#a10e4121ab35932b7b85b4cd2989c6811":[4,0,2,12,0],
+"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#a1285d5f82a85c7bebf2d47d7b626796b":[4,0,2,12,6],
+"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#a48372b9403bcb8ccaf07decd5edf7a41":[4,0,2,12,7],
+"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#a82fc63013eb5368fc3a0efe17440f7e9":[4,0,2,12,2],
+"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#a8ea52aad6ecbb298c34f1c0ee25421d9":[4,0,2,12,3],
+"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#ab6f55865b3a96c0c1433430ad19913d7":[4,0,2,12,4],
+"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#ac754d8cc2a5eb03041e1cd4f6c34917e":[4,0,2,12,1],
+"structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html":[4,0,2,13],
+"structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html#a227669313e9340c70703b5d27e0cc0d4":[4,0,2,13,1],
+"structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html#adb05fe97d8584c32fd91f6c7ae2b1f82":[4,0,2,13,0],
+"structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html#ae75e42410f6a5a6f8a83c57c9a9208f3":[4,0,2,13,2],
+"structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html":[4,0,2,14],
+"structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html#a15940fc9eb4caeb0459a25688c7ab87b":[4,0,2,14,3]
};
diff --git a/navtreeindex8.js b/navtreeindex8.js
index c8d1a13f..214d41af 100644
--- a/navtreeindex8.js
+++ b/navtreeindex8.js
@@ -1,139 +1,5 @@
var NAVTREEINDEX8 =
{
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae539f1d862f516854859e22adad5e833":[4,0,2,0,0,0,20],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae79263dcf9faf5d3f2973ba688201f7e":[4,0,2,0,0,0,57],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aea98df8215a197c3356e5ff9098ae238":[4,0,2,0,0,0,18],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#af7813ac4dde322154b5ca70e06494905":[4,0,2,0,0,0,47],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afabb36b02ad5b92810490114f68fe7b4":[4,0,2,0,0,0,3],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afd59aa55d1e9bc3a9942f13b964badae":[4,0,2,0,0,0,42],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afff8e1a93ad371a5844543a3e782f471":[4,0,2,0,0,0,58],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html":[4,0,2,0,0,1],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0079ec33d245c84ee66b20e88866035b":[4,0,2,0,0,1,16],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a01a933a3116abd41955118b607b47bfd":[4,0,2,0,0,1,45],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a02dca783d6e23e7be0b8df620b480175":[4,0,2,0,0,1,22],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0846ca0495305ef9bbf8177c3f05998b":[4,0,2,0,0,1,11],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0be07d789edddbe8e88938cdd81c8420":[4,0,2,0,0,1,0],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0cb7623d9b4cc4c3acdad0ab030fb9c5":[4,0,2,0,0,1,46],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a0d2381f6d62cb1e12970907992d5df9b":[4,0,2,0,0,1,31],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a1352dba0cee0cdf627b011e8b6a00df3":[4,0,2,0,0,1,6],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a16de143c40c148e26633f4d8ee101644":[4,0,2,0,0,1,54],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a1729693a17ace35aa4f8a29f8834e875":[4,0,2,0,0,1,1],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a19aa2b2535f9880a41f64fb43162ec9e":[4,0,2,0,0,1,57],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a231c46161cc7164fa0c610c2f61a931c":[4,0,2,0,0,1,40],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a2d09a83a6f59afb7d1f0f06ebc79e7bf":[4,0,2,0,0,1,4],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a316f0f8773d00ba317e2ec83f767f48f":[4,0,2,0,0,1,28],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a333d0e231d0b620c0bba5daea857897d":[4,0,2,0,0,1,34],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a3392be9db54104020b23c2792c63fa53":[4,0,2,0,0,1,23],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a390039f1d254156eeaaa9332b4a0fabe":[4,0,2,0,0,1,3],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a3e63c1cb08d63bb46ea73cbbae5adb07":[4,0,2,0,0,1,30],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a3fb1e66f29e8d90eec09316946d3d4f0":[4,0,2,0,0,1,59],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a3fc85e32b4db9b8d683ba47e9de4179b":[4,0,2,0,0,1,38],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a3feb4c15c7805fd403138d677953b285":[4,0,2,0,0,1,26],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a45eac1f6f721ee11caf82a22851d3f5e":[4,0,2,0,0,1,12],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a499cc1593d16f042c2d3266b8e0c205a":[4,0,2,0,0,1,10],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a4d7c7541169fc5a4daa1305bf0474a8d":[4,0,2,0,0,1,5],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a5410c333fddcafa614cf23c6f6c350e2":[4,0,2,0,0,1,2],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a58741241cb681e797af0862a0571d149":[4,0,2,0,0,1,29],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a613636af8f329f42f395c22511ed5e70":[4,0,2,0,0,1,41],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a6477cecf8801118b5d8a5df6df0bc339":[4,0,2,0,0,1,8],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a744356e0eff2be54460ce02b7397acfb":[4,0,2,0,0,1,47],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a7905509edbdc5e9e9819ffb3f31d6d5c":[4,0,2,0,0,1,25],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a7a6047c4854a37f1b2437c6077a32fc5":[4,0,2,0,0,1,52],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a7e43886636755ba657a9fb5fce4d1c2f":[4,0,2,0,0,1,17],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a7fdc1d26309758a94c9e321509e6f2b0":[4,0,2,0,0,1,33],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a84a6bbb08480b7803a49e203b7501fa0":[4,0,2,0,0,1,58],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a8526d8eef6bcc3851b34bdf1d364f102":[4,0,2,0,0,1,20],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a8b3f69d7e670bf45727baa9e9ed30141":[4,0,2,0,0,1,18],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a8b56f458ea957c41ca33e37cd52a28af":[4,0,2,0,0,1,49],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a8cbd61a3899369965a1cbbd7cb21bd31":[4,0,2,0,0,1,55],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a8e9caa72b31819407ee9aaa1e6b21b0f":[4,0,2,0,0,1,53],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a90fee73d85b733951eab9c2f505f030e":[4,0,2,0,0,1,44],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a9a2918df04a065f07959875c9839af23":[4,0,2,0,0,1,36],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a9ce5b87e963aa7a8f968ed23adcd2046":[4,0,2,0,0,1,39],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a9daee40ff05d3b161652273556caf46a":[4,0,2,0,0,1,9],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a9f1fa0d3aeb26c198334c1a16b402971":[4,0,2,0,0,1,35],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aa98cbde51743fcb7d700a29cae27587b":[4,0,2,0,0,1,27],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aa9a12b102e96f3f5e1cc24a71fbf480b":[4,0,2,0,0,1,14],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aaa0a88fe91d9fe0248e114cb7fb487e9":[4,0,2,0,0,1,32],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aaf7c20ce48122ee281fffa106e411101":[4,0,2,0,0,1,24],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aba4b731aa0cd0d654976d34d5c10388f":[4,0,2,0,0,1,19],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ac597ca996edce5cecf4bacf36a324b49":[4,0,2,0,0,1,7],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ad71fa0eddf798fb096dfdaf25af4168c":[4,0,2,0,0,1,21],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#adf08fa605a2613a539930c65a51511bb":[4,0,2,0,0,1,43],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#adf9cba939e2bd11a63eaffafb247163a":[4,0,2,0,0,1,48],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ae3338448769e08627b5a7a4242fe9f6f":[4,0,2,0,0,1,56],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ae539f1d862f516854859e22adad5e833":[4,0,2,0,0,1,15],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ae79263dcf9faf5d3f2973ba688201f7e":[4,0,2,0,0,1,50],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#aea98df8215a197c3356e5ff9098ae238":[4,0,2,0,0,1,13],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#af7813ac4dde322154b5ca70e06494905":[4,0,2,0,0,1,42],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#afd59aa55d1e9bc3a9942f13b964badae":[4,0,2,0,0,1,37],
-"structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#afff8e1a93ad371a5844543a3e782f471":[4,0,2,0,0,1,51],
-"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html":[4,0,2,0,1,3,0],
-"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html#a3e4939b7eed7dee1ae7b938ed21f0bc2":[4,0,2,0,1,3,0,0],
-"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map_1_1__entity__idx.html#ae31e6520a32c4f07c753ceeeeffbc047":[4,0,2,0,1,3,0,1],
-"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html":[4,0,2,0,1,5,1],
-"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a0f9bc3718d9c671c10221cf401f81a7f":[4,0,2,0,1,5,1,2],
-"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a20d7ec8c41e328ad9d8dc07564b9e191":[4,0,2,0,1,5,1,1],
-"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a2ad515aaa41bfda6ade62bd7257330f6":[4,0,2,0,1,5,1,5],
-"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a7ad77fdbebd5f1ec023e4324797f3716":[4,0,2,0,1,5,1,4],
-"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#add9eada07537877fd3c2d0059f6972e3":[4,0,2,0,1,5,1,3],
-"structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#adfb9e2612d4f570f0d3eb043bbb05d81":[4,0,2,0,1,5,1,0],
-"structllfio__v2__xxx_1_1construct.html":[4,0,2,5],
-"structllfio__v2__xxx_1_1construct.html#a1ecc9741761ebaa5ca372378ab8fb902":[4,0,2,5,0],
-"structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html":[4,0,2,6],
-"structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html#a0cea99755d4dd7fd857e80c432c7c721":[4,0,2,6,1],
-"structllfio__v2__xxx_1_1construct_3_01algorithm_1_1cached__parent__handle__adapter_3_01_t_01_4_01_4.html#a550b3f92e930f861d893fbabfb4cd1eb":[4,0,2,6,0],
-"structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html":[4,0,2,7],
-"structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#a1261a9ebd836e8a6d55d4941b16b466c":[4,0,2,7,4],
-"structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#a8a9c7904bb3ea9fd5159d5405695999d":[4,0,2,7,0],
-"structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#a9952eeac405673c72fe17c2272d9eb8d":[4,0,2,7,1],
-"structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#ab2dce4583256d4496dc429b8990cad55":[4,0,2,7,3],
-"structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#ac5e33b1e8ea06d184f5b0872513a171d":[4,0,2,7,7],
-"structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#ad21509e768940ed200e710dd68ae5bf8":[4,0,2,7,6],
-"structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#adf70816f4afe6897f6fcfc7b5f49b3c7":[4,0,2,7,5],
-"structllfio__v2__xxx_1_1construct_3_01async__file__handle_01_4.html#ae152ee4b35a9e3ac5e7e385b29886103":[4,0,2,7,2],
-"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html":[4,0,2,8],
-"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html#a29756a86e009285fb711f6c582d395d7":[4,0,2,8,0],
-"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html#a31f9cd583a2a709cab76bdd72a108f2b":[4,0,2,8,1],
-"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html#aa9262bdcd513b6cb4b598dec84835cec":[4,0,2,8,5],
-"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html#aadde6d9fb410db58ae37b069d3f16f31":[4,0,2,8,2],
-"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html#ab0814aefe3c103e08c222dfb2f832232":[4,0,2,8,4],
-"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html#abe3bdb5f77fd660bb15dc8987f30d468":[4,0,2,8,6],
-"structllfio__v2__xxx_1_1construct_3_01directory__handle_01_4.html#adf66b28253dc7c02134d0d0bac1d6e8b":[4,0,2,8,3],
-"structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html":[4,0,2,9],
-"structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html#a674cce150aa7558602047c3f83f359ed":[4,0,2,9,3],
-"structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html#aa19c09c0cb8af425ad79f8b7fc698659":[4,0,2,9,0],
-"structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html#ab860793bdbf46c1d3da9500d6fca17a3":[4,0,2,9,1],
-"structllfio__v2__xxx_1_1construct_3_01fast__random__file__handle_01_4.html#af1562f8b6b902abb10439200d8917ca4":[4,0,2,9,2],
-"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html":[4,0,2,10],
-"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html#a1bcf48574533e425241e8c5cc61c815f":[4,0,2,10,5],
-"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html#a2d65aba51ac38835bfbb4b998f3fe975":[4,0,2,10,0],
-"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html#a87b731195a9cce60fce2c8b68dfbf6d5":[4,0,2,10,2],
-"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html#a925599dc6a6847fd0e47db43d4e8d2e0":[4,0,2,10,6],
-"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html#aa16d2fb2dffec766022379d7742a06fe":[4,0,2,10,1],
-"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html#aa5dbc2e1e0363577d3e29c832871d8c7":[4,0,2,10,4],
-"structllfio__v2__xxx_1_1construct_3_01file__handle_01_4.html#aaf74200a4206016ae39a289e8759d967":[4,0,2,10,3],
-"structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html":[4,0,2,11],
-"structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html#a046ff1284b829b4121fe1d63cc5d191b":[4,0,2,11,4],
-"structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html#a7060dac835f180dc53f526b225f7f4d5":[4,0,2,11,1],
-"structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html#abb95b453e85bdfc29aa6ab898add4746":[4,0,2,11,3],
-"structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html#ace71dd461300cd86897855fd465c7a8e":[4,0,2,11,0],
-"structllfio__v2__xxx_1_1construct_3_01map__handle_01_4.html#ad8d50a9cac68a3e441c46cce3b8fa628":[4,0,2,11,2],
-"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html":[4,0,2,12],
-"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#a0104ba2b64a22dd223e64954a1855dd9":[4,0,2,12,5],
-"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#a10e4121ab35932b7b85b4cd2989c6811":[4,0,2,12,0],
-"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#a1285d5f82a85c7bebf2d47d7b626796b":[4,0,2,12,6],
-"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#a48372b9403bcb8ccaf07decd5edf7a41":[4,0,2,12,7],
-"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#a82fc63013eb5368fc3a0efe17440f7e9":[4,0,2,12,2],
-"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#a8ea52aad6ecbb298c34f1c0ee25421d9":[4,0,2,12,3],
-"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#ab6f55865b3a96c0c1433430ad19913d7":[4,0,2,12,4],
-"structllfio__v2__xxx_1_1construct_3_01mapped__file__handle_01_4.html#ac754d8cc2a5eb03041e1cd4f6c34917e":[4,0,2,12,1],
-"structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html":[4,0,2,13],
-"structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html#a227669313e9340c70703b5d27e0cc0d4":[4,0,2,13,1],
-"structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html#adb05fe97d8584c32fd91f6c7ae2b1f82":[4,0,2,13,0],
-"structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html#ae75e42410f6a5a6f8a83c57c9a9208f3":[4,0,2,13,2],
-"structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html":[4,0,2,14],
-"structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html#a15940fc9eb4caeb0459a25688c7ab87b":[4,0,2,14,3],
"structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html#a2a69095a0ab01a9ffb6163cac7f56216":[4,0,2,14,0],
"structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html#abfd0263f5f7df8eef8b577c5413cacd6":[4,0,2,14,2],
"structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html#af3df17dbf0f309c4973dd1dcbb3d9ec1":[4,0,2,14,1],
@@ -241,13 +107,147 @@ var NAVTREEINDEX8 =
"structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html#a8699e5b9a1245b99956fdd584249b18c":[4,0,2,26,0,2],
"structllfio__v2__xxx_1_1io__service_1_1awaitable__post__to__self.html#abe3c60300a5c6ba7d5b79cb80c0d06c4":[4,0,2,26,0,4],
"structllfio__v2__xxx_1_1native__handle__type.html":[4,0,2,31],
-"structllfio__v2__xxx_1_1native__handle__type.html#a01c13e76854f03aa1656cde5622646dd":[4,0,2,31,13],
-"structllfio__v2__xxx_1_1native__handle__type.html#a06a72a1c1d822c05aa040e7bc06dc2a8":[4,0,2,31,14],
-"structllfio__v2__xxx_1_1native__handle__type.html#a0ab82c7a29033fef50d914173694e672":[4,0,2,31,12],
-"structllfio__v2__xxx_1_1native__handle__type.html#a0c8c18825ea9b3c448a4f4c708047b29":[4,0,2,31,21],
-"structllfio__v2__xxx_1_1native__handle__type.html#a38054fed025ad3deec2b5a5494e7e57d":[4,0,2,31,7],
-"structllfio__v2__xxx_1_1native__handle__type.html#a3c7ef470ac1baa0af9100aae36b87524":[4,0,2,31,4],
-"structllfio__v2__xxx_1_1native__handle__type.html#a45431e8a673c8a7d204136cd2ae612ed":[4,0,2,31,23],
-"structllfio__v2__xxx_1_1native__handle__type.html#a4b4b6662c7efc8b95937a60cf6285d3a":[4,0,2,31,25],
-"structllfio__v2__xxx_1_1native__handle__type.html#a5a1c5bb213a216200958daff3d4dc078":[4,0,2,31,18]
+"structllfio__v2__xxx_1_1native__handle__type.html#a01c13e76854f03aa1656cde5622646dd":[4,0,2,31,12],
+"structllfio__v2__xxx_1_1native__handle__type.html#a06a72a1c1d822c05aa040e7bc06dc2a8":[4,0,2,31,13],
+"structllfio__v2__xxx_1_1native__handle__type.html#a0ab82c7a29033fef50d914173694e672":[4,0,2,31,11],
+"structllfio__v2__xxx_1_1native__handle__type.html#a0c8c18825ea9b3c448a4f4c708047b29":[4,0,2,31,20],
+"structllfio__v2__xxx_1_1native__handle__type.html#a2329417e016cd5ccd01794937c4eec3b":[4,0,2,31,23],
+"structllfio__v2__xxx_1_1native__handle__type.html#a38054fed025ad3deec2b5a5494e7e57d":[4,0,2,31,6],
+"structllfio__v2__xxx_1_1native__handle__type.html#a3c7ef470ac1baa0af9100aae36b87524":[4,0,2,31,3],
+"structllfio__v2__xxx_1_1native__handle__type.html#a45431e8a673c8a7d204136cd2ae612ed":[4,0,2,31,24],
+"structllfio__v2__xxx_1_1native__handle__type.html#a4b4b6662c7efc8b95937a60cf6285d3a":[4,0,2,31,26],
+"structllfio__v2__xxx_1_1native__handle__type.html#a5a1c5bb213a216200958daff3d4dc078":[4,0,2,31,17],
+"structllfio__v2__xxx_1_1native__handle__type.html#a6d63f413705982a84f4140640e4340af":[4,0,2,31,27],
+"structllfio__v2__xxx_1_1native__handle__type.html#a891f8248afda36a4999f6a09ab139b45":[4,0,2,31,10],
+"structllfio__v2__xxx_1_1native__handle__type.html#a8a38d56b1a9a3ee70799df3dac04edfc":[4,0,2,31,29],
+"structllfio__v2__xxx_1_1native__handle__type.html#aa014dc4620266c5e79ff574eab95559c":[4,0,2,31,2],
+"structllfio__v2__xxx_1_1native__handle__type.html#aa179d5ae7c29ddec6b3d043d83c48444":[4,0,2,31,16],
+"structllfio__v2__xxx_1_1native__handle__type.html#aa9773fae5d91f769e281cc05df1f0e6c":[4,0,2,31,8],
+"structllfio__v2__xxx_1_1native__handle__type.html#aa9e3ba4e787524be1a1715f75586d5fe":[4,0,2,31,1],
+"structllfio__v2__xxx_1_1native__handle__type.html#aab66573d64b32857ecc113b87dd56489":[4,0,2,31,22],
+"structllfio__v2__xxx_1_1native__handle__type.html#ab66e790c05ddebea23b80c86dae4fbe3":[4,0,2,31,18],
+"structllfio__v2__xxx_1_1native__handle__type.html#abc96c9f96b0bf877af2cd9092bd3255e":[4,0,2,31,25],
+"structllfio__v2__xxx_1_1native__handle__type.html#ac0c95863560b730e724ca0f158564415":[4,0,2,31,21],
+"structllfio__v2__xxx_1_1native__handle__type.html#ac0d26bcb12d0f9baa757ee44df1ffbf9":[4,0,2,31,4],
+"structllfio__v2__xxx_1_1native__handle__type.html#ac392ebf1b70123ed39196591a06bded5":[4,0,2,31,9],
+"structllfio__v2__xxx_1_1native__handle__type.html#ad6992242c9715661a4b737a21e860f32":[4,0,2,31,15],
+"structllfio__v2__xxx_1_1native__handle__type.html#ae3f07d9d74e09d71d31abdc91e18e64d":[4,0,2,31,5],
+"structllfio__v2__xxx_1_1native__handle__type.html#aeb3c171595f7024ce75223b9f866caca":[4,0,2,31,14],
+"structllfio__v2__xxx_1_1native__handle__type.html#af4d88dcf57bbfcc2f5c30210225c5fbd":[4,0,2,31,7],
+"structllfio__v2__xxx_1_1native__handle__type.html#af51f8cd2e901aa8fc6862eb85e66b20c":[4,0,2,31,19],
+"structllfio__v2__xxx_1_1native__handle__type.html#af9eb6d201364aae2e933da37caa4c1dd":[4,0,2,31,0],
+"structllfio__v2__xxx_1_1native__handle__type.html#afbc6866f3f80808fbe3ca903d15b5481":[4,0,2,31,28],
+"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html":[4,0,2,1,0],
+"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#a330a98525d5d2d1d51f3ddbcf25dac2f":[4,0,2,1,0,3],
+"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#a69d065f1a50d5a043fe034d28326b25f":[4,0,2,1,0,1],
+"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#a9a05ee5192ed88b7727574b6502dec61":[4,0,2,1,0,2],
+"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7d":[4,0,2,1,0,0],
+"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7da54b53072540eeeb8f8e9343e71f28176":[4,0,2,1,0,0,3],
+"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daad921d60486366258809553a3db49a4a":[4,0,2,1,0,0,0],
+"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7dae900e40bc91d3f9f7f0a99fed68a2e96":[4,0,2,1,0,0,2],
+"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daeca7a05085eba86cbab65a157f848354":[4,0,2,1,0,0,4],
+"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daf5ddaf0ca7929578b408c909429f68f2":[4,0,2,1,0,0,1],
+"structllfio__v2__xxx_1_1path__hasher.html":[4,0,2,33],
+"structllfio__v2__xxx_1_1path__hasher.html#a0cfdbdc3f8a3e83ce47944bb3ef3bffa":[4,0,2,33,0],
+"structllfio__v2__xxx_1_1path__view_1_1c__str.html":[4,0,2,34,0],
+"structllfio__v2__xxx_1_1path__view_1_1c__str.html#a413079f8593aaeff298f657c2a20d50e":[4,0,2,34,0,3],
+"structllfio__v2__xxx_1_1path__view_1_1c__str.html#a47282c5b3ac58a6705ea8f3ab179a643":[4,0,2,34,0,6],
+"structllfio__v2__xxx_1_1path__view_1_1c__str.html#a483b41eb70c06c8a8e5909b9a58af04f":[4,0,2,34,0,1],
+"structllfio__v2__xxx_1_1path__view_1_1c__str.html#a7d42983a3fd6bc0d17cc77ea11ae0f47":[4,0,2,34,0,7],
+"structllfio__v2__xxx_1_1path__view_1_1c__str.html#a9b70dd7293bbb76e33ba148446222a30":[4,0,2,34,0,2],
+"structllfio__v2__xxx_1_1path__view_1_1c__str.html#ab40950d621933c2b6892eb17abc4bb60":[4,0,2,34,0,4],
+"structllfio__v2__xxx_1_1path__view_1_1c__str.html#ac02dc977622d4f6d26e65fec16660bbc":[4,0,2,34,0,5],
+"structllfio__v2__xxx_1_1path__view_1_1c__str.html#ae57740ed25fb529c057de44483b9d88c":[4,0,2,34,0,0],
+"structllfio__v2__xxx_1_1stat__t.html":[4,0,2,36],
+"structllfio__v2__xxx_1_1stat__t.html#a17d58119a066c7f0bef7d929f3dcddc2":[4,0,2,36,20],
+"structllfio__v2__xxx_1_1stat__t.html#a1de59fc48a2273af928151270d3a6518":[4,0,2,36,21],
+"structllfio__v2__xxx_1_1stat__t.html#a23ca23f4ea9ef43fd58c2ede2bd58532":[4,0,2,36,14],
+"structllfio__v2__xxx_1_1stat__t.html#a3e33b115cae22ba75360660274f660b9":[4,0,2,36,6],
+"structllfio__v2__xxx_1_1stat__t.html#a407dbe624125b5d0d40ebfe647d41214":[4,0,2,36,24],
+"structllfio__v2__xxx_1_1stat__t.html#a40efc73a0eee503c070ae843754504d2":[4,0,2,36,23],
+"structllfio__v2__xxx_1_1stat__t.html#a4b55ae8203ee4f89cec67666a2fd0752":[4,0,2,36,13],
+"structllfio__v2__xxx_1_1stat__t.html#a4ca693399bffd1b5004d31897e5b72e7":[4,0,2,36,4],
+"structllfio__v2__xxx_1_1stat__t.html#a5656cbf7f1eb5fb2a921eac5caf3e506":[4,0,2,36,11],
+"structllfio__v2__xxx_1_1stat__t.html#a57ae0ee58e01481b7879596f319b9e1d":[4,0,2,36,5],
+"structllfio__v2__xxx_1_1stat__t.html#a58b1f9a81b4f8a1c01715aa139bc2d0f":[4,0,2,36,10],
+"structllfio__v2__xxx_1_1stat__t.html#a6058efe9cba70e827f7c2b9939e93542":[4,0,2,36,8],
+"structllfio__v2__xxx_1_1stat__t.html#a6cd05a47e04d120baa71d8898c345b29":[4,0,2,36,9],
+"structllfio__v2__xxx_1_1stat__t.html#a7175e9ba3f0dae6ae87fb3001ca47e61":[4,0,2,36,7],
+"structllfio__v2__xxx_1_1stat__t.html#a7c281295d6ae22631336206446f37581":[4,0,2,36,2],
+"structllfio__v2__xxx_1_1stat__t.html#a83827c7cbf9ebc2b5c965e509ed1748b":[4,0,2,36,15],
+"structllfio__v2__xxx_1_1stat__t.html#a8fc0ebfd31e3e3c5fe561f61fb86a6b7":[4,0,2,36,3],
+"structllfio__v2__xxx_1_1stat__t.html#aa08a4b9530403b4689498706b0738db4":[4,0,2,36,1],
+"structllfio__v2__xxx_1_1stat__t.html#aad72b484858508a738a8ef478fbfd26f":[4,0,2,36,19],
+"structllfio__v2__xxx_1_1stat__t.html#abbe9fc921f2cbb96d68da4e0b208597a":[4,0,2,36,22],
+"structllfio__v2__xxx_1_1stat__t.html#ac6b928c490cef1f12fbd92cd96e49d9c":[4,0,2,36,12],
+"structllfio__v2__xxx_1_1stat__t.html#ad42affc84324ad00a39379ab3d9a428b":[4,0,2,36,25],
+"structllfio__v2__xxx_1_1stat__t.html#ad6de8a630079dc8fda3370a0bf1599e2":[4,0,2,36,16],
+"structllfio__v2__xxx_1_1stat__t.html#adddfea199a341a46824f6deec2952bb4":[4,0,2,36,18],
+"structllfio__v2__xxx_1_1stat__t.html#aef93718067115fcb4c596f4c8fe4cc2f":[4,0,2,36,0],
+"structllfio__v2__xxx_1_1stat__t.html#aefe8c88dad824c911fa7bf6e1baef1c4":[4,0,2,36,17],
+"structllfio__v2__xxx_1_1statfs__t.html":[4,0,2,37],
+"structllfio__v2__xxx_1_1statfs__t.html#a1a1a822aca4e26f793e526f1779947bb":[4,0,2,37,1],
+"structllfio__v2__xxx_1_1statfs__t.html#a2655807be6194967c2768ab834ce8c4b":[4,0,2,37,9],
+"structllfio__v2__xxx_1_1statfs__t.html#a2e594db0ff5018223f00ffdcbd4dd771":[4,0,2,37,16],
+"structllfio__v2__xxx_1_1statfs__t.html#a360401ea41ab6debc8b8a8806c2dfc46":[4,0,2,37,5],
+"structllfio__v2__xxx_1_1statfs__t.html#a378f9f413ad7178b65bbdab76a29a06d":[4,0,2,37,13],
+"structllfio__v2__xxx_1_1statfs__t.html#a3899059be19d84cd3b17077314045428":[4,0,2,37,2],
+"structllfio__v2__xxx_1_1statfs__t.html#a3a5739137cee606782d47afbd4bac38c":[4,0,2,37,11],
+"structllfio__v2__xxx_1_1statfs__t.html#a78b08b8091ddcd264ce9bd903bc4dec2":[4,0,2,37,8],
+"structllfio__v2__xxx_1_1statfs__t.html#a7b8ea29dcda069ef2af42a25eb283786":[4,0,2,37,14],
+"structllfio__v2__xxx_1_1statfs__t.html#a9684fea78f72efeafdbaa4a11f402060":[4,0,2,37,10],
+"structllfio__v2__xxx_1_1statfs__t.html#aa24a1f36d9addae9d0d6ab13eeb43e5d":[4,0,2,37,7],
+"structllfio__v2__xxx_1_1statfs__t.html#aa4a4f434ba56992244ac59c8f825a962":[4,0,2,37,4],
+"structllfio__v2__xxx_1_1statfs__t.html#aa8b39815508e9252da673c7e18666cd7":[4,0,2,37,17],
+"structllfio__v2__xxx_1_1statfs__t.html#abe7361e7f354e4de36b64f80b4c6c72e":[4,0,2,37,12],
+"structllfio__v2__xxx_1_1statfs__t.html#ac7bedb646a6855541633e7bb7232b5e0":[4,0,2,37,15],
+"structllfio__v2__xxx_1_1statfs__t.html#ae6bb78770f0544cee409e3420efed426":[4,0,2,37,3],
+"structllfio__v2__xxx_1_1statfs__t.html#aee7f0b961f34b79e95189e6cf8677cbf":[4,0,2,37,6],
+"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html":[4,0,2,37,0],
+"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a129920c6447ee9666c0bc935a8e2d243":[4,0,2,37,0,7],
+"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a17f61dd9f0f5aae7c34c55ba46358ddf":[4,0,2,37,0,0],
+"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a4559dec0d0c4354feb0b0c131aab266b":[4,0,2,37,0,4],
+"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a579e9f628436c4f5d90387355dd4ddf2":[4,0,2,37,0,2],
+"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a973d0ca8c51f329587144682aff54879":[4,0,2,37,0,5],
+"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#ab81fc2389da706385f01c68e45aa4d44":[4,0,2,37,0,6],
+"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#ac9b12b0d4f79387c1084a0216878a411":[4,0,2,37,0,1],
+"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#af56d7eae510ec6f76827697d8f2ad7b1":[4,0,2,37,0,3],
+"structllfio__v2__xxx_1_1storage__profile_1_1item.html":[4,0,2,2,0],
+"structllfio__v2__xxx_1_1storage__profile_1_1item.html#a2580620b39e8cce0db068444dd6c14bf":[4,0,2,2,0,8],
+"structllfio__v2__xxx_1_1storage__profile_1_1item.html#a73583a38b2eac0522a71353b096f594b":[4,0,2,2,0,10],
+"structllfio__v2__xxx_1_1storage__profile_1_1item.html#a8e08f8c239422c6d4b34731568434885":[4,0,2,2,0,4],
+"structllfio__v2__xxx_1_1storage__profile_1_1item.html#a8e2758a838e47ddbfc11631d17c4afb9":[4,0,2,2,0,1],
+"structllfio__v2__xxx_1_1storage__profile_1_1item.html#a8f9536ff1752dee8f073e3dafac18fe0":[4,0,2,2,0,6],
+"structllfio__v2__xxx_1_1storage__profile_1_1item.html#a948529cb03ceb639a2b5f9c7d20542eb":[4,0,2,2,0,9],
+"structllfio__v2__xxx_1_1storage__profile_1_1item.html#aa0915c8cc88430ce45597255d7b56986":[4,0,2,2,0,7],
+"structllfio__v2__xxx_1_1storage__profile_1_1item.html#acdf903dda426a6431fe90414b4f705ae":[4,0,2,2,0,0],
+"structllfio__v2__xxx_1_1storage__profile_1_1item.html#ad7571c38bb9b0d9f09dcca143ac9946f":[4,0,2,2,0,2],
+"structllfio__v2__xxx_1_1storage__profile_1_1item.html#ae0eee78db1a35ba06d11a76e677ca9f9":[4,0,2,2,0,5],
+"structllfio__v2__xxx_1_1storage__profile_1_1item.html#aeaca8fe0437080153716297e8dfdbcaa":[4,0,2,2,0,3],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__base.html":[4,0,2,2,1],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a2580620b39e8cce0db068444dd6c14bf":[4,0,2,2,1,3],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a8f9536ff1752dee8f073e3dafac18fe0":[4,0,2,2,1,2],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a948529cb03ceb639a2b5f9c7d20542eb":[4,0,2,2,1,4],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a9d8245c86d34ff3d0f731372bb60ced2":[4,0,2,2,1,1],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#ae1026037f706015d2e10a545a64834c0":[4,0,2,2,1,0],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html":[4,0,2,2,2],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a0f52f8d9769f034435b0ea5080bf3488":[4,0,2,2,2,3],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a2580620b39e8cce0db068444dd6c14bf":[4,0,2,2,2,11],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a304587736d13127b67f68e09a397a4fd":[4,0,2,2,2,5],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a8f9536ff1752dee8f073e3dafac18fe0":[4,0,2,2,2,10],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a948529cb03ceb639a2b5f9c7d20542eb":[4,0,2,2,2,12],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a9973b036cdc9d3cc2908985b941c72fe":[4,0,2,2,2,1],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#aaab359e27526e19fbc3c517e054d25ed":[4,0,2,2,2,4],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#aad6ddffb9c8cf453b261780d0f3895d5":[4,0,2,2,2,8],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#abea7c179188a0ae728982bf8ad50d200":[4,0,2,2,2,0],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#ac160dd97720832a067feda5ca5cb4e5f":[4,0,2,2,2,7],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#ac9d90b19b6419bcfb07dd0c7dc546713":[4,0,2,2,2,2],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#ae0204e260cdfb9b8fdaa982e7461303f":[4,0,2,2,2,6],
+"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#af077e4ae520692425c2ea74dd1246570":[4,0,2,2,2,9],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html":[4,0,2,2,3],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a009c613344a42f0afc9301cfcb1d6578":[4,0,2,2,3,17],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a06e404bc2d1dc0ecf94f8d9a9fc69972":[4,0,2,2,3,94],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a0e300d7284c629851be9670a257cd984":[4,0,2,2,3,22],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a0f968e990ff1492c52e976da6e472f9d":[4,0,2,2,3,70],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a10064029adf92a2b2fc97e8277a5ce3b":[4,0,2,2,3,9]
};
diff --git a/navtreeindex9.js b/navtreeindex9.js
index 538122e4..ef1afa3f 100644
--- a/navtreeindex9.js
+++ b/navtreeindex9.js
@@ -1,191 +1,5 @@
var NAVTREEINDEX9 =
{
-"structllfio__v2__xxx_1_1native__handle__type.html#a6d63f413705982a84f4140640e4340af":[4,0,2,31,27],
-"structllfio__v2__xxx_1_1native__handle__type.html#a891f8248afda36a4999f6a09ab139b45":[4,0,2,31,11],
-"structllfio__v2__xxx_1_1native__handle__type.html#a8a38d56b1a9a3ee70799df3dac04edfc":[4,0,2,31,29],
-"structllfio__v2__xxx_1_1native__handle__type.html#a967ace482f3fe7fd3c6e24bffee25888":[4,0,2,31,26],
-"structllfio__v2__xxx_1_1native__handle__type.html#aa014dc4620266c5e79ff574eab95559c":[4,0,2,31,3],
-"structllfio__v2__xxx_1_1native__handle__type.html#aa179d5ae7c29ddec6b3d043d83c48444":[4,0,2,31,17],
-"structllfio__v2__xxx_1_1native__handle__type.html#aa9773fae5d91f769e281cc05df1f0e6c":[4,0,2,31,9],
-"structllfio__v2__xxx_1_1native__handle__type.html#aa9e3ba4e787524be1a1715f75586d5fe":[4,0,2,31,2],
-"structllfio__v2__xxx_1_1native__handle__type.html#ab66e790c05ddebea23b80c86dae4fbe3":[4,0,2,31,19],
-"structllfio__v2__xxx_1_1native__handle__type.html#abc96c9f96b0bf877af2cd9092bd3255e":[4,0,2,31,24],
-"structllfio__v2__xxx_1_1native__handle__type.html#ac0c95863560b730e724ca0f158564415":[4,0,2,31,22],
-"structllfio__v2__xxx_1_1native__handle__type.html#ac0d26bcb12d0f9baa757ee44df1ffbf9":[4,0,2,31,5],
-"structllfio__v2__xxx_1_1native__handle__type.html#ac392ebf1b70123ed39196591a06bded5":[4,0,2,31,10],
-"structllfio__v2__xxx_1_1native__handle__type.html#ad6992242c9715661a4b737a21e860f32":[4,0,2,31,16],
-"structllfio__v2__xxx_1_1native__handle__type.html#ae3f07d9d74e09d71d31abdc91e18e64d":[4,0,2,31,6],
-"structllfio__v2__xxx_1_1native__handle__type.html#aeb3c171595f7024ce75223b9f866caca":[4,0,2,31,15],
-"structllfio__v2__xxx_1_1native__handle__type.html#af4d88dcf57bbfcc2f5c30210225c5fbd":[4,0,2,31,8],
-"structllfio__v2__xxx_1_1native__handle__type.html#af51f8cd2e901aa8fc6862eb85e66b20c":[4,0,2,31,20],
-"structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7":[4,0,2,31,0],
-"structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a03c22e007aed8c42eaee4dc2a6f639e3":[4,0,2,31,0,0],
-"structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a2bf351d9ef739909485db2d6e0d55a00":[4,0,2,31,0,1],
-"structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a3a4b67c0b2579480cb8d56466cd9bf88":[4,0,2,31,0,7],
-"structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a3cea1a678741f4ce20e57164946b5fc1":[4,0,2,31,0,10],
-"structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a4afae65da7b66f75e6e82b470d298fb5":[4,0,2,31,0,9],
-"structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a4caa9f58b8c6de7934f0fad06ca2e1a1":[4,0,2,31,0,13],
-"structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a5d4474f0197e13f3205443ad91de390e":[4,0,2,31,0,12],
-"structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a7f4cc916f7b5827f7528027964445d21":[4,0,2,31,0,11],
-"structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a8ce64daff425ed6534f1683b1d0dc066":[4,0,2,31,0,4],
-"structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a8d7b31aed417b5d7274a817b8d7d0fab":[4,0,2,31,0,8],
-"structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a9256691cdd6fc5afaa7cd96091781ced":[4,0,2,31,0,3],
-"structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7aa965d460f7cbe6c30dfce6432bb1c41d":[4,0,2,31,0,6],
-"structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7ab0fb91cab5d26713f14fe767166e6ec6":[4,0,2,31,0,2],
-"structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7aff1dd4bc49b07187a9b147a14f9102b6":[4,0,2,31,0,5],
-"structllfio__v2__xxx_1_1native__handle__type.html#af9eb6d201364aae2e933da37caa4c1dd":[4,0,2,31,1],
-"structllfio__v2__xxx_1_1native__handle__type.html#afbc6866f3f80808fbe3ca903d15b5481":[4,0,2,31,28],
-"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html":[4,0,2,1,0],
-"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#a330a98525d5d2d1d51f3ddbcf25dac2f":[4,0,2,1,0,3],
-"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#a69d065f1a50d5a043fe034d28326b25f":[4,0,2,1,0,1],
-"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#a9a05ee5192ed88b7727574b6502dec61":[4,0,2,1,0,2],
-"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7d":[4,0,2,1,0,0],
-"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7da54b53072540eeeb8f8e9343e71f28176":[4,0,2,1,0,0,3],
-"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daad921d60486366258809553a3db49a4a":[4,0,2,1,0,0,0],
-"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7dae900e40bc91d3f9f7f0a99fed68a2e96":[4,0,2,1,0,0,2],
-"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daeca7a05085eba86cbab65a157f848354":[4,0,2,1,0,0,4],
-"structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daf5ddaf0ca7929578b408c909429f68f2":[4,0,2,1,0,0,1],
-"structllfio__v2__xxx_1_1path__hasher.html":[4,0,2,33],
-"structllfio__v2__xxx_1_1path__hasher.html#a0cfdbdc3f8a3e83ce47944bb3ef3bffa":[4,0,2,33,0],
-"structllfio__v2__xxx_1_1path__view_1_1c__str.html":[4,0,2,34,0],
-"structllfio__v2__xxx_1_1path__view_1_1c__str.html#a413079f8593aaeff298f657c2a20d50e":[4,0,2,34,0,3],
-"structllfio__v2__xxx_1_1path__view_1_1c__str.html#a47282c5b3ac58a6705ea8f3ab179a643":[4,0,2,34,0,6],
-"structllfio__v2__xxx_1_1path__view_1_1c__str.html#a483b41eb70c06c8a8e5909b9a58af04f":[4,0,2,34,0,1],
-"structllfio__v2__xxx_1_1path__view_1_1c__str.html#a7d42983a3fd6bc0d17cc77ea11ae0f47":[4,0,2,34,0,7],
-"structllfio__v2__xxx_1_1path__view_1_1c__str.html#a9b70dd7293bbb76e33ba148446222a30":[4,0,2,34,0,2],
-"structllfio__v2__xxx_1_1path__view_1_1c__str.html#ab40950d621933c2b6892eb17abc4bb60":[4,0,2,34,0,4],
-"structllfio__v2__xxx_1_1path__view_1_1c__str.html#ac02dc977622d4f6d26e65fec16660bbc":[4,0,2,34,0,5],
-"structllfio__v2__xxx_1_1path__view_1_1c__str.html#ae57740ed25fb529c057de44483b9d88c":[4,0,2,34,0,0],
-"structllfio__v2__xxx_1_1stat__t.html":[4,0,2,36],
-"structllfio__v2__xxx_1_1stat__t.html#a17d58119a066c7f0bef7d929f3dcddc2":[4,0,2,36,20],
-"structllfio__v2__xxx_1_1stat__t.html#a1de59fc48a2273af928151270d3a6518":[4,0,2,36,21],
-"structllfio__v2__xxx_1_1stat__t.html#a23ca23f4ea9ef43fd58c2ede2bd58532":[4,0,2,36,14],
-"structllfio__v2__xxx_1_1stat__t.html#a3e33b115cae22ba75360660274f660b9":[4,0,2,36,6],
-"structllfio__v2__xxx_1_1stat__t.html#a407dbe624125b5d0d40ebfe647d41214":[4,0,2,36,24],
-"structllfio__v2__xxx_1_1stat__t.html#a40efc73a0eee503c070ae843754504d2":[4,0,2,36,23],
-"structllfio__v2__xxx_1_1stat__t.html#a4b55ae8203ee4f89cec67666a2fd0752":[4,0,2,36,13],
-"structllfio__v2__xxx_1_1stat__t.html#a4ca693399bffd1b5004d31897e5b72e7":[4,0,2,36,4],
-"structllfio__v2__xxx_1_1stat__t.html#a5656cbf7f1eb5fb2a921eac5caf3e506":[4,0,2,36,11],
-"structllfio__v2__xxx_1_1stat__t.html#a57ae0ee58e01481b7879596f319b9e1d":[4,0,2,36,5],
-"structllfio__v2__xxx_1_1stat__t.html#a58b1f9a81b4f8a1c01715aa139bc2d0f":[4,0,2,36,10],
-"structllfio__v2__xxx_1_1stat__t.html#a6058efe9cba70e827f7c2b9939e93542":[4,0,2,36,8],
-"structllfio__v2__xxx_1_1stat__t.html#a6cd05a47e04d120baa71d8898c345b29":[4,0,2,36,9],
-"structllfio__v2__xxx_1_1stat__t.html#a7175e9ba3f0dae6ae87fb3001ca47e61":[4,0,2,36,7],
-"structllfio__v2__xxx_1_1stat__t.html#a7370e218d82985d4476643672f37993b":[4,0,2,36,1],
-"structllfio__v2__xxx_1_1stat__t.html#a83827c7cbf9ebc2b5c965e509ed1748b":[4,0,2,36,15],
-"structllfio__v2__xxx_1_1stat__t.html#aa08a4b9530403b4689498706b0738db4":[4,0,2,36,3],
-"structllfio__v2__xxx_1_1stat__t.html#aad72b484858508a738a8ef478fbfd26f":[4,0,2,36,19],
-"structllfio__v2__xxx_1_1stat__t.html#abbe9fc921f2cbb96d68da4e0b208597a":[4,0,2,36,22],
-"structllfio__v2__xxx_1_1stat__t.html#ac6b928c490cef1f12fbd92cd96e49d9c":[4,0,2,36,12],
-"structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279":[4,0,2,36,0],
-"structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a050fc68e43dc54aa2a83d6df434dbaa5":[4,0,2,36,0,2],
-"structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a0eb1b2d76867a8da45f521d954a9280a":[4,0,2,36,0,12],
-"structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a1a6d5417ad389388007c29162b286e0a":[4,0,2,36,0,16],
-"structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a1ec6363899f9d1bede0a521fbe264938":[4,0,2,36,0,19],
-"structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a255a75013d6c3265e14ef6aa5e2b150e":[4,0,2,36,0,7],
-"structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a37fd3a367af582a9c0ae29bcfbb3ae40":[4,0,2,36,0,5],
-"structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a38f47fe58f276d8e4861bac7b2025f4f":[4,0,2,36,0,11],
-"structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a39f295e6f711e6e8a3c7b7500922727f":[4,0,2,36,0,1],
-"structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a41a9aade82a73ad80c61f24e37f178c1":[4,0,2,36,0,3],
-"structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a53d3da6ccd0de51bbebcd5a280262224":[4,0,2,36,0,22],
-"structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a6bd002995373eaa3bdf26902d0f0f75f":[4,0,2,36,0,21],
-"structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a71a59f32deaca0d11f3ac66f8cd0b873":[4,0,2,36,0,15],
-"structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a787b9d3eb94aea5f2ecb711025ce0f36":[4,0,2,36,0,10],
-"structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a821850c971ad6d7dc1b9383c44e2e6ca":[4,0,2,36,0,18],
-"structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a9cfcb6abc99726090d219e456d04cae3":[4,0,2,36,0,4],
-"structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279aaa02b3900a16e602cce275caae8acb05":[4,0,2,36,0,17],
-"structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279aad0aebb1c29226e501c7f8b21bf70fcb":[4,0,2,36,0,8],
-"structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279ab1a2197822ffdba01479e9615b54554d":[4,0,2,36,0,0],
-"structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279aba8f4977e13c37077572c6dbd6eaff1d":[4,0,2,36,0,14],
-"structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279adbae53d414356ac9179a7eee84d44574":[4,0,2,36,0,9],
-"structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279adca9642b769799fde30c2c20c52d2faf":[4,0,2,36,0,6],
-"structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279ae652d72d6c5b420220c74252fe8149cf":[4,0,2,36,0,20],
-"structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279ae93a31372e23b72f78343af24545c364":[4,0,2,36,0,13],
-"structllfio__v2__xxx_1_1stat__t.html#ad42affc84324ad00a39379ab3d9a428b":[4,0,2,36,25],
-"structllfio__v2__xxx_1_1stat__t.html#ad6de8a630079dc8fda3370a0bf1599e2":[4,0,2,36,16],
-"structllfio__v2__xxx_1_1stat__t.html#adddfea199a341a46824f6deec2952bb4":[4,0,2,36,18],
-"structllfio__v2__xxx_1_1stat__t.html#aef93718067115fcb4c596f4c8fe4cc2f":[4,0,2,36,2],
-"structllfio__v2__xxx_1_1stat__t.html#aefe8c88dad824c911fa7bf6e1baef1c4":[4,0,2,36,17],
-"structllfio__v2__xxx_1_1statfs__t.html":[4,0,2,37],
-"structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398":[4,0,2,37,1],
-"structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398a18cce38f20254f89b516a6130c43b39a":[4,0,2,37,1,12],
-"structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398a1a5055a19504a515fd6de9ea994dfede":[4,0,2,37,1,11],
-"structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398a296d9d4e2e5c90bb415fc2d4d9aae464":[4,0,2,37,1,7],
-"structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398a36988b55cbefbe84e830e203ccec8084":[4,0,2,37,1,10],
-"structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398a391c38c1e5918867b0fca0cbcc6409bc":[4,0,2,37,1,6],
-"structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398a3b9744155214b64d8c6538101fba60cf":[4,0,2,37,1,4],
-"structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398a5e76d496146a579d4fb38f8cb2ae8ef5":[4,0,2,37,1,3],
-"structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398a5f155b0cd3841b39387fcc1098b93705":[4,0,2,37,1,9],
-"structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398a84ba71def686269838034a46bc23d09e":[4,0,2,37,1,14],
-"structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398a8c78427b9fd7d7e12107e0b2c59b32d8":[4,0,2,37,1,13],
-"structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398a9de842223c1aae3ce831673571bfecfb":[4,0,2,37,1,0],
-"structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398ab038792184267a841059392379496db3":[4,0,2,37,1,1],
-"structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398ac5cb4952084ed52db8e68001eb359ba0":[4,0,2,37,1,5],
-"structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398aea097fd07908cb620f226384be883015":[4,0,2,37,1,8],
-"structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398af281f7490639ea40cd4a07a359fceb65":[4,0,2,37,1,2],
-"structllfio__v2__xxx_1_1statfs__t.html#a1a1a822aca4e26f793e526f1779947bb":[4,0,2,37,3],
-"structllfio__v2__xxx_1_1statfs__t.html#a2655807be6194967c2768ab834ce8c4b":[4,0,2,37,9],
-"structllfio__v2__xxx_1_1statfs__t.html#a2e594db0ff5018223f00ffdcbd4dd771":[4,0,2,37,16],
-"structllfio__v2__xxx_1_1statfs__t.html#a360401ea41ab6debc8b8a8806c2dfc46":[4,0,2,37,5],
-"structllfio__v2__xxx_1_1statfs__t.html#a378f9f413ad7178b65bbdab76a29a06d":[4,0,2,37,13],
-"structllfio__v2__xxx_1_1statfs__t.html#a3a5739137cee606782d47afbd4bac38c":[4,0,2,37,11],
-"structllfio__v2__xxx_1_1statfs__t.html#a78b08b8091ddcd264ce9bd903bc4dec2":[4,0,2,37,8],
-"structllfio__v2__xxx_1_1statfs__t.html#a7b8ea29dcda069ef2af42a25eb283786":[4,0,2,37,14],
-"structllfio__v2__xxx_1_1statfs__t.html#a9684fea78f72efeafdbaa4a11f402060":[4,0,2,37,10],
-"structllfio__v2__xxx_1_1statfs__t.html#aa24a1f36d9addae9d0d6ab13eeb43e5d":[4,0,2,37,7],
-"structllfio__v2__xxx_1_1statfs__t.html#aa4a4f434ba56992244ac59c8f825a962":[4,0,2,37,4],
-"structllfio__v2__xxx_1_1statfs__t.html#aa8b39815508e9252da673c7e18666cd7":[4,0,2,37,17],
-"structllfio__v2__xxx_1_1statfs__t.html#abe7361e7f354e4de36b64f80b4c6c72e":[4,0,2,37,12],
-"structllfio__v2__xxx_1_1statfs__t.html#ac5414fc2f10e4d6f78617666a0353072":[4,0,2,37,2],
-"structllfio__v2__xxx_1_1statfs__t.html#ac7bedb646a6855541633e7bb7232b5e0":[4,0,2,37,15],
-"structllfio__v2__xxx_1_1statfs__t.html#aee7f0b961f34b79e95189e6cf8677cbf":[4,0,2,37,6],
-"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html":[4,0,2,37,0],
-"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a129920c6447ee9666c0bc935a8e2d243":[4,0,2,37,0,7],
-"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a17f61dd9f0f5aae7c34c55ba46358ddf":[4,0,2,37,0,0],
-"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a4559dec0d0c4354feb0b0c131aab266b":[4,0,2,37,0,4],
-"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a579e9f628436c4f5d90387355dd4ddf2":[4,0,2,37,0,2],
-"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a973d0ca8c51f329587144682aff54879":[4,0,2,37,0,5],
-"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#ab81fc2389da706385f01c68e45aa4d44":[4,0,2,37,0,6],
-"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#ac9b12b0d4f79387c1084a0216878a411":[4,0,2,37,0,1],
-"structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#af56d7eae510ec6f76827697d8f2ad7b1":[4,0,2,37,0,3],
-"structllfio__v2__xxx_1_1storage__profile_1_1item.html":[4,0,2,2,0],
-"structllfio__v2__xxx_1_1storage__profile_1_1item.html#a2580620b39e8cce0db068444dd6c14bf":[4,0,2,2,0,8],
-"structllfio__v2__xxx_1_1storage__profile_1_1item.html#a73583a38b2eac0522a71353b096f594b":[4,0,2,2,0,10],
-"structllfio__v2__xxx_1_1storage__profile_1_1item.html#a8e08f8c239422c6d4b34731568434885":[4,0,2,2,0,4],
-"structllfio__v2__xxx_1_1storage__profile_1_1item.html#a8e2758a838e47ddbfc11631d17c4afb9":[4,0,2,2,0,1],
-"structllfio__v2__xxx_1_1storage__profile_1_1item.html#a8f9536ff1752dee8f073e3dafac18fe0":[4,0,2,2,0,6],
-"structllfio__v2__xxx_1_1storage__profile_1_1item.html#a948529cb03ceb639a2b5f9c7d20542eb":[4,0,2,2,0,9],
-"structllfio__v2__xxx_1_1storage__profile_1_1item.html#aa0915c8cc88430ce45597255d7b56986":[4,0,2,2,0,7],
-"structllfio__v2__xxx_1_1storage__profile_1_1item.html#acdf903dda426a6431fe90414b4f705ae":[4,0,2,2,0,0],
-"structllfio__v2__xxx_1_1storage__profile_1_1item.html#ad7571c38bb9b0d9f09dcca143ac9946f":[4,0,2,2,0,2],
-"structllfio__v2__xxx_1_1storage__profile_1_1item.html#ae0eee78db1a35ba06d11a76e677ca9f9":[4,0,2,2,0,5],
-"structllfio__v2__xxx_1_1storage__profile_1_1item.html#aeaca8fe0437080153716297e8dfdbcaa":[4,0,2,2,0,3],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__base.html":[4,0,2,2,1],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a2580620b39e8cce0db068444dd6c14bf":[4,0,2,2,1,3],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a8f9536ff1752dee8f073e3dafac18fe0":[4,0,2,2,1,2],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a948529cb03ceb639a2b5f9c7d20542eb":[4,0,2,2,1,4],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a9d8245c86d34ff3d0f731372bb60ced2":[4,0,2,2,1,1],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#ae1026037f706015d2e10a545a64834c0":[4,0,2,2,1,0],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html":[4,0,2,2,2],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a0f52f8d9769f034435b0ea5080bf3488":[4,0,2,2,2,3],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a2580620b39e8cce0db068444dd6c14bf":[4,0,2,2,2,11],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a304587736d13127b67f68e09a397a4fd":[4,0,2,2,2,5],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a8f9536ff1752dee8f073e3dafac18fe0":[4,0,2,2,2,10],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a948529cb03ceb639a2b5f9c7d20542eb":[4,0,2,2,2,12],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a9973b036cdc9d3cc2908985b941c72fe":[4,0,2,2,2,1],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#aaab359e27526e19fbc3c517e054d25ed":[4,0,2,2,2,4],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#aad6ddffb9c8cf453b261780d0f3895d5":[4,0,2,2,2,8],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#abea7c179188a0ae728982bf8ad50d200":[4,0,2,2,2,0],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#ac160dd97720832a067feda5ca5cb4e5f":[4,0,2,2,2,7],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#ac9d90b19b6419bcfb07dd0c7dc546713":[4,0,2,2,2,2],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#ae0204e260cdfb9b8fdaa982e7461303f":[4,0,2,2,2,6],
-"structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#af077e4ae520692425c2ea74dd1246570":[4,0,2,2,2,9],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html":[4,0,2,2,3],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a009c613344a42f0afc9301cfcb1d6578":[4,0,2,2,3,17],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a06e404bc2d1dc0ecf94f8d9a9fc69972":[4,0,2,2,3,94],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a0e300d7284c629851be9670a257cd984":[4,0,2,2,3,22],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a0f968e990ff1492c52e976da6e472f9d":[4,0,2,2,3,70],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a10064029adf92a2b2fc97e8277a5ce3b":[4,0,2,2,3,9],
"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a1a35314c5647ff0e526de50891d3be7d":[4,0,2,2,3,59],
"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a20d71bd98a2dc4db195adbf6fd50bc17":[4,0,2,2,3,85],
"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a220be32bea5fce7b164740ed6299f221":[4,0,2,2,3,54],
@@ -249,5 +63,138 @@ var NAVTREEINDEX9 =
"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#abd2f5aca239fcd35a94a60db4d5bf133":[4,0,2,2,3,8],
"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ac0fd7584753593cb5499b3069e13d056":[4,0,2,2,3,56],
"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ac6e28bb3dec6b0531f7267a01d295486":[4,0,2,2,3,40],
-"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ac72468c441bcfd2d3989381600f6c923":[4,0,2,2,3,3]
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ac72468c441bcfd2d3989381600f6c923":[4,0,2,2,3,3],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ac9f186c0dee82daaebf7b880e615efb0":[4,0,2,2,3,87],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#acab0c98c93149616bddb937fcddeafef":[4,0,2,2,3,78],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#accda92d5c8ff679c32218792b9933aeb":[4,0,2,2,3,46],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ace1bcc49772be69abd8d43c7d83c51c5":[4,0,2,2,3,88],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#acf09944b61a0e84f7d72dd4a87ffb76d":[4,0,2,2,3,79],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ad015cb71ff92fa291190c2dc55c7c7de":[4,0,2,2,3,15],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ad774e9a30fc6ebd9e470309c72087f36":[4,0,2,2,3,91],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ad9c9da18153377245b960558ff48b5bc":[4,0,2,2,3,66],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ada721cf6bb1fc91b0790d2a19569e541":[4,0,2,2,3,4],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#adec0a74a4c294c7e38cd65a1799ba741":[4,0,2,2,3,86],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ae28eeb863bc8f82ba4882e207d599bec":[4,0,2,2,3,90],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ae37d5c2b27d30a4c7aa8ce2138616f09":[4,0,2,2,3,38],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ae53b85910a23f259b6ce560cd1763b55":[4,0,2,2,3,74],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ae8860b3934d76d9e0b1d6a3eadd9676b":[4,0,2,2,3,73],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aeab36fcf8c59f75987aba182ac46638e":[4,0,2,2,3,28],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aec674f9bb82befe1f9988e743eabba3b":[4,0,2,2,3,26],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#aed82185c960d98285f610aaaa5f1fd64":[4,0,2,2,3,20],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af0ac2be1da6f65e1f607c7788ebbdd73":[4,0,2,2,3,67],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af29b8cdeb4dd83912687b8fe68c703b7":[4,0,2,2,3,37],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af4bd372d9c265d26eadb2f1b4a494c12":[4,0,2,2,3,58],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af63e94ffbdb72bf6218cb4ba7c9a552b":[4,0,2,2,3,16],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af694347286b66f45e66b03d7825350d3":[4,0,2,2,3,21],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af7beaacfc3e7e47ef2392dfeac421b5d":[4,0,2,2,3,82],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af8906857ccc0bc91120d1d05f632b91d":[4,0,2,2,3,64],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#afb2730a6c2872ae8a511be761a74e6c4":[4,0,2,2,3,12],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#afd256f7447d897d67d2117339b6b4ba3":[4,0,2,2,3,48],
+"structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#afd8951bd4ad42ee68229e6c9e43bafa1":[4,0,2,2,3,63],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html":[4,0,2,38,0],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a134bcd43e1f4af8b0d4d051a7e63f9c2":[4,0,2,38,0,19],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a1a3dc794692feb06344268c5a0fb3796":[4,0,2,38,0,3],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a279081fc01f04d054683792e87ce6a38":[4,0,2,38,0,13],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a28e41b560e19db2f64f7cce036177570":[4,0,2,38,0,9],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a32745ecde75b89de1687b479f26f0007":[4,0,2,38,0,6],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a3880885ec5694a6ca77b4325a0684848":[4,0,2,38,0,7],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a51dfd679871acc80304b8479ca158ae1":[4,0,2,38,0,1],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a593246a844f24920e0e42b6cae363a5c":[4,0,2,38,0,0],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a82eea8eac069e5c90d60ffb0b472dc4b":[4,0,2,38,0,17],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8b5db964ac65a2d3f916798cd79ebcaa":[4,0,2,38,0,16],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8e897069034acea0439397ea4aeb777a":[4,0,2,38,0,4],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8ee21a380f56cd0e948cd84576a41636":[4,0,2,38,0,15],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a912fbd8b1122c799cc732817a830c890":[4,0,2,38,0,8],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aa4d9b043e638ad6e1b592f2b93a5c9c2":[4,0,2,38,0,5],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aac4581300de0e933397e3bb17daac03d":[4,0,2,38,0,12],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ac44ca889e5423c1bdeb02e5bee5f645a":[4,0,2,38,0,18],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aca3d0c03e7256af2d2126d47bfc44cd0":[4,0,2,38,0,11],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#acc92d4b9ce54a7dbc52170aad7b1d623":[4,0,2,38,0,14],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ad4138f1e3cfa2932aa898d0eb0a7bf6a":[4,0,2,38,0,2],
+"structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ae1138a854773d736e5cc8f3c13b29ec1":[4,0,2,38,0,10],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html":[4,0,2,38,1],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a0f67fea6217ef875f99985509e6a377a":[4,0,2,38,1,5],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a12f1639ded1220a720610edc00d335ec":[4,0,2,38,1,1],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a134bcd43e1f4af8b0d4d051a7e63f9c2":[4,0,2,38,1,18],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a2f7fc948f4b4c795ef3d9e89a5809d11":[4,0,2,38,1,7],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a3748c94e4f26f8402b6ea5fc62510a40":[4,0,2,38,1,13],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a41c96f5f7c229e50b0ec1ed469fc07d9":[4,0,2,38,1,10],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a463abaa97ced312d1e981ea0f6042ab6":[4,0,2,38,1,6],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a50ca2743bb8cc69e35150e53bdae9ad9":[4,0,2,38,1,3],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a65a1e6fb61722bd8004143d93f3f36ba":[4,0,2,38,1,12],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a733bd93f06d69dbff1b45e4fe83e99a6":[4,0,2,38,1,16],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a7fcbe9f59f2a637b082c223bb577d97a":[4,0,2,38,1,2],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#abe8fb78c928a515db8f017af10436852":[4,0,2,38,1,17],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#ac6169c9b49862a61bfe7010026c1de3d":[4,0,2,38,1,8],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#accf47d6df50545ad0f84e5237340a18a":[4,0,2,38,1,11],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#add9b0a91ed65466278dc158375f4f621":[4,0,2,38,1,14],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#aed1bbdd2f849774c090b2837ff5a15fc":[4,0,2,38,1,9],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#af25e67360ee7f49539f1e8f5dac1cd97":[4,0,2,38,1,15],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#af9830b9a4da9084989113bd7ab98988a":[4,0,2,38,1,4],
+"structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#afbc9d2f6022b713a160e471088032878":[4,0,2,38,1,0],
+"structllfio__v2__xxx_1_1symlink__handle_1_1io__request.html":[4,0,2,38,2],
+"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html":[4,0,2,38,3],
+"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html#a4e67cb18f2fb96cc20407538639b577c":[4,0,2,38,3,0],
+"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html#a9712d301efd63761573e42c530860b6c":[4,0,2,38,3,1],
+"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html#a99aeb89e3cf582eabcb1377927851307":[4,0,2,38,3,3],
+"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01buffers__type_00_01_________01_4.html#abe981c3502edec87b177ee38cd18a438":[4,0,2,38,3,2],
+"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html":[4,0,2,38,4],
+"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#a33e29e085faf927b441f5bc6432051fd":[4,0,2,38,4,0],
+"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#a95d04a85fd6c6de0f0f46ab2f1bbf3c5":[4,0,2,38,4,4],
+"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#ab80d17f7c11535e95b374938d4a89ff7":[4,0,2,38,4,1],
+"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#ab80d17f7c11535e95b374938d4a89ff7":[4,0,2,38,4,2],
+"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#ac6c62e07618b3d0bb32cfcca328ddb20":[4,0,2,38,4,3],
+"structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html":[4,0,2,3,0,0],
+"structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html#a0093a2a440bd3662b0ec692db4b59748":[4,0,2,3,0,0,0],
+"structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html":[4,0,2,3,1,0],
+"structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html#a9fb40a440a17abac7be77f58722276b8":[4,0,2,3,1,0,0],
+"symlink__handle_8hpp.html":[5,0,0,1,0,22],
+"symlink__handle_8hpp.html#a0fc31d7bab5faf3ee82e73854ff798b7":[5,0,0,1,0,22,8],
+"symlink__handle_8hpp.html#a5bdf9ca2127daf5defb1d845f21fa7b9":[5,0,0,1,0,22,7],
+"todo.html":[1],
+"trivial__vector_8hpp.html":[5,0,0,1,0,0,2],
+"trivial__vector_8hpp.html#a48db273f73f86955938b99faeef6e113":[5,0,0,1,0,0,2,9],
+"trivial__vector_8hpp.html#a4ba09ef10dc88c605edf40669322d8d4":[5,0,0,1,0,0,2,12],
+"trivial__vector_8hpp.html#a6e8566ac7a5eeb0c14cf2387dfb8c1a1":[5,0,0,1,0,0,2,11],
+"trivial__vector_8hpp.html#a7ef00d65394827ceb91597dda1f496f9":[5,0,0,1,0,0,2,5],
+"trivial__vector_8hpp.html#a993ddc5c77998a907582247107f6e6c5":[5,0,0,1,0,0,2,10],
+"trivial__vector_8hpp.html#ac18e1a34c78ea3e115ec42e822003459":[5,0,0,1,0,0,2,7],
+"trivial__vector_8hpp.html#ac3de302506425adecb76aaa0a93377f4":[5,0,0,1,0,0,2,6],
+"trivial__vector_8hpp.html#ade5c4ba1da02f45e072be8f16e1fa46a":[5,0,0,1,0,0,2,8],
+"trivial__vector_8hpp.html#ade7571062c3e19cb6622bd2e411130ab":[5,0,0,1,0,0,2,13],
+"trivial__vector_8hpp.html#ae0973243c4b58d53d6f11ce5a2535a8c":[5,0,0,1,0,0,2,14],
+"utils_8hpp.html":[5,0,0,1,0,23],
+"utils_8hpp.html#a2305cf865b7952f58aba997c4ac95efb":[5,0,0,1,0,23,6],
+"utils_8hpp.html#a42fc69cae3dbbf66498545cbe358e2ba":[5,0,0,1,0,23,11],
+"utils_8hpp.html#a5499feaf6b774e774a26e7decd11e3fa":[5,0,0,1,0,23,15],
+"utils_8hpp.html#a67f8f31f6b93293a22a4b30d686eb3af":[5,0,0,1,0,23,17],
+"utils_8hpp.html#a6a29cf29a4b097411f6c1e5274bfb417":[5,0,0,1,0,23,14],
+"utils_8hpp.html#a6c41e314d4d4b8362b96a3b4c1c363f5":[5,0,0,1,0,23,12],
+"utils_8hpp.html#a7aae80908cc5521ef67234152c5c5044":[5,0,0,1,0,23,18],
+"utils_8hpp.html#a85afc40cff0ecfd3a13520ea7e5176a1":[5,0,0,1,0,23,4],
+"utils_8hpp.html#a90d8f94ddb6e026f931e86d0dc904778":[5,0,0,1,0,23,8],
+"utils_8hpp.html#abacefaf60ae391226c4775cf8a61276a":[5,0,0,1,0,23,7],
+"utils_8hpp.html#acf1b1646f257d85f7f2655df1042483f":[5,0,0,1,0,23,5],
+"utils_8hpp.html#ae1d9ee5d6d391f39f62dacbc8c957ae8":[5,0,0,1,0,23,9],
+"utils_8hpp.html#ae61e2de30b06776a1c24643a1d1dc64e":[5,0,0,1,0,23,13],
+"utils_8hpp.html#ae880ebd5681dcf6b700d67fb10b4547e":[5,0,0,1,0,23,10],
+"utils_8hpp.html#afa36e8bc2a1f004696c09d104e23d685":[5,0,0,1,0,23,16],
+"v2_80_2llfio_8hpp.html":[5,0,0,1,0,11],
+"v2_80_2llfio_8hpp.html#a090b0d323b6d7d2496dba7aa42068013":[5,0,0,1,0,11,7],
+"v2_80_2llfio_8hpp.html#a18295c2601f9e6cb9e759d57fa0d8ab4":[5,0,0,1,0,11,8],
+"v2_80_2llfio_8hpp.html#a699beb5138cc8f2a2df12d833e4d96be":[5,0,0,1,0,11,3],
+"v2_80_2llfio_8hpp.html#a71266556cd079007ccdcd8225f115d87":[5,0,0,1,0,11,1],
+"v2_80_2llfio_8hpp.html#a7b08237a3cfed4832068a4daa6d6e160":[5,0,0,1,0,11,2],
+"v2_80_2llfio_8hpp.html#aadba5400c27b35d85067c431cfd9b0e6":[5,0,0,1,0,11,4],
+"v2_80_2llfio_8hpp.html#ab03294596f77a7717954929a887ca425":[5,0,0,1,0,11,6],
+"v2_80_2llfio_8hpp.html#acac3045524a50876c1bc6068bd6237f0":[5,0,0,1,0,11,5],
+"v2_80_2llfio_8hpp.html#ae0f8dc3a9d303f90044533d23f6417a8":[5,0,0,1,0,11,0],
+"version_8hpp.html":[5,0,0,1,2],
+"version_8hpp.html#a699beb5138cc8f2a2df12d833e4d96be":[5,0,0,1,2,4],
+"version_8hpp.html#a7b08237a3cfed4832068a4daa6d6e160":[5,0,0,1,2,2],
+"version_8hpp.html#a7b08237a3cfed4832068a4daa6d6e160":[5,0,0,1,2,1],
+"version_8hpp.html#aadba5400c27b35d85067c431cfd9b0e6":[5,0,0,1,2,5],
+"version_8hpp.html#ac7aedfe0660c15373b69a68f760c5799":[5,0,0,1,2,0],
+"xor_8hpp.html":[5,0,0,1,0,0,0,2],
+"xor_8hpp.html#a27450e894b5dab6c18a01350670fa0dc":[5,0,0,1,0,0,0,2,0]
};
diff --git a/search/all_1.js b/search/all_1.js
index 9159e35c..75161c6f 100644
--- a/search/all_1.js
+++ b/search/all_1.js
@@ -3,21 +3,18 @@ var searchData=
['acls',['acls',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a17f61dd9f0f5aae7c34c55ba46358ddf',1,'llfio_v2_xxx::statfs_t::f_flags_t']]],
['adapted_5fhandle_5ftype',['adapted_handle_type',['../classllfio__v2__xxx_1_1algorithm_1_1cached__parent__handle__adapter.html#af52438883443a2aadd8f1253187d902b',1,'llfio_v2_xxx::algorithm::cached_parent_handle_adapter']]],
['address',['address',['../classllfio__v2__xxx_1_1map__handle.html#a7456b95e191ec373af61af6541dd4737',1,'llfio_v2_xxx::map_handle::address()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#af781e99c23d0a8158c249066214ac49c',1,'llfio_v2_xxx::mapped_file_handle::address()']]],
- ['aligned_5fio',['aligned_io',['../structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7aa965d460f7cbe6c30dfce6432bb1c41d',1,'llfio_v2_xxx::native_handle_type']]],
['all',['all',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51',1,'llfio_v2_xxx::handle']]],
['all_5ftemporary_5fdirectories',['all_temporary_directories',['../namespacellfio__v2__xxx_1_1path__discovery.html#ada0466e529e851d2d58ce87e0e28f4f2',1,'llfio_v2_xxx::path_discovery']]],
['allocator',['allocator',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a5d1b9afb5721b17ee1b24c53e0d7bbef',1,'kvstore_v1_xxx::basic_key_value_store::allocator() noexcept'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a763d805ef9ca3c5862632d69d285e065',1,'kvstore_v1_xxx::basic_key_value_store::allocator() const noexcept']]],
['allocator_5ftype',['allocator_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a1f0f1d6b86075230abeeb582f23ec4c5',1,'kvstore_v1_xxx::basic_key_value_store']]],
['always_5fnew',['always_new',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d',1,'llfio_v2_xxx::handle']]],
- ['anonymous_5finode',['anonymous_inode',['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d',1,'llfio_v2_xxx::handle']]],
['append',['append',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d',1,'llfio_v2_xxx::handle']]],
- ['append_5fonly',['append_only',['../structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a9256691cdd6fc5afaa7cd96091781ced',1,'llfio_v2_xxx::native_handle_type']]],
['are_5freads_5ffrom_5fcache',['are_reads_from_cache',['../classllfio__v2__xxx_1_1handle.html#a7126a726b2a06e4c1eca1a94c41163ff',1,'llfio_v2_xxx::handle']]],
['are_5fsafety_5fbarriers_5fissued',['are_safety_barriers_issued',['../classllfio__v2__xxx_1_1handle.html#a0a2a5896f5e373fa032cdae1c1fff2c1',1,'llfio_v2_xxx::handle']]],
['are_5fwrites_5fdurable',['are_writes_durable',['../classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf',1,'llfio_v2_xxx::handle']]],
['as_5fspan',['as_span',['../classllfio__v2__xxx_1_1mapped.html#adf6a019e6d93292c2e07db1b6ee66c2d',1,'llfio_v2_xxx::mapped']]],
['assign',['assign',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aea98df8215a197c3356e5ff9098ae238',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::assign(size_type count, const value_type &amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa9a12b102e96f3f5e1cc24a71fbf480b',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::assign(InputIt first, InputIt last)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae539f1d862f516854859e22adad5e833',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::assign(std::initializer_list&lt; value_type &gt; il)']]],
- ['async_5fbarrier',['async_barrier',['../classllfio__v2__xxx_1_1async__file__handle.html#a7d29c4f0a0eca88431f5e1b290e66fe7',1,'llfio_v2_xxx::async_file_handle::async_barrier()'],['../namespacellfio__v2__xxx.html#abd72aa0028b4b7e5561a7375b124e22f',1,'llfio_v2_xxx::async_barrier()']]],
+ ['async_5fbarrier',['async_barrier',['../classllfio__v2__xxx_1_1async__file__handle.html#aab8b4425981da0c40e684bccbb9a8a30',1,'llfio_v2_xxx::async_file_handle']]],
['async_5ffile',['async_file',['../classllfio__v2__xxx_1_1async__file__handle.html#aa7511a8b300c448a5a0eeaea499e665e',1,'llfio_v2_xxx::async_file_handle::async_file()'],['../namespacellfio__v2__xxx.html#ab8bf2fda0abbb11fdeb77d25f8288149',1,'llfio_v2_xxx::async_file()']]],
['async_5ffile_5fhandle',['async_file_handle',['../classllfio__v2__xxx_1_1async__file__handle.html',1,'llfio_v2_xxx::async_file_handle'],['../classllfio__v2__xxx_1_1async__file__handle.html#a8b72655442a5c5a17e609a6df96106e0',1,'llfio_v2_xxx::async_file_handle::async_file_handle()'],['../classllfio__v2__xxx_1_1async__file__handle.html#a4e0afe8f9559163a716b722e280e4e13',1,'llfio_v2_xxx::async_file_handle::async_file_handle(io_service *service, native_handle_type h, dev_t devid, ino_t inode, caching caching=caching::none, flag flags=flag::none)'],['../classllfio__v2__xxx_1_1async__file__handle.html#a7ecbdab79c48565dcd2af6e62645d4da',1,'llfio_v2_xxx::async_file_handle::async_file_handle(async_file_handle &amp;&amp;o) noexcept=default'],['../classllfio__v2__xxx_1_1async__file__handle.html#ae021a5a199931162fdf484d8ce27b495',1,'llfio_v2_xxx::async_file_handle::async_file_handle(const async_file_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1async__file__handle.html#afcfbb2ce7944347147475f894af5a6d4',1,'llfio_v2_xxx::async_file_handle::async_file_handle(file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1async__file__handle.html#a00be8e5e3cdc19365434a630f4f0c4fe',1,'llfio_v2_xxx::async_file_handle::async_file_handle(handle &amp;&amp;o, io_service *service, dev_t devid, ino_t inode) noexcept']]],
['async_5ffile_5fhandle_2ehpp',['async_file_handle.hpp',['../async__file__handle_8hpp.html',1,'']]],
@@ -29,8 +26,6 @@ var searchData=
['at',['at',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0079ec33d245c84ee66b20e88866035b',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::at(size_type i)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7e43886636755ba657a9fb5fce4d1c2f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::at(size_type i) const']]],
['atomic_5fappend',['atomic_append',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a9ad4f626c7381bf3a2121c996ae1a17c',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::atomic_append(const atomic_append &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a2dad7f9e1f8212f8556bce1c059c641b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::atomic_append(atomic_append &amp;&amp;o) noexcept']]],
['atomic_5fappend_2ehpp',['atomic_append.hpp',['../atomic__append_8hpp.html',1,'']]],
- ['atomic_5fsnapshots',['atomic_snapshots',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa5a728b7bc78a19837107974cf95a4d72',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
- ['atomic_5ftransactions',['atomic_transactions',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa28f74a66be96d3481e374af6b741172f',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
['attr_5fread',['attr_read',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaa4daf6d1e8da35af49c33bbe9ee91d79',1,'llfio_v2_xxx::handle']]],
['attr_5fwrite',['attr_write',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9f56aff64cb748e078ab221474132d19',1,'llfio_v2_xxx::handle']]],
['await_5fready',['await_ready',['../classllfio__v2__xxx_1_1async__file__handle_1_1awaitable.html#a7db8e009f82fc944bf46b7eacba156ae',1,'llfio_v2_xxx::async_file_handle::awaitable']]],
diff --git a/search/all_10.js b/search/all_10.js
index 321b4288..b9ba9a68 100644
--- a/search/all_10.js
+++ b/search/all_10.js
@@ -1,36 +1,5 @@
var searchData=
[
- ['random_5fdirectory',['random_directory',['../classllfio__v2__xxx_1_1directory__handle.html#ae4a5f33565a72009d2a9471f925b4aad',1,'llfio_v2_xxx::directory_handle::random_directory()'],['../namespacellfio__v2__xxx.html#ad574b7ae82e4a082a7d5703097d65e92',1,'llfio_v2_xxx::random_directory()']]],
- ['random_5fentity',['random_entity',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a8d62fe0c18bcfb1ade9ff9c7bb00e70b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex']]],
- ['random_5ffile',['random_file',['../classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47',1,'llfio_v2_xxx::file_handle::random_file()'],['../namespacellfio__v2__xxx.html#a5bc9df0fdb554e757d14cf40af0bbb4e',1,'llfio_v2_xxx::random_file()']]],
- ['random_5ffill',['random_fill',['../namespacellfio__v2__xxx_1_1utils.html#ae61e2de30b06776a1c24643a1d1dc64e',1,'llfio_v2_xxx::utils']]],
- ['random_5fstring',['random_string',['../namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417',1,'llfio_v2_xxx::utils']]],
- ['random_5fsymlink',['random_symlink',['../classllfio__v2__xxx_1_1symlink__handle.html#aa519e98396a1596c880267dcc92643f1',1,'llfio_v2_xxx::symlink_handle']]],
- ['rbegin',['rbegin',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae79263dcf9faf5d3f2973ba688201f7e',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rbegin() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afff8e1a93ad371a5844543a3e782f471',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rbegin() const noexcept']]],
- ['rdonly',['rdonly',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#ab81fc2389da706385f01c68e45aa4d44',1,'llfio_v2_xxx::statfs_t::f_flags_t']]],
- ['read',['read',['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a63bd03aae67c348121ac0bf88161d90f',1,'llfio_v2_xxx::section_handle::read()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ad92f318479bfb0f54753d96756ce527c',1,'kvstore_v1_xxx::basic_key_value_store::read()'],['../classllfio__v2__xxx_1_1directory__handle.html#a45c13e16ecc131cbe5107e6affe94f33',1,'llfio_v2_xxx::directory_handle::read()'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#ae84ac3c127d067d44d978e4621d4d2f1',1,'llfio_v2_xxx::fast_random_file_handle::read()'],['../classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467',1,'llfio_v2_xxx::file_handle::read()'],['../classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d',1,'llfio_v2_xxx::io_handle::read()'],['../classllfio__v2__xxx_1_1map__handle.html#a073cdca57e3e3718d2eb285be51d5c92',1,'llfio_v2_xxx::map_handle::read()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#ae4ca3f09ab781322c22f903d31ec7aa9',1,'llfio_v2_xxx::mapped_file_handle::read()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a4d7d2e7ae94312b9757d8a5c12724c0f',1,'llfio_v2_xxx::storage_profile::storage_profile::read()'],['../classllfio__v2__xxx_1_1symlink__handle.html#aa8f2a6e0f971b7b88a88562f8744f4da',1,'llfio_v2_xxx::symlink_handle::read()'],['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e',1,'llfio_v2_xxx::handle::read()'],['../namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683',1,'llfio_v2_xxx::read(file_handle &amp;self, file_handle::extent_type offset, std::initializer_list&lt; file_handle::buffer_type &gt; lst, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#a225e15680392dfa9e1dda42afcc09672',1,'llfio_v2_xxx::read(io_handle &amp;self, io_handle::io_request&lt; io_handle::buffers_type &gt; reqs, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#ab993693c98cdb52e2d611f8f9e24e4e2',1,'llfio_v2_xxx::read(map_handle &amp;self, map_handle::io_request&lt; map_handle::buffers_type &gt; reqs, deadline d=deadline()) noexcept']]],
- ['readable',['readable',['../structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a2bf351d9ef739909485db2d6e0d55a00',1,'llfio_v2_xxx::native_handle_type']]],
- ['reads',['reads',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1',1,'llfio_v2_xxx::handle']]],
- ['reads_5fand_5fmetadata',['reads_and_metadata',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852adec4ecca8ae1593f84eea4656599a693',1,'llfio_v2_xxx::handle']]],
- ['rebind',['rebind',['../structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html',1,'llfio_v2_xxx::utils::page_allocator&lt; T &gt;::rebind&lt; U &gt;'],['../structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html',1,'llfio_v2_xxx::utils::page_allocator&lt; void &gt;::rebind&lt; U &gt;']]],
- ['reference',['reference',['../classllfio__v2__xxx_1_1mapped.html#ac72fe8e94cd14a91d4744a642e88d2df',1,'llfio_v2_xxx::mapped::reference()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ada721cf6bb1fc91b0790d2a19569e541',1,'llfio_v2_xxx::storage_profile::storage_profile::reference()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa1a4f45c53bf48559f6aed4064270ad8',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::reference()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a24da309718d5b5a8520db5f3bf7ba176',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::reference()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ac597ca996edce5cecf4bacf36a324b49',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::reference()']]],
- ['relative_5fpath',['relative_path',['../classllfio__v2__xxx_1_1path__view.html#a48eb689da1dbc5d5e9097a5fa6054c55',1,'llfio_v2_xxx::path_view']]],
- ['release',['release',['../classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e',1,'llfio_v2_xxx::handle::release()'],['../classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html#a7994a1c984e75c7757395d70d78ed35d',1,'llfio_v2_xxx::io_handle::extent_guard::release()'],['../classllfio__v2__xxx_1_1map__handle.html#a06cfd3521ff08782a848821951510f11',1,'llfio_v2_xxx::map_handle::release()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a4072a4f2448ef3b8c7075fa8734acf71',1,'llfio_v2_xxx::mapped_file_handle::release()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#ae0e9fd495a54debec2087dda64d4ce08',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard::release()']]],
- ['relink',['relink',['../classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2',1,'llfio_v2_xxx::fs_handle::relink()'],['../classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c',1,'llfio_v2_xxx::symlink_handle::relink()'],['../namespacellfio__v2__xxx.html#a60fa5c64c83ce05c8287c5379d082e49',1,'llfio_v2_xxx::relink()']]],
- ['remove_5ffilename',['remove_filename',['../classllfio__v2__xxx_1_1path__view.html#a32586d7c5588e0686e6ceb75d06b1a0d',1,'llfio_v2_xxx::path_view']]],
- ['rend',['rend',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7a6047c4854a37f1b2437c6077a32fc5',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rend() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8e9caa72b31819407ee9aaa1e6b21b0f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rend() const noexcept']]],
- ['requires_5faligned_5fio',['requires_aligned_io',['../classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb',1,'llfio_v2_xxx::handle::requires_aligned_io()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a45431e8a673c8a7d204136cd2ae612ed',1,'llfio_v2_xxx::native_handle_type::requires_aligned_io()']]],
- ['reserve',['reserve',['../classllfio__v2__xxx_1_1mapped__file__handle.html#a15f9dd6f1c89f8f4cc52bba178f14433',1,'llfio_v2_xxx::mapped_file_handle::reserve()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a16de143c40c148e26633f4d8ee101644',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::reserve()']]],
- ['resize',['resize',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8cbd61a3899369965a1cbbd7cb21bd31',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::resize()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ae3338448769e08627b5a7a4242fe9f6f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::resize()']]],
- ['result_5fstorage',['result_storage',['../unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.html',1,'llfio_v2_xxx::async_file_handle::_erased_io_state_type']]],
- ['reverse_5fiterator',['reverse_iterator',['../classllfio__v2__xxx_1_1mapped.html#a6f7cf4a4676feaa2deaefc35f95c6393',1,'llfio_v2_xxx::mapped::reverse_iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0f02e6310c58b372b91844fd9f7feb0a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::reverse_iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a6477cecf8801118b5d8a5df6df0bc339',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::reverse_iterator()']]],
- ['root_5fdirectory',['root_directory',['../classllfio__v2__xxx_1_1path__view.html#a7c17ee6aee34cfcb86908b2e577506a9',1,'llfio_v2_xxx::path_view']]],
- ['root_5fname',['root_name',['../classllfio__v2__xxx_1_1path__view.html#a9fd8db4fd8ed2ad0291b9213280070a3',1,'llfio_v2_xxx::path_view']]],
- ['root_5fpath',['root_path',['../classllfio__v2__xxx_1_1path__view.html#aa939f069a5d1d6b06b4e4afdf3f47296',1,'llfio_v2_xxx::path_view']]],
- ['round_5fdown_5fto_5fpage_5fsize',['round_down_to_page_size',['../namespacellfio__v2__xxx_1_1utils.html#a5499feaf6b774e774a26e7decd11e3fa',1,'llfio_v2_xxx::utils']]],
- ['round_5fto_5fpage_5fsize',['round_to_page_size',['../namespacellfio__v2__xxx_1_1utils.html#afa36e8bc2a1f004696c09d104e23d685',1,'llfio_v2_xxx::utils']]],
- ['round_5fup_5fto_5fpage_5fsize',['round_up_to_page_size',['../namespacellfio__v2__xxx_1_1utils.html#a67f8f31f6b93293a22a4b30d686eb3af',1,'llfio_v2_xxx::utils']]],
- ['run',['run',['../classllfio__v2__xxx_1_1io__service.html#a5719f4f0779047c202d7fb3cda0dcc28',1,'llfio_v2_xxx::io_service']]],
- ['run_5funtil',['run_until',['../classllfio__v2__xxx_1_1io__service.html#a528acb1c8ec8caa06fc084962f974106',1,'llfio_v2_xxx::io_service']]],
- ['running_5funder_5fwsl',['running_under_wsl',['../namespacellfio__v2__xxx_1_1utils.html#a7aae80908cc5521ef67234152c5c5044',1,'llfio_v2_xxx::utils']]]
+ ['quickcpplib_5fbitfield_5fbegin',['QUICKCPPLIB_BITFIELD_BEGIN',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a71bf22a199b1f8461e9612269eb2cf29',1,'kvstore_v1_xxx::basic_key_value_store_info::QUICKCPPLIB_BITFIELD_BEGIN()'],['../classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf',1,'llfio_v2_xxx::handle::QUICKCPPLIB_BITFIELD_BEGIN()'],['../classllfio__v2__xxx_1_1section__handle.html#a5405985448afbfe281cbf98ab7bbb3ab',1,'llfio_v2_xxx::section_handle::QUICKCPPLIB_BITFIELD_BEGIN()'],['../structllfio__v2__xxx_1_1native__handle__type.html#aab66573d64b32857ecc113b87dd56489',1,'llfio_v2_xxx::native_handle_type::QUICKCPPLIB_BITFIELD_BEGIN()'],['../structllfio__v2__xxx_1_1stat__t.html#a7c281295d6ae22631336206446f37581',1,'llfio_v2_xxx::stat_t::QUICKCPPLIB_BITFIELD_BEGIN()'],['../structllfio__v2__xxx_1_1statfs__t.html#a3899059be19d84cd3b17077314045428',1,'llfio_v2_xxx::statfs_t::QUICKCPPLIB_BITFIELD_BEGIN()']]],
+ ['quickcpplib_5fbitfield_5fend',['QUICKCPPLIB_BITFIELD_END',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a74806d5aad24bdf1607755aefd8d70b4',1,'kvstore_v1_xxx::basic_key_value_store_info::QUICKCPPLIB_BITFIELD_END()'],['../structllfio__v2__xxx_1_1stat__t.html#a8fc0ebfd31e3e3c5fe561f61fb86a6b7',1,'llfio_v2_xxx::stat_t::QUICKCPPLIB_BITFIELD_END()'],['../structllfio__v2__xxx_1_1statfs__t.html#ae6bb78770f0544cee409e3420efed426',1,'llfio_v2_xxx::statfs_t::QUICKCPPLIB_BITFIELD_END()']]]
];
diff --git a/search/all_11.js b/search/all_11.js
index ecb1899a..117931ef 100644
--- a/search/all_11.js
+++ b/search/all_11.js
@@ -1,68 +1,35 @@
var searchData=
[
- ['safe_5fbyte_5franges',['safe_byte_ranges',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a0bc85104e524c7a97e6934b605788b6b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::safe_byte_ranges(const safe_byte_ranges &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a3ddf148d1bf4ea4e8d8abeff6ec5660f',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::safe_byte_ranges(safe_byte_ranges &amp;&amp;o) noexcept']]],
- ['safe_5fbyte_5franges_2ehpp',['safe_byte_ranges.hpp',['../safe__byte__ranges_8hpp.html',1,'']]],
- ['safety_5fbarriers',['safety_barriers',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a9cd65f46f55fb6a4b198fcee6f0a63c1',1,'llfio_v2_xxx::handle']]],
- ['score',['score',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a42ce844ff625bc9912a30d0fac3c5f45',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
- ['section',['section',['../structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a5d4474f0197e13f3205443ad91de390e',1,'llfio_v2_xxx::native_handle_type::section()'],['../classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21',1,'llfio_v2_xxx::section_handle::section(file_handle &amp;backing, extent_type maximum_size, flag _flag) noexcept'],['../classllfio__v2__xxx_1_1section__handle.html#aa9922be0637718ae8c84d4a3c06a9eaf',1,'llfio_v2_xxx::section_handle::section(file_handle &amp;backing, extent_type bytes=0) noexcept'],['../classllfio__v2__xxx_1_1section__handle.html#a8f36f6c6684010c729c78a34645ba3aa',1,'llfio_v2_xxx::section_handle::section(extent_type bytes, const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), flag _flag=flag::read|flag::write) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#a173539843aebd387bb8ca06246067ead',1,'llfio_v2_xxx::map_handle::section()'],['../classllfio__v2__xxx_1_1mapped.html#acb843c564a96365ee7eacb529b028a70',1,'llfio_v2_xxx::mapped::section()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a308969448e8934b7a86bcc693b9cc578',1,'llfio_v2_xxx::mapped_file_handle::section() const noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a07e95f16802d266bfbbf5a7ccde95c33',1,'llfio_v2_xxx::mapped_file_handle::section() noexcept'],['../namespacellfio__v2__xxx.html#ac9be77116e7a2d8c029dd066dfa363fb',1,'llfio_v2_xxx::section(file_handle &amp;backing, section_handle::extent_type maximum_size, section_handle::flag _flag) noexcept'],['../namespacellfio__v2__xxx.html#a3d55c0a3b567c7ed05053a94750bb133',1,'llfio_v2_xxx::section(file_handle &amp;backing, section_handle::extent_type bytes=0) noexcept'],['../namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd',1,'llfio_v2_xxx::section(section_handle::extent_type bytes, const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), section_handle::flag _flag=section_handle::flag::read|section_handle::flag::write) noexcept']]],
- ['section_5fflags',['section_flags',['../classllfio__v2__xxx_1_1section__handle.html#a99bb38a023cb0cb486e6210485cc1ca4',1,'llfio_v2_xxx::section_handle']]],
- ['section_5fhandle',['section_handle',['../classllfio__v2__xxx_1_1section__handle.html',1,'llfio_v2_xxx::section_handle'],['../classllfio__v2__xxx_1_1section__handle.html#a34f702e58a35c1eee31f5a5d3e5ec73d',1,'llfio_v2_xxx::section_handle::section_handle()'],['../classllfio__v2__xxx_1_1section__handle.html#a9652c4732314142bd472304f36386ef8',1,'llfio_v2_xxx::section_handle::section_handle(native_handle_type sectionh, file_handle *backing, file_handle anonymous, flag __flag)'],['../classllfio__v2__xxx_1_1section__handle.html#a28bc1b458a57c697b94804fd6c87dcd9',1,'llfio_v2_xxx::section_handle::section_handle(section_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1section__handle.html#ab3cb03378bf927a2fb6636beb6ca2f20',1,'llfio_v2_xxx::section_handle::section_handle(const section_handle &amp;)=delete']]],
- ['seekable',['seekable',['../structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7aff1dd4bc49b07187a9b147a14f9102b6',1,'llfio_v2_xxx::native_handle_type']]],
- ['service',['service',['../classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a',1,'llfio_v2_xxx::file_handle']]],
- ['set_5fappend_5fonly',['set_append_only',['../classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a',1,'llfio_v2_xxx::handle']]],
- ['set_5fbacking',['set_backing',['../classllfio__v2__xxx_1_1section__handle.html#a85635c700f2778280481598393c24c00',1,'llfio_v2_xxx::section_handle']]],
- ['set_5fhandle',['set_handle',['../classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html#aaebef63395732f47b469310dc2a4165d',1,'llfio_v2_xxx::io_handle::extent_guard']]],
- ['set_5finterruption_5fsignal',['set_interruption_signal',['../classllfio__v2__xxx_1_1io__service.html#aeacd8d21f956903c204ee49c0d3ab195',1,'llfio_v2_xxx::io_service']]],
- ['set_5fsection',['set_section',['../classllfio__v2__xxx_1_1map__handle.html#a7a27e949d3333a75e96f5d979e2d6bbf',1,'llfio_v2_xxx::map_handle']]],
- ['shared_5ffs_5fmutex',['shared_fs_mutex',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex']]],
- ['shared_5fmemory',['shared_memory',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa6c63421d928a8176a0aa653bdc1b3e43',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
- ['shrink_5fto_5ffit',['shrink_to_fit',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a19aa2b2535f9880a41f64fb43162ec9e',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
- ['singleton',['singleton',['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a41771be4e90788c06cc49f2d35538108',1,'llfio_v2_xxx::section_handle']]],
- ['size',['size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a5add0f7b7711da9b0574d1ffde7b9f52',1,'kvstore_v1_xxx::basic_key_value_store::size()'],['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#adaf1c1f3ed96cae94769b24a19639cba',1,'llfio_v2_xxx::io_handle::buffer_type::size()'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a3dadd6b826704451e89cabf1c1305b40',1,'llfio_v2_xxx::io_handle::const_buffer_type::size()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ad015cb71ff92fa291190c2dc55c7c7de',1,'llfio_v2_xxx::storage_profile::storage_profile::size()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a84a6bbb08480b7803a49e203b7501fa0',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::size()']]],
- ['size_5ftype',['size_type',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a53700b762910c0189fd240e4bc51508a',1,'kvstore_v1_xxx::basic_key_value_store_info::size_type()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a9b73e1e034a4eaea7c0b83e870772296',1,'kvstore_v1_xxx::basic_key_value_store::size_type()'],['../classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58',1,'llfio_v2_xxx::handle::size_type()'],['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a2ce9cb356417eb14142a785d7283d008',1,'llfio_v2_xxx::io_handle::buffer_type::size_type()'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#acb6c33db3aabfbf88d5e8f636c8b6dd0',1,'llfio_v2_xxx::io_handle::const_buffer_type::size_type()'],['../classllfio__v2__xxx_1_1io__service.html#af156201cfa97bea20529bde7a67db405',1,'llfio_v2_xxx::io_service::size_type()'],['../classllfio__v2__xxx_1_1mapped.html#a25d56aca213617d530ab3c9cb6f43df5',1,'llfio_v2_xxx::mapped::size_type()'],['../classllfio__v2__xxx_1_1path__view.html#ac797abdc80bbd5f5b94ccb4e30117cbb',1,'llfio_v2_xxx::path_view::size_type()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a9791351967d62e6a601bbb9868bcb5e6',1,'llfio_v2_xxx::storage_profile::storage_profile::size_type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a1a3dc794692feb06344268c5a0fb3796',1,'llfio_v2_xxx::symlink_handle::buffers_type::size_type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a50ca2743bb8cc69e35150e53bdae9ad9',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::size_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a75263e7a463a37563ebdffc5cadbb469',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::size_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a158069bbd26f6ffdfeecc6ab89b7094a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::size_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a9daee40ff05d3b161652273556caf46a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::size_type()']]],
- ['snapshot',['snapshot',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a16e68740144469de54dd234540ac9c72',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['source_5ftype',['source_type',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7d',1,'llfio_v2_xxx::path_discovery::discovered_path']]],
- ['spinlock_5ftype',['spinlock_type',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#ae61aba70c59a38a264ae2b643b791a17',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map']]],
- ['st_5fallocated',['st_allocated',['../structllfio__v2__xxx_1_1stat__t.html#a57ae0ee58e01481b7879596f319b9e1d',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fatim',['st_atim',['../structllfio__v2__xxx_1_1stat__t.html#a3e33b115cae22ba75360660274f660b9',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fbirthtim',['st_birthtim',['../structllfio__v2__xxx_1_1stat__t.html#a7175e9ba3f0dae6ae87fb3001ca47e61',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fblksize',['st_blksize',['../structllfio__v2__xxx_1_1stat__t.html#a6058efe9cba70e827f7c2b9939e93542',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fblocks',['st_blocks',['../structllfio__v2__xxx_1_1stat__t.html#a6cd05a47e04d120baa71d8898c345b29',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fcompressed',['st_compressed',['../structllfio__v2__xxx_1_1stat__t.html#a58b1f9a81b4f8a1c01715aa139bc2d0f',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fctim',['st_ctim',['../structllfio__v2__xxx_1_1stat__t.html#a5656cbf7f1eb5fb2a921eac5caf3e506',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fdev',['st_dev',['../structllfio__v2__xxx_1_1stat__t.html#ac6b928c490cef1f12fbd92cd96e49d9c',1,'llfio_v2_xxx::stat_t::st_dev()'],['../classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090',1,'llfio_v2_xxx::fs_handle::st_dev()']]],
- ['st_5fflags',['st_flags',['../structllfio__v2__xxx_1_1stat__t.html#a4b55ae8203ee4f89cec67666a2fd0752',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fgen',['st_gen',['../structllfio__v2__xxx_1_1stat__t.html#a23ca23f4ea9ef43fd58c2ede2bd58532',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fgid',['st_gid',['../structllfio__v2__xxx_1_1stat__t.html#a83827c7cbf9ebc2b5c965e509ed1748b',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fino',['st_ino',['../structllfio__v2__xxx_1_1stat__t.html#ad6de8a630079dc8fda3370a0bf1599e2',1,'llfio_v2_xxx::stat_t::st_ino()'],['../classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc',1,'llfio_v2_xxx::fs_handle::st_ino()']]],
- ['st_5fmtim',['st_mtim',['../structllfio__v2__xxx_1_1stat__t.html#aefe8c88dad824c911fa7bf6e1baef1c4',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fnlink',['st_nlink',['../structllfio__v2__xxx_1_1stat__t.html#adddfea199a341a46824f6deec2952bb4',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fperms',['st_perms',['../structllfio__v2__xxx_1_1stat__t.html#aad72b484858508a738a8ef478fbfd26f',1,'llfio_v2_xxx::stat_t']]],
- ['st_5frdev',['st_rdev',['../structllfio__v2__xxx_1_1stat__t.html#a17d58119a066c7f0bef7d929f3dcddc2',1,'llfio_v2_xxx::stat_t']]],
- ['st_5freparse_5fpoint',['st_reparse_point',['../structllfio__v2__xxx_1_1stat__t.html#a1de59fc48a2273af928151270d3a6518',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fsize',['st_size',['../structllfio__v2__xxx_1_1stat__t.html#abbe9fc921f2cbb96d68da4e0b208597a',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fsparse',['st_sparse',['../structllfio__v2__xxx_1_1stat__t.html#a40efc73a0eee503c070ae843754504d2',1,'llfio_v2_xxx::stat_t']]],
- ['st_5ftype',['st_type',['../structllfio__v2__xxx_1_1stat__t.html#a407dbe624125b5d0d40ebfe647d41214',1,'llfio_v2_xxx::stat_t']]],
- ['st_5fuid',['st_uid',['../structllfio__v2__xxx_1_1stat__t.html#ad42affc84324ad00a39379ab3d9a428b',1,'llfio_v2_xxx::stat_t']]],
- ['stable_5fkeys',['stable_keys',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa1d775e1c64c41a7b692458df6b7e7bb5',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
- ['stable_5fvalues',['stable_values',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aad69fc9d7488510795a13cc87a78eb6d7',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
- ['stamp',['stamp',['../structllfio__v2__xxx_1_1stat__t.html#a4ca693399bffd1b5004d31897e5b72e7',1,'llfio_v2_xxx::stat_t']]],
- ['stat',['stat',['../structllfio__v2__xxx_1_1directory__entry.html#ac679ef1297de655163136230986c0ffe',1,'llfio_v2_xxx::directory_entry::stat()'],['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#a9a05ee5192ed88b7727574b6502dec61',1,'llfio_v2_xxx::path_discovery::discovered_path::stat()']]],
- ['stat_2ehpp',['stat.hpp',['../stat_8hpp.html',1,'']]],
- ['stat_5ft',['stat_t',['../structllfio__v2__xxx_1_1stat__t.html',1,'llfio_v2_xxx::stat_t'],['../structllfio__v2__xxx_1_1stat__t.html#a7370e218d82985d4476643672f37993b',1,'llfio_v2_xxx::stat_t::stat_t()'],['../structllfio__v2__xxx_1_1stat__t.html#aef93718067115fcb4c596f4c8fe4cc2f',1,'llfio_v2_xxx::stat_t::stat_t(std::nullptr_t) noexcept']]],
- ['statfs_2ehpp',['statfs.hpp',['../statfs_8hpp.html',1,'']]],
- ['statfs_5ft',['statfs_t',['../structllfio__v2__xxx_1_1statfs__t.html',1,'llfio_v2_xxx::statfs_t'],['../structllfio__v2__xxx_1_1statfs__t.html#ac5414fc2f10e4d6f78617666a0353072',1,'llfio_v2_xxx::statfs_t::statfs_t()']]],
- ['steady',['steady',['../structllfio__v2__xxx_1_1deadline.html#ac2dafd421ada591cd07f5b58cd8d976b',1,'llfio_v2_xxx::deadline']]],
- ['stem',['stem',['../classllfio__v2__xxx_1_1path__view.html#ab92ed42255accabeae5cd727b5c963a3',1,'llfio_v2_xxx::path_view']]],
- ['storage_5fbacked_5ftemporary_5ffiles_5fdirectory',['storage_backed_temporary_files_directory',['../namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd',1,'llfio_v2_xxx::path_discovery']]],
- ['storage_5fprofile',['storage_profile',['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html',1,'llfio_v2_xxx::storage_profile']]],
- ['storage_5fprofile_2ehpp',['storage_profile.hpp',['../storage__profile_8hpp.html',1,'']]],
- ['storage_5ftypes',['storage_types',['../namespacellfio__v2__xxx_1_1storage__profile.html#ac4910e412ff87c1c9e33615d81b2d238',1,'llfio_v2_xxx::storage_profile']]],
- ['swap',['swap',['../classllfio__v2__xxx_1_1async__file__handle.html#a7c6b5216c28aa0ca145d9f45c82005a3',1,'llfio_v2_xxx::async_file_handle::swap()'],['../classllfio__v2__xxx_1_1directory__handle.html#a988fca7e79f17902068f2fe8f0356782',1,'llfio_v2_xxx::directory_handle::swap()'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#abc5627ee63a95d17499f079d890e6af9',1,'llfio_v2_xxx::fast_random_file_handle::swap()'],['../classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808',1,'llfio_v2_xxx::file_handle::swap()'],['../classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4',1,'llfio_v2_xxx::handle::swap()'],['../classllfio__v2__xxx_1_1section__handle.html#a2bad3e9b5baf82d9ee7f791f4c3b4733',1,'llfio_v2_xxx::section_handle::swap()'],['../classllfio__v2__xxx_1_1map__handle.html#a2049c6f936df05dd539919f947355506',1,'llfio_v2_xxx::map_handle::swap()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a32dd26dd2dbffbab505e7b7bd8aa41ee',1,'llfio_v2_xxx::mapped_file_handle::swap()'],['../structllfio__v2__xxx_1_1native__handle__type.html#abc96c9f96b0bf877af2cd9092bd3255e',1,'llfio_v2_xxx::native_handle_type::swap()'],['../classllfio__v2__xxx_1_1path__handle.html#a8752c5e4f4189c7bdfcd6eccb637bef9',1,'llfio_v2_xxx::path_handle::swap()'],['../classllfio__v2__xxx_1_1path__view.html#ab7ae611a6aa7fed01b4447a3f5133c14',1,'llfio_v2_xxx::path_view::swap()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a102fed4cc800776a62fae691a87db0e6',1,'llfio_v2_xxx::symlink_handle::swap()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3fb1e66f29e8d90eec09316946d3d4f0',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::swap()'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#aefc25feff3ba060a3b3092a69cf4d5cc',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::swap()'],['../namespacellfio__v2__xxx.html#a827e936162aff684070500f10c169e70',1,'llfio_v2_xxx::swap(async_file_handle &amp;self, async_file_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#a2fd0d67b7d28699d16f6a3666a62a5bf',1,'llfio_v2_xxx::swap(directory_handle &amp;self, directory_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#a2542466a055a0c024dee2704e9e32519',1,'llfio_v2_xxx::swap(file_handle &amp;self, file_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#aa2eeaa1b9280d05b18b7e6d505c289fb',1,'llfio_v2_xxx::swap(handle &amp;self, handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#abfe725f4e0abd521a7aa319a6d567e44',1,'llfio_v2_xxx::swap(section_handle &amp;self, section_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#a28060698d23344a5ece73336a9cf49c2',1,'llfio_v2_xxx::swap(map_handle &amp;self, map_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#acda211a674e09531226be56691136f7c',1,'llfio_v2_xxx::swap(mapped_file_handle &amp;self, mapped_file_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx_1_1algorithm.html#ae0973243c4b58d53d6f11ce5a2535a8c',1,'llfio_v2_xxx::algorithm::swap()']]],
- ['symbolic',['symbolic',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a7bf46ad61adc2265f803fc3b798b3559',1,'llfio_v2_xxx::symlink_handle']]],
- ['symlink',['symlink',['../structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a4afae65da7b66f75e6e82b470d298fb5',1,'llfio_v2_xxx::native_handle_type::symlink()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a004563b5be8b75d20617018178f68e33',1,'llfio_v2_xxx::symlink_handle::symlink()']]],
- ['symlink_5fhandle',['symlink_handle',['../classllfio__v2__xxx_1_1symlink__handle.html',1,'llfio_v2_xxx::symlink_handle'],['../classllfio__v2__xxx_1_1symlink__handle.html#a02c22ab62150c15dbe77096526975cbf',1,'llfio_v2_xxx::symlink_handle::symlink_handle()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a3270cfa202b024bc74f3c5e301b9f33d',1,'llfio_v2_xxx::symlink_handle::symlink_handle(native_handle_type h, dev_t devid, ino_t inode, flag flags=flag::none)'],['../classllfio__v2__xxx_1_1symlink__handle.html#af49d1596ddc5019962ae9ab22a78c5bf',1,'llfio_v2_xxx::symlink_handle::symlink_handle(handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1symlink__handle.html#ac10f98b90414a51b46cb56222ccfd41f',1,'llfio_v2_xxx::symlink_handle::symlink_handle(symlink_handle &amp;&amp;)=default'],['../classllfio__v2__xxx_1_1symlink__handle.html#ac1167dee8a0dcf041e457570c89174b1',1,'llfio_v2_xxx::symlink_handle::symlink_handle(const symlink_handle &amp;)=delete']]],
- ['symlink_5fhandle_2ehpp',['symlink_handle.hpp',['../symlink__handle_8hpp.html',1,'']]],
- ['symlink_5ftype',['symlink_type',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002',1,'llfio_v2_xxx::symlink_handle']]],
- ['system',['system',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7da54b53072540eeeb8f8e9343e71f28176',1,'llfio_v2_xxx::path_discovery::discovered_path']]]
+ ['random_5fdirectory',['random_directory',['../classllfio__v2__xxx_1_1directory__handle.html#ae4a5f33565a72009d2a9471f925b4aad',1,'llfio_v2_xxx::directory_handle::random_directory()'],['../namespacellfio__v2__xxx.html#ad574b7ae82e4a082a7d5703097d65e92',1,'llfio_v2_xxx::random_directory()']]],
+ ['random_5fentity',['random_entity',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a8d62fe0c18bcfb1ade9ff9c7bb00e70b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex']]],
+ ['random_5ffile',['random_file',['../classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47',1,'llfio_v2_xxx::file_handle::random_file()'],['../namespacellfio__v2__xxx.html#a5bc9df0fdb554e757d14cf40af0bbb4e',1,'llfio_v2_xxx::random_file()']]],
+ ['random_5ffill',['random_fill',['../namespacellfio__v2__xxx_1_1utils.html#ae61e2de30b06776a1c24643a1d1dc64e',1,'llfio_v2_xxx::utils']]],
+ ['random_5fstring',['random_string',['../namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417',1,'llfio_v2_xxx::utils']]],
+ ['random_5fsymlink',['random_symlink',['../classllfio__v2__xxx_1_1symlink__handle.html#aa519e98396a1596c880267dcc92643f1',1,'llfio_v2_xxx::symlink_handle']]],
+ ['rbegin',['rbegin',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae79263dcf9faf5d3f2973ba688201f7e',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rbegin() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afff8e1a93ad371a5844543a3e782f471',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rbegin() const noexcept']]],
+ ['rdonly',['rdonly',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#ab81fc2389da706385f01c68e45aa4d44',1,'llfio_v2_xxx::statfs_t::f_flags_t']]],
+ ['read',['read',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ad92f318479bfb0f54753d96756ce527c',1,'kvstore_v1_xxx::basic_key_value_store::read()'],['../classllfio__v2__xxx_1_1directory__handle.html#a45c13e16ecc131cbe5107e6affe94f33',1,'llfio_v2_xxx::directory_handle::read()'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#ae84ac3c127d067d44d978e4621d4d2f1',1,'llfio_v2_xxx::fast_random_file_handle::read()'],['../classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467',1,'llfio_v2_xxx::file_handle::read()'],['../classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d',1,'llfio_v2_xxx::io_handle::read()'],['../classllfio__v2__xxx_1_1map__handle.html#a073cdca57e3e3718d2eb285be51d5c92',1,'llfio_v2_xxx::map_handle::read()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#ae4ca3f09ab781322c22f903d31ec7aa9',1,'llfio_v2_xxx::mapped_file_handle::read()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a4d7d2e7ae94312b9757d8a5c12724c0f',1,'llfio_v2_xxx::storage_profile::storage_profile::read()'],['../classllfio__v2__xxx_1_1symlink__handle.html#aa8f2a6e0f971b7b88a88562f8744f4da',1,'llfio_v2_xxx::symlink_handle::read()'],['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e',1,'llfio_v2_xxx::handle::read()'],['../namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683',1,'llfio_v2_xxx::read(file_handle &amp;self, file_handle::extent_type offset, std::initializer_list&lt; file_handle::buffer_type &gt; lst, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#a225e15680392dfa9e1dda42afcc09672',1,'llfio_v2_xxx::read(io_handle &amp;self, io_handle::io_request&lt; io_handle::buffers_type &gt; reqs, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#ab993693c98cdb52e2d611f8f9e24e4e2',1,'llfio_v2_xxx::read(map_handle &amp;self, map_handle::io_request&lt; map_handle::buffers_type &gt; reqs, deadline d=deadline()) noexcept']]],
+ ['reads',['reads',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1',1,'llfio_v2_xxx::handle']]],
+ ['reads_5fand_5fmetadata',['reads_and_metadata',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852adec4ecca8ae1593f84eea4656599a693',1,'llfio_v2_xxx::handle']]],
+ ['rebind',['rebind',['../structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html',1,'llfio_v2_xxx::utils::page_allocator&lt; T &gt;::rebind&lt; U &gt;'],['../structllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4_1_1rebind.html',1,'llfio_v2_xxx::utils::page_allocator&lt; void &gt;::rebind&lt; U &gt;']]],
+ ['reference',['reference',['../classllfio__v2__xxx_1_1mapped.html#ac72fe8e94cd14a91d4744a642e88d2df',1,'llfio_v2_xxx::mapped::reference()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ada721cf6bb1fc91b0790d2a19569e541',1,'llfio_v2_xxx::storage_profile::storage_profile::reference()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa1a4f45c53bf48559f6aed4064270ad8',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::reference()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a24da309718d5b5a8520db5f3bf7ba176',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::reference()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ac597ca996edce5cecf4bacf36a324b49',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::reference()']]],
+ ['relative_5fpath',['relative_path',['../classllfio__v2__xxx_1_1path__view.html#a48eb689da1dbc5d5e9097a5fa6054c55',1,'llfio_v2_xxx::path_view']]],
+ ['release',['release',['../classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e',1,'llfio_v2_xxx::handle::release()'],['../classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html#a7994a1c984e75c7757395d70d78ed35d',1,'llfio_v2_xxx::io_handle::extent_guard::release()'],['../classllfio__v2__xxx_1_1map__handle.html#a06cfd3521ff08782a848821951510f11',1,'llfio_v2_xxx::map_handle::release()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a4072a4f2448ef3b8c7075fa8734acf71',1,'llfio_v2_xxx::mapped_file_handle::release()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#ae0e9fd495a54debec2087dda64d4ce08',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard::release()']]],
+ ['relink',['relink',['../classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2',1,'llfio_v2_xxx::fs_handle::relink()'],['../classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c',1,'llfio_v2_xxx::symlink_handle::relink()'],['../namespacellfio__v2__xxx.html#a60fa5c64c83ce05c8287c5379d082e49',1,'llfio_v2_xxx::relink()']]],
+ ['remove_5ffilename',['remove_filename',['../classllfio__v2__xxx_1_1path__view.html#a32586d7c5588e0686e6ceb75d06b1a0d',1,'llfio_v2_xxx::path_view']]],
+ ['rend',['rend',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7a6047c4854a37f1b2437c6077a32fc5',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rend() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8e9caa72b31819407ee9aaa1e6b21b0f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rend() const noexcept']]],
+ ['requires_5faligned_5fio',['requires_aligned_io',['../classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb',1,'llfio_v2_xxx::handle::requires_aligned_io()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a45431e8a673c8a7d204136cd2ae612ed',1,'llfio_v2_xxx::native_handle_type::requires_aligned_io()']]],
+ ['reserve',['reserve',['../classllfio__v2__xxx_1_1mapped__file__handle.html#a15f9dd6f1c89f8f4cc52bba178f14433',1,'llfio_v2_xxx::mapped_file_handle::reserve()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a16de143c40c148e26633f4d8ee101644',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::reserve()']]],
+ ['resize',['resize',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8cbd61a3899369965a1cbbd7cb21bd31',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::resize()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ae3338448769e08627b5a7a4242fe9f6f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::resize()']]],
+ ['result_5fstorage',['result_storage',['../unionllfio__v2__xxx_1_1async__file__handle_1_1__erased__io__state__type_1_1result__storage.html',1,'llfio_v2_xxx::async_file_handle::_erased_io_state_type']]],
+ ['reverse_5fiterator',['reverse_iterator',['../classllfio__v2__xxx_1_1mapped.html#a6f7cf4a4676feaa2deaefc35f95c6393',1,'llfio_v2_xxx::mapped::reverse_iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0f02e6310c58b372b91844fd9f7feb0a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::reverse_iterator()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a6477cecf8801118b5d8a5df6df0bc339',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::reverse_iterator()']]],
+ ['root_5fdirectory',['root_directory',['../classllfio__v2__xxx_1_1path__view.html#a7c17ee6aee34cfcb86908b2e577506a9',1,'llfio_v2_xxx::path_view']]],
+ ['root_5fname',['root_name',['../classllfio__v2__xxx_1_1path__view.html#a9fd8db4fd8ed2ad0291b9213280070a3',1,'llfio_v2_xxx::path_view']]],
+ ['root_5fpath',['root_path',['../classllfio__v2__xxx_1_1path__view.html#aa939f069a5d1d6b06b4e4afdf3f47296',1,'llfio_v2_xxx::path_view']]],
+ ['round_5fdown_5fto_5fpage_5fsize',['round_down_to_page_size',['../namespacellfio__v2__xxx_1_1utils.html#a5499feaf6b774e774a26e7decd11e3fa',1,'llfio_v2_xxx::utils']]],
+ ['round_5fto_5fpage_5fsize',['round_to_page_size',['../namespacellfio__v2__xxx_1_1utils.html#afa36e8bc2a1f004696c09d104e23d685',1,'llfio_v2_xxx::utils']]],
+ ['round_5fup_5fto_5fpage_5fsize',['round_up_to_page_size',['../namespacellfio__v2__xxx_1_1utils.html#a67f8f31f6b93293a22a4b30d686eb3af',1,'llfio_v2_xxx::utils']]],
+ ['run',['run',['../classllfio__v2__xxx_1_1io__service.html#a5719f4f0779047c202d7fb3cda0dcc28',1,'llfio_v2_xxx::io_service']]],
+ ['run_5funtil',['run_until',['../classllfio__v2__xxx_1_1io__service.html#a528acb1c8ec8caa06fc084962f974106',1,'llfio_v2_xxx::io_service']]],
+ ['running_5funder_5fwsl',['running_under_wsl',['../namespacellfio__v2__xxx_1_1utils.html#a7aae80908cc5521ef67234152c5c5044',1,'llfio_v2_xxx::utils']]]
];
diff --git a/search/all_12.js b/search/all_12.js
index 9d1e0c3c..43f49cfa 100644
--- a/search/all_12.js
+++ b/search/all_12.js
@@ -1,20 +1,63 @@
var searchData=
[
- ['temp_5fdirectory',['temp_directory',['../classllfio__v2__xxx_1_1directory__handle.html#a3513e9a84f1bc13bb4500dbab84207c4',1,'llfio_v2_xxx::directory_handle::temp_directory()'],['../namespacellfio__v2__xxx.html#addbdc12d4993a8ee40c105a02a105a61',1,'llfio_v2_xxx::temp_directory()']]],
- ['temp_5ffile',['temp_file',['../classllfio__v2__xxx_1_1file__handle.html#a428114e3c8628c0621b1aa156051651c',1,'llfio_v2_xxx::file_handle::temp_file()'],['../namespacellfio__v2__xxx.html#a70d9ef3b988a880d171015b754bb7b27',1,'llfio_v2_xxx::temp_file()']]],
- ['temp_5finode',['temp_inode',['../classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5',1,'llfio_v2_xxx::file_handle::temp_inode()'],['../namespacellfio__v2__xxx.html#ac8d9dc908fe39f9c896e99f6b7a39d81',1,'llfio_v2_xxx::temp_inode()']]],
- ['temporary',['temporary',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef',1,'llfio_v2_xxx::handle']]],
- ['todo_20list',['Todo List',['../todo.html',1,'']]],
- ['transaction',['transaction',['../classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['transaction_5faborted_5fcollision',['transaction_aborted_collision',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa203fd50f72dbec98aa499192e1844fc8',1,'kvstore_v1_xxx']]],
- ['trivial_5fvector',['trivial_vector',['../classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html',1,'llfio_v2_xxx::algorithm']]],
- ['trivial_5fvector_2ehpp',['trivial_vector.hpp',['../trivial__vector_8hpp.html',1,'']]],
- ['trivial_5fvector_5fimpl',['trivial_vector_impl',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aca1f25c1e249bad2129477f430cb5075',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a739d6e32f2f04d6f14d17fcd4debd1de',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(size_type count, const value_type &amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3b6fcc205956cbca2c88f32950b1d45a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(InputIt first, InputIt last)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a959b9de31852f3b82e0a2afbd533aa6f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(const trivial_vector_impl &amp;)=delete'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#acbb1456846604a3473108cd5207ad950',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(trivial_vector_impl &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa2a250c6265441ba5c0728945f8d9772',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(std::initializer_list&lt; value_type &gt; il)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a45eac1f6f721ee11caf82a22851d3f5e',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::trivial_vector_impl()']]],
- ['trivial_5fvector_5fimpl_3c_20false_2c_20t_20_3e',['trivial_vector_impl&lt; false, T &gt;',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html',1,'llfio_v2_xxx::algorithm::impl']]],
- ['trivial_5fvector_5fimpl_3c_20true_2c_20t_20_3e',['trivial_vector_impl&lt; true, T &gt;',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html',1,'llfio_v2_xxx::algorithm::impl']]],
- ['trivial_5fvector_5fiterator',['trivial_vector_iterator',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html',1,'llfio_v2_xxx::algorithm::impl']]],
- ['truncate',['truncate',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a3e147cacf24cb8d96b6c57f30692fda2',1,'llfio_v2_xxx::fast_random_file_handle::truncate()'],['../classllfio__v2__xxx_1_1file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f',1,'llfio_v2_xxx::file_handle::truncate()'],['../classllfio__v2__xxx_1_1section__handle.html#aa4d0beac304a5ae9d29441819a829b80',1,'llfio_v2_xxx::section_handle::truncate()'],['../classllfio__v2__xxx_1_1map__handle.html#a1fb1c874bdab5540c3310e468e41325a',1,'llfio_v2_xxx::map_handle::truncate()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a01a5da3834fd354c5c3d38284b84ef75',1,'llfio_v2_xxx::mapped_file_handle::truncate()'],['../namespacellfio__v2__xxx.html#a16ee1bea5a5791ecde266420e00fba81',1,'llfio_v2_xxx::truncate(file_handle &amp;self, file_handle::extent_type newsize) noexcept'],['../namespacellfio__v2__xxx.html#aa6b0c71dfe04ceae64818d4c91d05537',1,'llfio_v2_xxx::truncate(section_handle &amp;self, section_handle::extent_type newsize=0) noexcept'],['../namespacellfio__v2__xxx.html#a8231f6ba00d0d5840b47981ecc148e51',1,'llfio_v2_xxx::truncate(map_handle &amp;self, map_handle::size_type newsize, bool permit_relocation=false) noexcept']]],
- ['truncate_5fexisting',['truncate_existing',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed',1,'llfio_v2_xxx::handle']]],
- ['try_5flock',['try_lock',['../classllfio__v2__xxx_1_1io__handle.html#ae1abb705dbe9890e103365bf7c61521e',1,'llfio_v2_xxx::io_handle::try_lock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a051822a4942c7f45b0491ab4385aacd3',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::try_lock(entities_type entities) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a5a7f463e9235bb95ddd84b69e2642613',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::try_lock(entity_type entity) noexcept']]],
- ['type',['type',['../structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a948529cb03ceb639a2b5f9c7d20542eb',1,'llfio_v2_xxx::storage_profile::item_base::type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ac44ca889e5423c1bdeb02e5bee5f645a',1,'llfio_v2_xxx::symlink_handle::buffers_type::type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#abe8fb78c928a515db8f017af10436852',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::type()']]]
+ ['safe_5fbyte_5franges',['safe_byte_ranges',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a0bc85104e524c7a97e6934b605788b6b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::safe_byte_ranges(const safe_byte_ranges &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a3ddf148d1bf4ea4e8d8abeff6ec5660f',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::safe_byte_ranges(safe_byte_ranges &amp;&amp;o) noexcept']]],
+ ['safe_5fbyte_5franges_2ehpp',['safe_byte_ranges.hpp',['../safe__byte__ranges_8hpp.html',1,'']]],
+ ['safety_5fbarriers',['safety_barriers',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a9cd65f46f55fb6a4b198fcee6f0a63c1',1,'llfio_v2_xxx::handle']]],
+ ['score',['score',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a42ce844ff625bc9912a30d0fac3c5f45',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
+ ['section',['section',['../classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21',1,'llfio_v2_xxx::section_handle::section(file_handle &amp;backing, extent_type maximum_size, flag _flag) noexcept'],['../classllfio__v2__xxx_1_1section__handle.html#aa9922be0637718ae8c84d4a3c06a9eaf',1,'llfio_v2_xxx::section_handle::section(file_handle &amp;backing, extent_type bytes=0) noexcept'],['../classllfio__v2__xxx_1_1section__handle.html#a8f36f6c6684010c729c78a34645ba3aa',1,'llfio_v2_xxx::section_handle::section(extent_type bytes, const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), flag _flag=flag::read|flag::write) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#a173539843aebd387bb8ca06246067ead',1,'llfio_v2_xxx::map_handle::section()'],['../classllfio__v2__xxx_1_1mapped.html#acb843c564a96365ee7eacb529b028a70',1,'llfio_v2_xxx::mapped::section()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a308969448e8934b7a86bcc693b9cc578',1,'llfio_v2_xxx::mapped_file_handle::section() const noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a07e95f16802d266bfbbf5a7ccde95c33',1,'llfio_v2_xxx::mapped_file_handle::section() noexcept'],['../namespacellfio__v2__xxx.html#ac9be77116e7a2d8c029dd066dfa363fb',1,'llfio_v2_xxx::section(file_handle &amp;backing, section_handle::extent_type maximum_size, section_handle::flag _flag) noexcept'],['../namespacellfio__v2__xxx.html#a3d55c0a3b567c7ed05053a94750bb133',1,'llfio_v2_xxx::section(file_handle &amp;backing, section_handle::extent_type bytes=0) noexcept'],['../namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd',1,'llfio_v2_xxx::section(section_handle::extent_type bytes, const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), section_handle::flag _flag=section_handle::flag::read|section_handle::flag::write) noexcept']]],
+ ['section_5fflags',['section_flags',['../classllfio__v2__xxx_1_1section__handle.html#a99bb38a023cb0cb486e6210485cc1ca4',1,'llfio_v2_xxx::section_handle']]],
+ ['section_5fhandle',['section_handle',['../classllfio__v2__xxx_1_1section__handle.html',1,'llfio_v2_xxx::section_handle'],['../classllfio__v2__xxx_1_1section__handle.html#a34f702e58a35c1eee31f5a5d3e5ec73d',1,'llfio_v2_xxx::section_handle::section_handle()'],['../classllfio__v2__xxx_1_1section__handle.html#a9652c4732314142bd472304f36386ef8',1,'llfio_v2_xxx::section_handle::section_handle(native_handle_type sectionh, file_handle *backing, file_handle anonymous, flag __flag)'],['../classllfio__v2__xxx_1_1section__handle.html#a28bc1b458a57c697b94804fd6c87dcd9',1,'llfio_v2_xxx::section_handle::section_handle(section_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1section__handle.html#ab3cb03378bf927a2fb6636beb6ca2f20',1,'llfio_v2_xxx::section_handle::section_handle(const section_handle &amp;)=delete']]],
+ ['service',['service',['../classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a',1,'llfio_v2_xxx::file_handle']]],
+ ['set_5fappend_5fonly',['set_append_only',['../classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a',1,'llfio_v2_xxx::handle']]],
+ ['set_5fbacking',['set_backing',['../classllfio__v2__xxx_1_1section__handle.html#a85635c700f2778280481598393c24c00',1,'llfio_v2_xxx::section_handle']]],
+ ['set_5fhandle',['set_handle',['../classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html#aaebef63395732f47b469310dc2a4165d',1,'llfio_v2_xxx::io_handle::extent_guard']]],
+ ['set_5finterruption_5fsignal',['set_interruption_signal',['../classllfio__v2__xxx_1_1io__service.html#aeacd8d21f956903c204ee49c0d3ab195',1,'llfio_v2_xxx::io_service']]],
+ ['set_5fsection',['set_section',['../classllfio__v2__xxx_1_1map__handle.html#a7a27e949d3333a75e96f5d979e2d6bbf',1,'llfio_v2_xxx::map_handle']]],
+ ['shared_5ffs_5fmutex',['shared_fs_mutex',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex']]],
+ ['shrink_5fto_5ffit',['shrink_to_fit',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a19aa2b2535f9880a41f64fb43162ec9e',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
+ ['size',['size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a5add0f7b7711da9b0574d1ffde7b9f52',1,'kvstore_v1_xxx::basic_key_value_store::size()'],['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#adaf1c1f3ed96cae94769b24a19639cba',1,'llfio_v2_xxx::io_handle::buffer_type::size()'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a3dadd6b826704451e89cabf1c1305b40',1,'llfio_v2_xxx::io_handle::const_buffer_type::size()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ad015cb71ff92fa291190c2dc55c7c7de',1,'llfio_v2_xxx::storage_profile::storage_profile::size()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a84a6bbb08480b7803a49e203b7501fa0',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::size()']]],
+ ['size_5ftype',['size_type',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a53700b762910c0189fd240e4bc51508a',1,'kvstore_v1_xxx::basic_key_value_store_info::size_type()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a9b73e1e034a4eaea7c0b83e870772296',1,'kvstore_v1_xxx::basic_key_value_store::size_type()'],['../classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58',1,'llfio_v2_xxx::handle::size_type()'],['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a2ce9cb356417eb14142a785d7283d008',1,'llfio_v2_xxx::io_handle::buffer_type::size_type()'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#acb6c33db3aabfbf88d5e8f636c8b6dd0',1,'llfio_v2_xxx::io_handle::const_buffer_type::size_type()'],['../classllfio__v2__xxx_1_1io__service.html#af156201cfa97bea20529bde7a67db405',1,'llfio_v2_xxx::io_service::size_type()'],['../classllfio__v2__xxx_1_1mapped.html#a25d56aca213617d530ab3c9cb6f43df5',1,'llfio_v2_xxx::mapped::size_type()'],['../classllfio__v2__xxx_1_1path__view.html#ac797abdc80bbd5f5b94ccb4e30117cbb',1,'llfio_v2_xxx::path_view::size_type()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a9791351967d62e6a601bbb9868bcb5e6',1,'llfio_v2_xxx::storage_profile::storage_profile::size_type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a1a3dc794692feb06344268c5a0fb3796',1,'llfio_v2_xxx::symlink_handle::buffers_type::size_type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a50ca2743bb8cc69e35150e53bdae9ad9',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::size_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a75263e7a463a37563ebdffc5cadbb469',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::size_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a158069bbd26f6ffdfeecc6ab89b7094a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::size_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a9daee40ff05d3b161652273556caf46a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::size_type()']]],
+ ['snapshot',['snapshot',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a16e68740144469de54dd234540ac9c72',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['source_5ftype',['source_type',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7d',1,'llfio_v2_xxx::path_discovery::discovered_path']]],
+ ['spinlock_5ftype',['spinlock_type',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#ae61aba70c59a38a264ae2b643b791a17',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map']]],
+ ['st_5fallocated',['st_allocated',['../structllfio__v2__xxx_1_1stat__t.html#a57ae0ee58e01481b7879596f319b9e1d',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fatim',['st_atim',['../structllfio__v2__xxx_1_1stat__t.html#a3e33b115cae22ba75360660274f660b9',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fbirthtim',['st_birthtim',['../structllfio__v2__xxx_1_1stat__t.html#a7175e9ba3f0dae6ae87fb3001ca47e61',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fblksize',['st_blksize',['../structllfio__v2__xxx_1_1stat__t.html#a6058efe9cba70e827f7c2b9939e93542',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fblocks',['st_blocks',['../structllfio__v2__xxx_1_1stat__t.html#a6cd05a47e04d120baa71d8898c345b29',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fcompressed',['st_compressed',['../structllfio__v2__xxx_1_1stat__t.html#a58b1f9a81b4f8a1c01715aa139bc2d0f',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fctim',['st_ctim',['../structllfio__v2__xxx_1_1stat__t.html#a5656cbf7f1eb5fb2a921eac5caf3e506',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fdev',['st_dev',['../structllfio__v2__xxx_1_1stat__t.html#ac6b928c490cef1f12fbd92cd96e49d9c',1,'llfio_v2_xxx::stat_t::st_dev()'],['../classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090',1,'llfio_v2_xxx::fs_handle::st_dev()']]],
+ ['st_5fflags',['st_flags',['../structllfio__v2__xxx_1_1stat__t.html#a4b55ae8203ee4f89cec67666a2fd0752',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fgen',['st_gen',['../structllfio__v2__xxx_1_1stat__t.html#a23ca23f4ea9ef43fd58c2ede2bd58532',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fgid',['st_gid',['../structllfio__v2__xxx_1_1stat__t.html#a83827c7cbf9ebc2b5c965e509ed1748b',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fino',['st_ino',['../structllfio__v2__xxx_1_1stat__t.html#ad6de8a630079dc8fda3370a0bf1599e2',1,'llfio_v2_xxx::stat_t::st_ino()'],['../classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc',1,'llfio_v2_xxx::fs_handle::st_ino()']]],
+ ['st_5fmtim',['st_mtim',['../structllfio__v2__xxx_1_1stat__t.html#aefe8c88dad824c911fa7bf6e1baef1c4',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fnlink',['st_nlink',['../structllfio__v2__xxx_1_1stat__t.html#adddfea199a341a46824f6deec2952bb4',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fperms',['st_perms',['../structllfio__v2__xxx_1_1stat__t.html#aad72b484858508a738a8ef478fbfd26f',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5frdev',['st_rdev',['../structllfio__v2__xxx_1_1stat__t.html#a17d58119a066c7f0bef7d929f3dcddc2',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5freparse_5fpoint',['st_reparse_point',['../structllfio__v2__xxx_1_1stat__t.html#a1de59fc48a2273af928151270d3a6518',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fsize',['st_size',['../structllfio__v2__xxx_1_1stat__t.html#abbe9fc921f2cbb96d68da4e0b208597a',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fsparse',['st_sparse',['../structllfio__v2__xxx_1_1stat__t.html#a40efc73a0eee503c070ae843754504d2',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5ftype',['st_type',['../structllfio__v2__xxx_1_1stat__t.html#a407dbe624125b5d0d40ebfe647d41214',1,'llfio_v2_xxx::stat_t']]],
+ ['st_5fuid',['st_uid',['../structllfio__v2__xxx_1_1stat__t.html#ad42affc84324ad00a39379ab3d9a428b',1,'llfio_v2_xxx::stat_t']]],
+ ['stamp',['stamp',['../structllfio__v2__xxx_1_1stat__t.html#a4ca693399bffd1b5004d31897e5b72e7',1,'llfio_v2_xxx::stat_t']]],
+ ['stat',['stat',['../structllfio__v2__xxx_1_1directory__entry.html#ac679ef1297de655163136230986c0ffe',1,'llfio_v2_xxx::directory_entry::stat()'],['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#a9a05ee5192ed88b7727574b6502dec61',1,'llfio_v2_xxx::path_discovery::discovered_path::stat()']]],
+ ['stat_2ehpp',['stat.hpp',['../stat_8hpp.html',1,'']]],
+ ['stat_5ft',['stat_t',['../structllfio__v2__xxx_1_1stat__t.html',1,'llfio_v2_xxx::stat_t'],['../structllfio__v2__xxx_1_1stat__t.html#aef93718067115fcb4c596f4c8fe4cc2f',1,'llfio_v2_xxx::stat_t::stat_t()']]],
+ ['statfs_2ehpp',['statfs.hpp',['../statfs_8hpp.html',1,'']]],
+ ['statfs_5ft',['statfs_t',['../structllfio__v2__xxx_1_1statfs__t.html',1,'llfio_v2_xxx']]],
+ ['steady',['steady',['../structllfio__v2__xxx_1_1deadline.html#ac2dafd421ada591cd07f5b58cd8d976b',1,'llfio_v2_xxx::deadline']]],
+ ['stem',['stem',['../classllfio__v2__xxx_1_1path__view.html#ab92ed42255accabeae5cd727b5c963a3',1,'llfio_v2_xxx::path_view']]],
+ ['storage_5fbacked_5ftemporary_5ffiles_5fdirectory',['storage_backed_temporary_files_directory',['../namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd',1,'llfio_v2_xxx::path_discovery']]],
+ ['storage_5fprofile',['storage_profile',['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html',1,'llfio_v2_xxx::storage_profile']]],
+ ['storage_5fprofile_2ehpp',['storage_profile.hpp',['../storage__profile_8hpp.html',1,'']]],
+ ['storage_5ftypes',['storage_types',['../namespacellfio__v2__xxx_1_1storage__profile.html#ac4910e412ff87c1c9e33615d81b2d238',1,'llfio_v2_xxx::storage_profile']]],
+ ['swap',['swap',['../classllfio__v2__xxx_1_1async__file__handle.html#a7c6b5216c28aa0ca145d9f45c82005a3',1,'llfio_v2_xxx::async_file_handle::swap()'],['../classllfio__v2__xxx_1_1directory__handle.html#a988fca7e79f17902068f2fe8f0356782',1,'llfio_v2_xxx::directory_handle::swap()'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#abc5627ee63a95d17499f079d890e6af9',1,'llfio_v2_xxx::fast_random_file_handle::swap()'],['../classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808',1,'llfio_v2_xxx::file_handle::swap()'],['../classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4',1,'llfio_v2_xxx::handle::swap()'],['../classllfio__v2__xxx_1_1section__handle.html#a2bad3e9b5baf82d9ee7f791f4c3b4733',1,'llfio_v2_xxx::section_handle::swap()'],['../classllfio__v2__xxx_1_1map__handle.html#a2049c6f936df05dd539919f947355506',1,'llfio_v2_xxx::map_handle::swap()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a32dd26dd2dbffbab505e7b7bd8aa41ee',1,'llfio_v2_xxx::mapped_file_handle::swap()'],['../structllfio__v2__xxx_1_1native__handle__type.html#abc96c9f96b0bf877af2cd9092bd3255e',1,'llfio_v2_xxx::native_handle_type::swap()'],['../classllfio__v2__xxx_1_1path__handle.html#a8752c5e4f4189c7bdfcd6eccb637bef9',1,'llfio_v2_xxx::path_handle::swap()'],['../classllfio__v2__xxx_1_1path__view.html#ab7ae611a6aa7fed01b4447a3f5133c14',1,'llfio_v2_xxx::path_view::swap()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a102fed4cc800776a62fae691a87db0e6',1,'llfio_v2_xxx::symlink_handle::swap()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3fb1e66f29e8d90eec09316946d3d4f0',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::swap()'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#aefc25feff3ba060a3b3092a69cf4d5cc',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::swap()'],['../namespacellfio__v2__xxx.html#a827e936162aff684070500f10c169e70',1,'llfio_v2_xxx::swap(async_file_handle &amp;self, async_file_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#a2fd0d67b7d28699d16f6a3666a62a5bf',1,'llfio_v2_xxx::swap(directory_handle &amp;self, directory_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#a2542466a055a0c024dee2704e9e32519',1,'llfio_v2_xxx::swap(file_handle &amp;self, file_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#aa2eeaa1b9280d05b18b7e6d505c289fb',1,'llfio_v2_xxx::swap(handle &amp;self, handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#abfe725f4e0abd521a7aa319a6d567e44',1,'llfio_v2_xxx::swap(section_handle &amp;self, section_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#a28060698d23344a5ece73336a9cf49c2',1,'llfio_v2_xxx::swap(map_handle &amp;self, map_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#acda211a674e09531226be56691136f7c',1,'llfio_v2_xxx::swap(mapped_file_handle &amp;self, mapped_file_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx_1_1algorithm.html#ae0973243c4b58d53d6f11ce5a2535a8c',1,'llfio_v2_xxx::algorithm::swap()']]],
+ ['symbolic',['symbolic',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a7bf46ad61adc2265f803fc3b798b3559',1,'llfio_v2_xxx::symlink_handle']]],
+ ['symlink',['symlink',['../classllfio__v2__xxx_1_1symlink__handle.html#a004563b5be8b75d20617018178f68e33',1,'llfio_v2_xxx::symlink_handle']]],
+ ['symlink_5fhandle',['symlink_handle',['../classllfio__v2__xxx_1_1symlink__handle.html',1,'llfio_v2_xxx::symlink_handle'],['../classllfio__v2__xxx_1_1symlink__handle.html#a02c22ab62150c15dbe77096526975cbf',1,'llfio_v2_xxx::symlink_handle::symlink_handle()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a3270cfa202b024bc74f3c5e301b9f33d',1,'llfio_v2_xxx::symlink_handle::symlink_handle(native_handle_type h, dev_t devid, ino_t inode, flag flags=flag::none)'],['../classllfio__v2__xxx_1_1symlink__handle.html#af49d1596ddc5019962ae9ab22a78c5bf',1,'llfio_v2_xxx::symlink_handle::symlink_handle(handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1symlink__handle.html#ac10f98b90414a51b46cb56222ccfd41f',1,'llfio_v2_xxx::symlink_handle::symlink_handle(symlink_handle &amp;&amp;)=default'],['../classllfio__v2__xxx_1_1symlink__handle.html#ac1167dee8a0dcf041e457570c89174b1',1,'llfio_v2_xxx::symlink_handle::symlink_handle(const symlink_handle &amp;)=delete']]],
+ ['symlink_5fhandle_2ehpp',['symlink_handle.hpp',['../symlink__handle_8hpp.html',1,'']]],
+ ['symlink_5ftype',['symlink_type',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002',1,'llfio_v2_xxx::symlink_handle']]],
+ ['system',['system',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7da54b53072540eeeb8f8e9343e71f28176',1,'llfio_v2_xxx::path_discovery::discovered_path']]]
];
diff --git a/search/all_13.js b/search/all_13.js
index be9b177d..9d1e0c3c 100644
--- a/search/all_13.js
+++ b/search/all_13.js
@@ -1,21 +1,20 @@
var searchData=
[
- ['uint128',['uint128',['../namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html#a4d1eda01c8044f5366e6a49c1839db74',1,'llfio_v2_xxx::algorithm::shared_fs_mutex']]],
- ['uint64',['uint64',['../namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html#a39bcbe1b56c1cf547c192f4f0fa488cb',1,'llfio_v2_xxx::algorithm::shared_fs_mutex']]],
- ['underlying_5ffile_5fmaximum_5fextent',['underlying_file_maximum_extent',['../classllfio__v2__xxx_1_1mapped__file__handle.html#a23f61ce914c2564b6eaf885a13a19395',1,'llfio_v2_xxx::mapped_file_handle']]],
- ['unique_5fid',['unique_id',['../classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1',1,'llfio_v2_xxx::fs_handle']]],
- ['unique_5fid_5ftype',['unique_id_type',['../classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750',1,'llfio_v2_xxx::fs_handle']]],
- ['unknown',['unknown',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daad921d60486366258809553a3db49a4a',1,'llfio_v2_xxx::path_discovery::discovered_path']]],
- ['unlink',['unlink',['../classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982',1,'llfio_v2_xxx::fs_handle::unlink()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a002c9dab669604d58e08aa8f4dbc99c8',1,'llfio_v2_xxx::symlink_handle::unlink()'],['../namespacellfio__v2__xxx.html#a3c20b46beeb225aa63ade3dc42e73362',1,'llfio_v2_xxx::unlink()']]],
- ['unlink_5fon_5ffirst_5fclose',['unlink_on_first_close',['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962',1,'llfio_v2_xxx::handle']]],
- ['unlock',['unlock',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a26e98e20ea5be1a930d00b0b6f709436',1,'llfio_v2_xxx::fast_random_file_handle::unlock()'],['../classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html#a40845d72f81836890189a420124a1f0e',1,'llfio_v2_xxx::io_handle::extent_guard::unlock()'],['../classllfio__v2__xxx_1_1io__handle.html#ad720c4c7f350fe06291534d1cbf2feb5',1,'llfio_v2_xxx::io_handle::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a9a1efb3416df74145cd6d8a91c01350c',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#acbaee269018d013fd7772d9f150a8e06',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a645f3ecd3a841cb7311102dea4f36757',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#aef06d02d70a00b731afbc2a9190eec3e',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a9e898ef170b38add24229c6ed9b91b74',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a5f7f9ad579b9fb0d3700fd31472fb95a',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#aa22cd8a543e88b3af6915444828f31e2',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::unlock()']]],
- ['unsupported_5fintegrity',['unsupported_integrity',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fadfa4eb2805883a2c1653229e6c18aa70',1,'kvstore_v1_xxx']]],
- ['unsupported_5furi',['unsupported_uri',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa88845d2baf0c5f2c895cd23bd72e3b07',1,'kvstore_v1_xxx']]],
- ['update_5fdeltas',['update_deltas',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa78faae96b1cc136508508c90862459f0',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
- ['update_5fmap',['update_map',['../classllfio__v2__xxx_1_1map__handle.html#ac7aeb0aa6182a22d0242340eb6d341b9',1,'llfio_v2_xxx::map_handle::update_map()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#acb5a5b1e9f5bd7b1555edbacd057972c',1,'llfio_v2_xxx::mapped_file_handle::update_map()']]],
- ['uri',['uri',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a6380b90bf98c1403827a6e7320367d98',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['uri_5ftype',['uri_type',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a6a2745145078cb237fb385a7ad4681af',1,'kvstore_v1_xxx::basic_key_value_store_info::uri_type()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a230f8e3e03df31d6647e4544853b1502',1,'kvstore_v1_xxx::basic_key_value_store::uri_type()']]],
- ['using_5fkqueues',['using_kqueues',['../classllfio__v2__xxx_1_1io__service.html#ac4c9dfee053976f4dca0b91cd98caabb',1,'llfio_v2_xxx::io_service']]],
- ['utc',['utc',['../structllfio__v2__xxx_1_1deadline.html#acbc4f85fc48f6818ba7b418ac4c7a545',1,'llfio_v2_xxx::deadline']]],
- ['utils_2ehpp',['utils.hpp',['../utils_8hpp.html',1,'']]]
+ ['temp_5fdirectory',['temp_directory',['../classllfio__v2__xxx_1_1directory__handle.html#a3513e9a84f1bc13bb4500dbab84207c4',1,'llfio_v2_xxx::directory_handle::temp_directory()'],['../namespacellfio__v2__xxx.html#addbdc12d4993a8ee40c105a02a105a61',1,'llfio_v2_xxx::temp_directory()']]],
+ ['temp_5ffile',['temp_file',['../classllfio__v2__xxx_1_1file__handle.html#a428114e3c8628c0621b1aa156051651c',1,'llfio_v2_xxx::file_handle::temp_file()'],['../namespacellfio__v2__xxx.html#a70d9ef3b988a880d171015b754bb7b27',1,'llfio_v2_xxx::temp_file()']]],
+ ['temp_5finode',['temp_inode',['../classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5',1,'llfio_v2_xxx::file_handle::temp_inode()'],['../namespacellfio__v2__xxx.html#ac8d9dc908fe39f9c896e99f6b7a39d81',1,'llfio_v2_xxx::temp_inode()']]],
+ ['temporary',['temporary',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef',1,'llfio_v2_xxx::handle']]],
+ ['todo_20list',['Todo List',['../todo.html',1,'']]],
+ ['transaction',['transaction',['../classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['transaction_5faborted_5fcollision',['transaction_aborted_collision',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa203fd50f72dbec98aa499192e1844fc8',1,'kvstore_v1_xxx']]],
+ ['trivial_5fvector',['trivial_vector',['../classllfio__v2__xxx_1_1algorithm_1_1trivial__vector.html',1,'llfio_v2_xxx::algorithm']]],
+ ['trivial_5fvector_2ehpp',['trivial_vector.hpp',['../trivial__vector_8hpp.html',1,'']]],
+ ['trivial_5fvector_5fimpl',['trivial_vector_impl',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aca1f25c1e249bad2129477f430cb5075',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a739d6e32f2f04d6f14d17fcd4debd1de',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(size_type count, const value_type &amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3b6fcc205956cbca2c88f32950b1d45a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(InputIt first, InputIt last)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a959b9de31852f3b82e0a2afbd533aa6f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(const trivial_vector_impl &amp;)=delete'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#acbb1456846604a3473108cd5207ad950',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(trivial_vector_impl &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa2a250c6265441ba5c0728945f8d9772',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(std::initializer_list&lt; value_type &gt; il)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a45eac1f6f721ee11caf82a22851d3f5e',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::trivial_vector_impl()']]],
+ ['trivial_5fvector_5fimpl_3c_20false_2c_20t_20_3e',['trivial_vector_impl&lt; false, T &gt;',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html',1,'llfio_v2_xxx::algorithm::impl']]],
+ ['trivial_5fvector_5fimpl_3c_20true_2c_20t_20_3e',['trivial_vector_impl&lt; true, T &gt;',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html',1,'llfio_v2_xxx::algorithm::impl']]],
+ ['trivial_5fvector_5fiterator',['trivial_vector_iterator',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html',1,'llfio_v2_xxx::algorithm::impl']]],
+ ['truncate',['truncate',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a3e147cacf24cb8d96b6c57f30692fda2',1,'llfio_v2_xxx::fast_random_file_handle::truncate()'],['../classllfio__v2__xxx_1_1file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f',1,'llfio_v2_xxx::file_handle::truncate()'],['../classllfio__v2__xxx_1_1section__handle.html#aa4d0beac304a5ae9d29441819a829b80',1,'llfio_v2_xxx::section_handle::truncate()'],['../classllfio__v2__xxx_1_1map__handle.html#a1fb1c874bdab5540c3310e468e41325a',1,'llfio_v2_xxx::map_handle::truncate()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a01a5da3834fd354c5c3d38284b84ef75',1,'llfio_v2_xxx::mapped_file_handle::truncate()'],['../namespacellfio__v2__xxx.html#a16ee1bea5a5791ecde266420e00fba81',1,'llfio_v2_xxx::truncate(file_handle &amp;self, file_handle::extent_type newsize) noexcept'],['../namespacellfio__v2__xxx.html#aa6b0c71dfe04ceae64818d4c91d05537',1,'llfio_v2_xxx::truncate(section_handle &amp;self, section_handle::extent_type newsize=0) noexcept'],['../namespacellfio__v2__xxx.html#a8231f6ba00d0d5840b47981ecc148e51',1,'llfio_v2_xxx::truncate(map_handle &amp;self, map_handle::size_type newsize, bool permit_relocation=false) noexcept']]],
+ ['truncate_5fexisting',['truncate_existing',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed',1,'llfio_v2_xxx::handle']]],
+ ['try_5flock',['try_lock',['../classllfio__v2__xxx_1_1io__handle.html#ae1abb705dbe9890e103365bf7c61521e',1,'llfio_v2_xxx::io_handle::try_lock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a051822a4942c7f45b0491ab4385aacd3',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::try_lock(entities_type entities) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a5a7f463e9235bb95ddd84b69e2642613',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::try_lock(entity_type entity) noexcept']]],
+ ['type',['type',['../structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a948529cb03ceb639a2b5f9c7d20542eb',1,'llfio_v2_xxx::storage_profile::item_base::type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ac44ca889e5423c1bdeb02e5bee5f645a',1,'llfio_v2_xxx::symlink_handle::buffers_type::type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#abe8fb78c928a515db8f017af10436852',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::type()']]]
];
diff --git a/search/all_14.js b/search/all_14.js
index ef9c0157..49b17209 100644
--- a/search/all_14.js
+++ b/search/all_14.js
@@ -1,8 +1,19 @@
var searchData=
[
- ['value',['value',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html#a73583a38b2eac0522a71353b096f594b',1,'llfio_v2_xxx::storage_profile::item::value()'],['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a2ad515aaa41bfda6ade62bd7257330f6',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type::value()']]],
- ['value_5fsize',['value_size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#acbf5b5f9003877866ffa11fbb059cece',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['value_5ftype',['value_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a2fb5b4325d1dae21818f0ec3b6441fdb',1,'kvstore_v1_xxx::basic_key_value_store::value_type()'],['../classllfio__v2__xxx_1_1mapped.html#a42e32d5e02addf6123422ebee02510e4',1,'llfio_v2_xxx::mapped::value_type()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a773c664906c70efa198bcc81bc92b973',1,'llfio_v2_xxx::storage_profile::storage_profile::value_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#abeb80e765d34c675c0389a7e587971cd',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::value_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a6c613e9aeb765304262251d3aa10c945',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::value_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a499cc1593d16f042c2d3266b8e0c205a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::value_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#adfb9e2612d4f570f0d3eb043bbb05d81',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type::value_type()']]],
- ['verified_5ftemporary_5fdirectories',['verified_temporary_directories',['../namespacellfio__v2__xxx_1_1path__discovery.html#ab3c4aaa0c413e4989461ab6551058583',1,'llfio_v2_xxx::path_discovery']]],
- ['version_2ehpp',['version.hpp',['../version_8hpp.html',1,'']]]
+ ['uint128',['uint128',['../namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html#a4d1eda01c8044f5366e6a49c1839db74',1,'llfio_v2_xxx::algorithm::shared_fs_mutex']]],
+ ['uint64',['uint64',['../namespacellfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex.html#a39bcbe1b56c1cf547c192f4f0fa488cb',1,'llfio_v2_xxx::algorithm::shared_fs_mutex']]],
+ ['underlying_5ffile_5fmaximum_5fextent',['underlying_file_maximum_extent',['../classllfio__v2__xxx_1_1mapped__file__handle.html#a23f61ce914c2564b6eaf885a13a19395',1,'llfio_v2_xxx::mapped_file_handle']]],
+ ['unique_5fid',['unique_id',['../classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1',1,'llfio_v2_xxx::fs_handle']]],
+ ['unique_5fid_5ftype',['unique_id_type',['../classllfio__v2__xxx_1_1fs__handle.html#a1a65884346740af7fb4648c79d44a750',1,'llfio_v2_xxx::fs_handle']]],
+ ['unknown',['unknown',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daad921d60486366258809553a3db49a4a',1,'llfio_v2_xxx::path_discovery::discovered_path']]],
+ ['unlink',['unlink',['../classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982',1,'llfio_v2_xxx::fs_handle::unlink()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a002c9dab669604d58e08aa8f4dbc99c8',1,'llfio_v2_xxx::symlink_handle::unlink()'],['../namespacellfio__v2__xxx.html#a3c20b46beeb225aa63ade3dc42e73362',1,'llfio_v2_xxx::unlink()']]],
+ ['unlock',['unlock',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a26e98e20ea5be1a930d00b0b6f709436',1,'llfio_v2_xxx::fast_random_file_handle::unlock()'],['../classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html#a40845d72f81836890189a420124a1f0e',1,'llfio_v2_xxx::io_handle::extent_guard::unlock()'],['../classllfio__v2__xxx_1_1io__handle.html#ad720c4c7f350fe06291534d1cbf2feb5',1,'llfio_v2_xxx::io_handle::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a9a1efb3416df74145cd6d8a91c01350c',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#acbaee269018d013fd7772d9f150a8e06',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a645f3ecd3a841cb7311102dea4f36757',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#aef06d02d70a00b731afbc2a9190eec3e',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a9e898ef170b38add24229c6ed9b91b74',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a5f7f9ad579b9fb0d3700fd31472fb95a',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#aa22cd8a543e88b3af6915444828f31e2',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::unlock()']]],
+ ['unsupported_5fintegrity',['unsupported_integrity',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fadfa4eb2805883a2c1653229e6c18aa70',1,'kvstore_v1_xxx']]],
+ ['unsupported_5furi',['unsupported_uri',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa88845d2baf0c5f2c895cd23bd72e3b07',1,'kvstore_v1_xxx']]],
+ ['update_5fmap',['update_map',['../classllfio__v2__xxx_1_1map__handle.html#ac7aeb0aa6182a22d0242340eb6d341b9',1,'llfio_v2_xxx::map_handle::update_map()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#acb5a5b1e9f5bd7b1555edbacd057972c',1,'llfio_v2_xxx::mapped_file_handle::update_map()']]],
+ ['uri',['uri',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a6380b90bf98c1403827a6e7320367d98',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['uri_5ftype',['uri_type',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a6a2745145078cb237fb385a7ad4681af',1,'kvstore_v1_xxx::basic_key_value_store_info::uri_type()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a230f8e3e03df31d6647e4544853b1502',1,'kvstore_v1_xxx::basic_key_value_store::uri_type()']]],
+ ['using_5fkqueues',['using_kqueues',['../classllfio__v2__xxx_1_1io__service.html#ac4c9dfee053976f4dca0b91cd98caabb',1,'llfio_v2_xxx::io_service']]],
+ ['utc',['utc',['../structllfio__v2__xxx_1_1deadline.html#acbc4f85fc48f6818ba7b418ac4c7a545',1,'llfio_v2_xxx::deadline']]],
+ ['utils_2ehpp',['utils.hpp',['../utils_8hpp.html',1,'']]]
];
diff --git a/search/all_15.js b/search/all_15.js
index 0dea2ecf..ef9c0157 100644
--- a/search/all_15.js
+++ b/search/all_15.js
@@ -1,10 +1,8 @@
var searchData=
[
- ['win_5fcreate_5fcase_5fsensitive_5fdirectory',['win_create_case_sensitive_directory',['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681',1,'llfio_v2_xxx::handle']]],
- ['win_5fdisable_5fsparse_5ffile_5fcreation',['win_disable_sparse_file_creation',['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0',1,'llfio_v2_xxx::handle']]],
- ['win_5fdisable_5funlink_5femulation',['win_disable_unlink_emulation',['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c',1,'llfio_v2_xxx::handle']]],
- ['win_5fjunction',['win_junction',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002ae295d0310a8145d4037bb19c69aa7a1a',1,'llfio_v2_xxx::symlink_handle']]],
- ['win_5fwsl',['win_wsl',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a47a6c07b9ccfe0e2eb31469b3e3b1939',1,'llfio_v2_xxx::symlink_handle']]],
- ['writable',['writable',['../structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7ab0fb91cab5d26713f14fe767166e6ec6',1,'llfio_v2_xxx::native_handle_type']]],
- ['write',['write',['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549ab61620219a89d4c133c6c6f4b781a9ba',1,'llfio_v2_xxx::section_handle::write()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a7264d661f3c050a78f0cb1e1655b6d84',1,'kvstore_v1_xxx::basic_key_value_store::write()'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#abdbe878fecb166d1eda5ddc4718e101d',1,'llfio_v2_xxx::fast_random_file_handle::write()'],['../classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052',1,'llfio_v2_xxx::io_handle::write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept'],['../classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57',1,'llfio_v2_xxx::io_handle::write(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#a90afda5433656ed35a5814e048cc1f1b',1,'llfio_v2_xxx::map_handle::write()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a269e37ceff90d2d92fa65e7d5a17c9f5',1,'llfio_v2_xxx::mapped_file_handle::write()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af63e94ffbdb72bf6218cb4ba7c9a552b',1,'llfio_v2_xxx::storage_profile::storage_profile::write()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a7227db10ebbb385311452e912d833447',1,'llfio_v2_xxx::symlink_handle::write()'],['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee',1,'llfio_v2_xxx::handle::write()'],['../namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a',1,'llfio_v2_xxx::write(io_handle &amp;self, io_handle::io_request&lt; io_handle::const_buffers_type &gt; reqs, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#a5ea3d93e8b2c7f6e3fca7a9cde734312',1,'llfio_v2_xxx::write(io_handle &amp;self, io_handle::extent_type offset, std::initializer_list&lt; io_handle::const_buffer_type &gt; lst, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#a681ed7e98ac17e6bb336b9287365141b',1,'llfio_v2_xxx::write(map_handle &amp;self, map_handle::io_request&lt; map_handle::const_buffers_type &gt; reqs, deadline d=deadline()) noexcept']]]
+ ['value',['value',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html#a73583a38b2eac0522a71353b096f594b',1,'llfio_v2_xxx::storage_profile::item::value()'],['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a2ad515aaa41bfda6ade62bd7257330f6',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type::value()']]],
+ ['value_5fsize',['value_size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#acbf5b5f9003877866ffa11fbb059cece',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['value_5ftype',['value_type',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a2fb5b4325d1dae21818f0ec3b6441fdb',1,'kvstore_v1_xxx::basic_key_value_store::value_type()'],['../classllfio__v2__xxx_1_1mapped.html#a42e32d5e02addf6123422ebee02510e4',1,'llfio_v2_xxx::mapped::value_type()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a773c664906c70efa198bcc81bc92b973',1,'llfio_v2_xxx::storage_profile::storage_profile::value_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#abeb80e765d34c675c0389a7e587971cd',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::value_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a6c613e9aeb765304262251d3aa10c945',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::value_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a499cc1593d16f042c2d3266b8e0c205a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::value_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#adfb9e2612d4f570f0d3eb043bbb05d81',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type::value_type()']]],
+ ['verified_5ftemporary_5fdirectories',['verified_temporary_directories',['../namespacellfio__v2__xxx_1_1path__discovery.html#ab3c4aaa0c413e4989461ab6551058583',1,'llfio_v2_xxx::path_discovery']]],
+ ['version_2ehpp',['version.hpp',['../version_8hpp.html',1,'']]]
];
diff --git a/search/all_16.js b/search/all_16.js
index 6f83b03c..e60cdbee 100644
--- a/search/all_16.js
+++ b/search/all_16.js
@@ -1,6 +1,8 @@
var searchData=
[
- ['xattr',['xattr',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a129920c6447ee9666c0bc935a8e2d243',1,'llfio_v2_xxx::statfs_t::f_flags_t']]],
- ['xor_2ehpp',['xor.hpp',['../xor_8hpp.html',1,'']]],
- ['xor_5fhandle_5fadapter',['xor_handle_adapter',['../namespacellfio__v2__xxx_1_1algorithm.html#a27450e894b5dab6c18a01350670fa0dc',1,'llfio_v2_xxx::algorithm']]]
+ ['wait_5fall',['wait_all',['../classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345',1,'llfio_v2_xxx::io_handle']]],
+ ['wait_5fdata_5fonly',['wait_data_only',['../classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce',1,'llfio_v2_xxx::io_handle']]],
+ ['win_5fjunction',['win_junction',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002ae295d0310a8145d4037bb19c69aa7a1a',1,'llfio_v2_xxx::symlink_handle']]],
+ ['win_5fwsl',['win_wsl',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a47a6c07b9ccfe0e2eb31469b3e3b1939',1,'llfio_v2_xxx::symlink_handle']]],
+ ['write',['write',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a7264d661f3c050a78f0cb1e1655b6d84',1,'kvstore_v1_xxx::basic_key_value_store::write()'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#abdbe878fecb166d1eda5ddc4718e101d',1,'llfio_v2_xxx::fast_random_file_handle::write()'],['../classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052',1,'llfio_v2_xxx::io_handle::write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept'],['../classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57',1,'llfio_v2_xxx::io_handle::write(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#a90afda5433656ed35a5814e048cc1f1b',1,'llfio_v2_xxx::map_handle::write()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a269e37ceff90d2d92fa65e7d5a17c9f5',1,'llfio_v2_xxx::mapped_file_handle::write()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af63e94ffbdb72bf6218cb4ba7c9a552b',1,'llfio_v2_xxx::storage_profile::storage_profile::write()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a7227db10ebbb385311452e912d833447',1,'llfio_v2_xxx::symlink_handle::write()'],['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee',1,'llfio_v2_xxx::handle::write()'],['../namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a',1,'llfio_v2_xxx::write(io_handle &amp;self, io_handle::io_request&lt; io_handle::const_buffers_type &gt; reqs, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#a5ea3d93e8b2c7f6e3fca7a9cde734312',1,'llfio_v2_xxx::write(io_handle &amp;self, io_handle::extent_type offset, std::initializer_list&lt; io_handle::const_buffer_type &gt; lst, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#a681ed7e98ac17e6bb336b9287365141b',1,'llfio_v2_xxx::write(map_handle &amp;self, map_handle::io_request&lt; map_handle::const_buffers_type &gt; reqs, deadline d=deadline()) noexcept']]]
];
diff --git a/search/all_17.js b/search/all_17.js
index af5c3e19..6f83b03c 100644
--- a/search/all_17.js
+++ b/search/all_17.js
@@ -1,5 +1,6 @@
var searchData=
[
- ['zero',['zero',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#ab88d8d93300d1525d52ad1eb4e00e504',1,'llfio_v2_xxx::fast_random_file_handle::zero()'],['../classllfio__v2__xxx_1_1file__handle.html#a50caa94c51aae1f23e7708d3c6a21364',1,'llfio_v2_xxx::file_handle::zero()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#aecc5c8f55550a0c83e63b73e50e5ed0b',1,'llfio_v2_xxx::mapped_file_handle::zero()'],['../namespacellfio__v2__xxx.html#ad0fb15649a46da0d75b5797bfda8dc2e',1,'llfio_v2_xxx::zero()']]],
- ['zero_5fmemory',['zero_memory',['../classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f',1,'llfio_v2_xxx::map_handle']]]
+ ['xattr',['xattr',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a129920c6447ee9666c0bc935a8e2d243',1,'llfio_v2_xxx::statfs_t::f_flags_t']]],
+ ['xor_2ehpp',['xor.hpp',['../xor_8hpp.html',1,'']]],
+ ['xor_5fhandle_5fadapter',['xor_handle_adapter',['../namespacellfio__v2__xxx_1_1algorithm.html#a27450e894b5dab6c18a01350670fa0dc',1,'llfio_v2_xxx::algorithm']]]
];
diff --git a/search/all_18.js b/search/all_18.js
index 54bd75f7..af5c3e19 100644
--- a/search/all_18.js
+++ b/search/all_18.js
@@ -1,4 +1,5 @@
var searchData=
[
- ['_7emapped',['~mapped',['../classllfio__v2__xxx_1_1mapped.html#a4f142320455c139f3bf38823eb107eec',1,'llfio_v2_xxx::mapped']]]
+ ['zero',['zero',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#ab88d8d93300d1525d52ad1eb4e00e504',1,'llfio_v2_xxx::fast_random_file_handle::zero()'],['../classllfio__v2__xxx_1_1file__handle.html#a50caa94c51aae1f23e7708d3c6a21364',1,'llfio_v2_xxx::file_handle::zero()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#aecc5c8f55550a0c83e63b73e50e5ed0b',1,'llfio_v2_xxx::mapped_file_handle::zero()'],['../namespacellfio__v2__xxx.html#ad0fb15649a46da0d75b5797bfda8dc2e',1,'llfio_v2_xxx::zero()']]],
+ ['zero_5fmemory',['zero_memory',['../classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f',1,'llfio_v2_xxx::map_handle']]]
];
diff --git a/search/enumvalues_f.html b/search/all_19.html
index 1cced59f..4fdfe460 100644
--- a/search/enumvalues_f.html
+++ b/search/all_19.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="enumvalues_f.js"></script>
+<script type="text/javascript" src="all_19.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
diff --git a/search/all_19.js b/search/all_19.js
new file mode 100644
index 00000000..54bd75f7
--- /dev/null
+++ b/search/all_19.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['_7emapped',['~mapped',['../classllfio__v2__xxx_1_1mapped.html#a4f142320455c139f3bf38823eb107eec',1,'llfio_v2_xxx::mapped']]]
+];
diff --git a/search/all_2.js b/search/all_2.js
index d3c04c57..9b17b553 100644
--- a/search/all_2.js
+++ b/search/all_2.js
@@ -3,20 +3,15 @@ var searchData=
['back',['back',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8b3f69d7e670bf45727baa9e9ed30141',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::back()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aba4b731aa0cd0d654976d34d5c10388f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::back() const']]],
['backing',['backing',['../classllfio__v2__xxx_1_1section__handle.html#a680320bd539378d99870d9b2cdedb9c8',1,'llfio_v2_xxx::section_handle']]],
['backing_5fnative_5fhandle',['backing_native_handle',['../classllfio__v2__xxx_1_1section__handle.html#aea14a4f834500e412db39efd998f438a',1,'llfio_v2_xxx::section_handle']]],
- ['barrier',['barrier',['../classllfio__v2__xxx_1_1io__handle.html#aa3ec366f663f85fb4d679542b8c1b41a',1,'llfio_v2_xxx::io_handle::barrier()'],['../namespacellfio__v2__xxx.html#a4fad22759dab40321cabd37c755880fe',1,'llfio_v2_xxx::barrier()']]],
- ['barrier_5fon_5fclose',['barrier_on_close',['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a06b41188d84f0fee5cff37c71b3d5877',1,'llfio_v2_xxx::section_handle']]],
+ ['barrier',['barrier',['../classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f',1,'llfio_v2_xxx::io_handle']]],
+ ['barrier_5fkind',['barrier_kind',['../classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565',1,'llfio_v2_xxx::io_handle']]],
['base_2ehpp',['base.hpp',['../base_8hpp.html',1,'']]],
['basic_5fkey_5fvalue_5fstore',['basic_key_value_store',['../classkvstore__v1__xxx_1_1basic__key__value__store.html',1,'kvstore_v1_xxx::basic_key_value_store'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a626aa5e393870b8ad926c3efdbeb364e',1,'kvstore_v1_xxx::basic_key_value_store::basic_key_value_store()']]],
['basic_5fkey_5fvalue_5fstore_5finfo',['basic_key_value_store_info',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html',1,'kvstore_v1_xxx']]],
['begin',['begin',['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a3dc3fe4419608ead3c2d067e4b446e23',1,'llfio_v2_xxx::io_handle::buffer_type::begin() noexcept'],['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#ad3327f868ebf3022c5b5d703c0013a7c',1,'llfio_v2_xxx::io_handle::buffer_type::begin() const noexcept'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a4364d23f0a87200460bf789a4a8580a1',1,'llfio_v2_xxx::io_handle::const_buffer_type::begin() noexcept'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a10e6e1e22e4d3996a0a4c39d7b451f62',1,'llfio_v2_xxx::io_handle::const_buffer_type::begin() const noexcept'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#abd2f5aca239fcd35a94a60db4d5bf133',1,'llfio_v2_xxx::storage_profile::storage_profile::begin() noexcept'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a10064029adf92a2b2fc97e8277a5ce3b',1,'llfio_v2_xxx::storage_profile::storage_profile::begin() const noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a28e41b560e19db2f64f7cce036177570',1,'llfio_v2_xxx::symlink_handle::buffers_type::begin() noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ae1138a854773d736e5cc8f3c13b29ec1',1,'llfio_v2_xxx::symlink_handle::buffers_type::begin() const noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#ac6169c9b49862a61bfe7010026c1de3d',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::begin() noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#aed1bbdd2f849774c090b2837ff5a15fc',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::begin() const noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8526d8eef6bcc3851b34bdf1d364f102',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::begin() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ad71fa0eddf798fb096dfdaf25af4168c',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::begin() const noexcept']]],
['begin_5ftransaction',['begin_transaction',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#aea4b35a978c902019070e1f09388bc36',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['bitfield_5f_5fdisposition',['bitfield__disposition',['../structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7',1,'llfio_v2_xxx::native_handle_type']]],
- ['bitfield_5f_5ffeatures',['bitfield__features',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54a',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
- ['bitfield_5f_5fflag',['bitfield__flag',['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a',1,'llfio_v2_xxx::handle::bitfield__flag()'],['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549',1,'llfio_v2_xxx::section_handle::bitfield__flag()']]],
- ['bitfield_5f_5fwant',['bitfield__want',['../structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279',1,'llfio_v2_xxx::stat_t::bitfield__want()'],['../structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398',1,'llfio_v2_xxx::statfs_t::bitfield__want()']]],
['buffer_5ftype',['buffer_type',['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html',1,'llfio_v2_xxx::io_handle::buffer_type'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ad58b814ed2c9c93e0834a18ddd7af607',1,'kvstore_v1_xxx::basic_key_value_store::buffer_type()'],['../classllfio__v2__xxx_1_1directory__handle.html#a388fc107831ed68dba60c6f4082be952',1,'llfio_v2_xxx::directory_handle::buffer_type()'],['../classllfio__v2__xxx_1_1io__service.html#a6f63a89a90f60ad8076dcaedb23c17d8',1,'llfio_v2_xxx::io_service::buffer_type()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a5c072cf6866aff3220047aba4e4f58fd',1,'llfio_v2_xxx::symlink_handle::buffer_type()'],['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#aa9d73d003082c6692e55c6321cf4ff2b',1,'llfio_v2_xxx::io_handle::buffer_type::buffer_type()=default'],['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a797bf3760066da6bf3632cfb6f9658db',1,'llfio_v2_xxx::io_handle::buffer_type::buffer_type(pointer data, size_type len) noexcept']]],
['buffers_5ftype',['buffers_type',['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html',1,'llfio_v2_xxx::directory_handle::buffers_type'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html',1,'llfio_v2_xxx::symlink_handle::buffers_type'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#afa35af992c033e9abaf6dcb6f52f7b2c',1,'kvstore_v1_xxx::basic_key_value_store::buffers_type()'],['../classllfio__v2__xxx_1_1io__handle.html#a8f525d9665b524442b46cd55678817ed',1,'llfio_v2_xxx::io_handle::buffers_type()'],['../classllfio__v2__xxx_1_1io__service.html#ac50a0165e9e9093d859a7a57422bc93a',1,'llfio_v2_xxx::io_service::buffers_type()'],['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#ac99d361654291d463bfce813c0d15989',1,'llfio_v2_xxx::directory_handle::buffers_type::buffers_type(span&lt; buffer_type &gt; v)'],['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a49ed1fc7d1b5b0b6bc8e039b228d3888',1,'llfio_v2_xxx::directory_handle::buffers_type::buffers_type(buffers_type &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a181d1decd2c1456924e5029096a294e2',1,'llfio_v2_xxx::directory_handle::buffers_type::buffers_type(const buffers_type &amp;)=delete'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a8e897069034acea0439397ea4aeb777a',1,'llfio_v2_xxx::symlink_handle::buffers_type::buffers_type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aa4d9b043e638ad6e1b592f2b93a5c9c2',1,'llfio_v2_xxx::symlink_handle::buffers_type::buffers_type(path_view link, symlink_type type=symlink_type::symbolic)'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a3880885ec5694a6ca77b4325a0684848',1,'llfio_v2_xxx::symlink_handle::buffers_type::buffers_type(buffers_type &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a912fbd8b1122c799cc732817a830c890',1,'llfio_v2_xxx::symlink_handle::buffers_type::buffers_type(const buffers_type &amp;)=delete']]],
- ['byte_5flock_5finsanity',['byte_lock_insanity',['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59',1,'llfio_v2_xxx::handle']]],
['byte_5franges',['byte_ranges',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#ae6ccd949eefecbcf8208420ad9c27cf3',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::byte_ranges(const byte_ranges &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#a9223706814fe3ddc1c6260408f643b4a',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::byte_ranges(byte_ranges &amp;&amp;o) noexcept']]],
['byte_5franges_2ehpp',['byte_ranges.hpp',['../byte__ranges_8hpp.html',1,'']]],
['bytes_5fstored',['bytes_stored',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a30c0545051ee08ab7b4cd9c76b0a8cb0',1,'kvstore_v1_xxx::basic_key_value_store']]],
diff --git a/search/all_3.js b/search/all_3.js
index 7731d4ce..90c95bd2 100644
--- a/search/all_3.js
+++ b/search/all_3.js
@@ -39,7 +39,6 @@ var searchData=
['construct_3c_20path_5fhandle_20_3e',['construct&lt; path_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01path__handle_01_4.html',1,'llfio_v2_xxx']]],
['construct_3c_20section_5fhandle_20_3e',['construct&lt; section_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01section__handle_01_4.html',1,'llfio_v2_xxx']]],
['construct_3c_20symlink_5fhandle_20_3e',['construct&lt; symlink_handle &gt;',['../structllfio__v2__xxx_1_1construct_3_01symlink__handle_01_4.html',1,'llfio_v2_xxx']]],
- ['cow',['cow',['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549ac57346933aada59cff3ee2296cc70332',1,'llfio_v2_xxx::section_handle']]],
['crbegin',['crbegin',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3feb4c15c7805fd403138d677953b285',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
['create',['create',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#aa52a30f6b8dafd8720fb6b19d7df3847',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
['create_5fkvstore',['create_kvstore',['../namespacekvstore__v1__xxx.html#a6e486d7b17da9677f0218b106b1f3817',1,'kvstore_v1_xxx']]],
diff --git a/search/all_4.js b/search/all_4.js
index 0ddc6bcf..3747317f 100644
--- a/search/all_4.js
+++ b/search/all_4.js
@@ -8,17 +8,13 @@ var searchData=
['dependencies',['dependencies',['../classkvstore__v1__xxx_1_1basic__key__value__store_1_1transaction.html#a844ec2c3ede9688a0ae1be106ef92df8',1,'kvstore_v1_xxx::basic_key_value_store::transaction']]],
['description',['description',['../structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#a8f9536ff1752dee8f073e3dafac18fe0',1,'llfio_v2_xxx::storage_profile::item_base']]],
['difference_5ftype',['difference_type',['../classllfio__v2__xxx_1_1mapped.html#a1e8b86dd97d7d2e01436407160495e11',1,'llfio_v2_xxx::mapped::difference_type()'],['../classllfio__v2__xxx_1_1path__view.html#ad4e14fc71abee0765b06af857bd6a025',1,'llfio_v2_xxx::path_view::difference_type()'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa8d8f5c1656378091389ac0a7abc6c68',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::difference_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ac4987a3f30cfd57fa669e66998b7e0c8',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::difference_type()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a2d09a83a6f59afb7d1f0f06ebc79e7bf',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::difference_type()']]],
- ['directory',['directory',['../structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a8d7b31aed417b5d7274a817b8d7d0fab',1,'llfio_v2_xxx::native_handle_type::directory()'],['../classllfio__v2__xxx_1_1directory__handle.html#a1acc9714116df8fbb0651d912a870495',1,'llfio_v2_xxx::directory_handle::directory()'],['../namespacellfio__v2__xxx.html#a3d112d170c1d485e1120de06eef02375',1,'llfio_v2_xxx::directory()']]],
+ ['directory',['directory',['../classllfio__v2__xxx_1_1directory__handle.html#a1acc9714116df8fbb0651d912a870495',1,'llfio_v2_xxx::directory_handle::directory()'],['../namespacellfio__v2__xxx.html#a3d112d170c1d485e1120de06eef02375',1,'llfio_v2_xxx::directory()']]],
['directory_5fentry',['directory_entry',['../structllfio__v2__xxx_1_1directory__entry.html',1,'llfio_v2_xxx']]],
['directory_5fhandle',['directory_handle',['../classllfio__v2__xxx_1_1directory__handle.html',1,'llfio_v2_xxx::directory_handle'],['../classllfio__v2__xxx_1_1directory__handle.html#ad505f506be33c58cf7176878e552d59e',1,'llfio_v2_xxx::directory_handle::directory_handle()'],['../classllfio__v2__xxx_1_1directory__handle.html#a8ce11e289daebf8125b8585a61d85a9a',1,'llfio_v2_xxx::directory_handle::directory_handle(native_handle_type h, dev_t devid, ino_t inode, caching caching=caching::all, flag flags=flag::none)'],['../classllfio__v2__xxx_1_1directory__handle.html#a20f3e10dfd3f2cfa80cc14b6987b9552',1,'llfio_v2_xxx::directory_handle::directory_handle(directory_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1directory__handle.html#aa670b617d883625a9532ab12c65469d8',1,'llfio_v2_xxx::directory_handle::directory_handle(const directory_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1directory__handle.html#a993f752761d4488d717c95887ab3e824',1,'llfio_v2_xxx::directory_handle::directory_handle(handle &amp;&amp;o, dev_t devid, ino_t inode) noexcept']]],
['directory_5fhandle_2ehpp',['directory_handle.hpp',['../directory__handle_8hpp.html',1,'']]],
['disable_5fattached_5ffor_3c_20llfio_5fv2_5fxxx_3a_3amap_5fhandle_20_3e',['disable_attached_for&lt; llfio_v2_xxx::map_handle &gt;',['../structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1map__handle_01_4.html',1,'in_place_attach_detach::traits']]],
['disable_5fattached_5ffor_3c_20llfio_5fv2_5fxxx_3a_3amapped_5ffile_5fhandle_20_3e',['disable_attached_for&lt; llfio_v2_xxx::mapped_file_handle &gt;',['../structin__place__attach__detach_1_1traits_1_1disable__attached__for_3_01llfio__v2__xxx_1_1mapped__file__handle_01_4.html',1,'in_place_attach_detach::traits']]],
['disable_5fkqueues',['disable_kqueues',['../classllfio__v2__xxx_1_1io__service.html#aee0e77242d19c62eb68d3bef68e9ea0d',1,'llfio_v2_xxx::io_service']]],
- ['disable_5fparallelism',['disable_parallelism',['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322',1,'llfio_v2_xxx::handle']]],
- ['disable_5fprefetching',['disable_prefetching',['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3',1,'llfio_v2_xxx::handle']]],
- ['disable_5fsafety_5fbarriers',['disable_safety_barriers',['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d',1,'llfio_v2_xxx::handle']]],
- ['disable_5fsafety_5funlinks',['disable_safety_unlinks',['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b',1,'llfio_v2_xxx::handle']]],
['discovered_5fpath',['discovered_path',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html',1,'llfio_v2_xxx::path_discovery']]],
['do_5fnot_5fstore',['do_not_store',['../classllfio__v2__xxx_1_1map__handle.html#a3efb39f1b54a7c156a3e0ee2a953712d',1,'llfio_v2_xxx::map_handle']]],
['done',['done',['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a642a415d3444c11886c3bace729b917b',1,'llfio_v2_xxx::directory_handle::buffers_type']]],
diff --git a/search/all_5.js b/search/all_5.js
index f5fbefe0..9a9ee817 100644
--- a/search/all_5.js
+++ b/search/all_5.js
@@ -16,8 +16,6 @@ var searchData=
['error',['error',['../classllfio__v2__xxx_1_1error.html',1,'llfio_v2_xxx::error'],['../classllfio__v2__xxx_1_1error.html#abdf2b1c5b4880766bf00a620223ef2a3',1,'llfio_v2_xxx::error::error()']]],
['error_5finfo',['error_info',['../structllfio__v2__xxx_1_1error__info.html',1,'llfio_v2_xxx']]],
['exclusive',['exclusive',['../structllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entity__type.html#a7ad77fdbebd5f1ec023e4324797f3716',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type']]],
- ['executable',['executable',['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549afde37a72636d74e28ce3553154341756',1,'llfio_v2_xxx::section_handle']]],
- ['execute',['execute',['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a631fef30d1e40f9d7ce6fa3a0ad4fa9d',1,'llfio_v2_xxx::section_handle']]],
['extension',['extension',['../classllfio__v2__xxx_1_1path__view.html#a3ec7f23cd05adbff0aa798e2586540f1',1,'llfio_v2_xxx::path_view']]],
['extent',['extent',['../classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html#a228c6d81a4f3734a01d896e47fc0f4d7',1,'llfio_v2_xxx::io_handle::extent_guard']]],
['extent_5fguard',['extent_guard',['../classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html',1,'llfio_v2_xxx::io_handle::extent_guard'],['../classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html#afa82a05e49b0641c95f710b670903035',1,'llfio_v2_xxx::io_handle::extent_guard::extent_guard()'],['../classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html#a854dea02310487970fd5b4c8600322ea',1,'llfio_v2_xxx::io_handle::extent_guard::extent_guard(extent_guard &amp;&amp;o) noexcept']]],
diff --git a/search/all_6.js b/search/all_6.js
index 85c401b6..a2ae9330 100644
--- a/search/all_6.js
+++ b/search/all_6.js
@@ -20,8 +20,8 @@ var searchData=
['fast_5frandom_5ffile_5fhandle_2ehpp',['fast_random_file_handle.hpp',['../fast__random__file__handle_8hpp.html',1,'']]],
['fastdeleted',['fastdeleted',['../classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a14847befc159c1492671b53718fc46f8',1,'llfio_v2_xxx::directory_handle']]],
['fd',['fd',['../structllfio__v2__xxx_1_1native__handle__type.html#a6d63f413705982a84f4140640e4340af',1,'llfio_v2_xxx::native_handle_type']]],
- ['features',['features',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#afe5e5864b92a51c0ef3ef75f803c2f61',1,'kvstore_v1_xxx::basic_key_value_store::features()'],['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#adf38388186505565b7ebb4f87a6f0124',1,'kvstore_v1_xxx::basic_key_value_store_info::features()']]],
- ['file',['file',['../structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a3a4b67c0b2579480cb8d56466cd9bf88',1,'llfio_v2_xxx::native_handle_type::file()'],['../classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3',1,'llfio_v2_xxx::file_handle::file()'],['../namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d',1,'llfio_v2_xxx::file()']]],
+ ['features',['features',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#afe5e5864b92a51c0ef3ef75f803c2f61',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['file',['file',['../classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3',1,'llfio_v2_xxx::file_handle::file()'],['../namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d',1,'llfio_v2_xxx::file()']]],
['file_5fbuffer_5fdefault_5fsize',['file_buffer_default_size',['../namespacellfio__v2__xxx_1_1utils.html#a90d8f94ddb6e026f931e86d0dc904778',1,'llfio_v2_xxx::utils']]],
['file_5fhandle',['file_handle',['../classllfio__v2__xxx_1_1file__handle.html',1,'llfio_v2_xxx::file_handle'],['../classllfio__v2__xxx_1_1file__handle.html#a8f754fdbf69fbb9b989c5aab409f2cb2',1,'llfio_v2_xxx::file_handle::file_handle()'],['../classllfio__v2__xxx_1_1file__handle.html#a664770d5a3dc9db34d177622cb494779',1,'llfio_v2_xxx::file_handle::file_handle(native_handle_type h, dev_t devid, ino_t inode, caching caching=caching::none, flag flags=flag::none)'],['../classllfio__v2__xxx_1_1file__handle.html#a9cb49b1828d6a0cf4a7ea6668c38ca42',1,'llfio_v2_xxx::file_handle::file_handle(const file_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1file__handle.html#a72f5dad56f8bb4544d36637892f74ae7',1,'llfio_v2_xxx::file_handle::file_handle(file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1file__handle.html#a5eca081e5b1eb5c00ad46136911bb7f4',1,'llfio_v2_xxx::file_handle::file_handle(handle &amp;&amp;o, dev_t devid, ino_t inode) noexcept']]],
['file_5fhandle_2ehpp',['file_handle.hpp',['../file__handle_8hpp.html',1,'']]],
diff --git a/search/all_8.js b/search/all_8.js
index 986d2fa6..d5907a6c 100644
--- a/search/all_8.js
+++ b/search/all_8.js
@@ -5,6 +5,5 @@ var searchData=
['handle_2ehpp',['handle.hpp',['../handle_8hpp.html',1,'']]],
['handle_5ftype',['handle_type',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a22d02c2c96725ea238c5eed0e7a80c85',1,'kvstore_v1_xxx::basic_key_value_store_info::handle_type()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#af19ad33ae6cebe248028231d917ff4c1',1,'kvstore_v1_xxx::basic_key_value_store::handle_type()'],['../structllfio__v2__xxx_1_1storage__profile_1_1item__base.html#ae1026037f706015d2e10a545a64834c0',1,'llfio_v2_xxx::storage_profile::item_base::handle_type()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a83312b218da0b17c6407fbedb902cb1d',1,'llfio_v2_xxx::storage_profile::storage_profile::handle_type()']]],
['hardcoded',['hardcoded',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daeca7a05085eba86cbab65a157f848354',1,'llfio_v2_xxx::path_discovery::discovered_path']]],
- ['hasher_5ftype',['hasher_type',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#aa93c292c86b6447bafd9849ad03cfe78',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map']]],
- ['history',['history',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa498d5b94bbf58b2f19323f5357bbb6d9',1,'kvstore_v1_xxx::basic_key_value_store_info']]]
+ ['hasher_5ftype',['hasher_type',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#aa93c292c86b6447bafd9849ad03cfe78',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map']]]
];
diff --git a/search/all_9.js b/search/all_9.js
index ba62bafa..dcc48391 100644
--- a/search/all_9.js
+++ b/search/all_9.js
@@ -5,7 +5,6 @@ var searchData=
['index_5ftype',['index_type',['../classllfio__v2__xxx_1_1mapped.html#a6bad7c10fb47406a8a21966733e639ad',1,'llfio_v2_xxx::mapped']]],
['insert',['insert',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a9ce5b87e963aa7a8f968ed23adcd2046',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::insert(const_iterator pos, const value_type &amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a231c46161cc7164fa0c610c2f61a931c',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::insert(const_iterator pos, value_type &amp;&amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a613636af8f329f42f395c22511ed5e70',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::insert(const_iterator pos, size_type count, const value_type &amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#af7813ac4dde322154b5ca70e06494905',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::insert(const_iterator pos, InputIt first, InputIt last)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#adf08fa605a2613a539930c65a51511bb',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::insert(const_iterator pos, std::initializer_list&lt; value_type &gt; il)']]],
['interruption_5fsignal',['interruption_signal',['../classllfio__v2__xxx_1_1io__service.html#af8573e0ad8a91f3778867c710f30a914',1,'llfio_v2_xxx::io_service']]],
- ['invalid',['invalid',['../structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a03c22e007aed8c42eaee4dc2a6f639e3',1,'llfio_v2_xxx::native_handle_type']]],
['invalid_5furi',['invalid_uri',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa4ab2ea6999620ebeb2367865909977ab',1,'kvstore_v1_xxx']]],
['invoke',['invoke',['../structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html#a304587736d13127b67f68e09a397a4fd',1,'llfio_v2_xxx::storage_profile::item_erased']]],
['io_5fhandle',['io_handle',['../classllfio__v2__xxx_1_1io__handle.html',1,'llfio_v2_xxx::io_handle'],['../classllfio__v2__xxx_1_1io__handle.html#ab4b195f6b8cee1ffd48e28545245c762',1,'llfio_v2_xxx::io_handle::io_handle()'],['../classllfio__v2__xxx_1_1io__handle.html#aa27be0c27aeb13dd6a9dfb22e190bed3',1,'llfio_v2_xxx::io_handle::io_handle(native_handle_type h, caching caching=caching::none, flag flags=flag::none)'],['../classllfio__v2__xxx_1_1io__handle.html#aeb43111b811438b9193f4561e89a0a5b',1,'llfio_v2_xxx::io_handle::io_handle(handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1io__handle.html#ae91c8db1fca923c7743b257c125c77f7',1,'llfio_v2_xxx::io_handle::io_handle(io_handle &amp;&amp;)=default'],['../classllfio__v2__xxx_1_1io__handle.html#a2dba93b4357324599fe4b4375cdf9737',1,'llfio_v2_xxx::io_handle::io_handle(const io_handle &amp;)=delete']]],
diff --git a/search/all_c.js b/search/all_c.js
index 7cd57abb..cd933670 100644
--- a/search/all_c.js
+++ b/search/all_c.js
@@ -19,13 +19,11 @@ var searchData=
['max_5fsize',['max_size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a3a8d7656834e37e0904e06fc54abb1d6',1,'kvstore_v1_xxx::basic_key_value_store::max_size() const noexcept=0'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ad9984cf3113a0e096d8c6c5421c3b4e2',1,'kvstore_v1_xxx::basic_key_value_store::max_size(capacity_type quota) noexcept=0'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a4ceec137ccb252012d507cd9a962a490',1,'llfio_v2_xxx::storage_profile::storage_profile::max_size()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a90fee73d85b733951eab9c2f505f030e',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::max_size()']]],
['max_5fvalue_5fsize',['max_value_size',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a860380a3823942caabac91e2d819b781',1,'kvstore_v1_xxx::basic_key_value_store_info::max_value_size()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a61339059262f3f826c75d2d8c7ddc386',1,'kvstore_v1_xxx::basic_key_value_store::max_value_size()']]],
['maximum_5fextent',['maximum_extent',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a800e1a97e8dc3f9cc74dc2115d476398',1,'llfio_v2_xxx::fast_random_file_handle::maximum_extent()'],['../classllfio__v2__xxx_1_1file__handle.html#a7991af58283025b80a7225866643f0b4',1,'llfio_v2_xxx::file_handle::maximum_extent()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a0723a6ba04a578754bb601541be832d0',1,'llfio_v2_xxx::mapped_file_handle::maximum_extent()'],['../namespacellfio__v2__xxx.html#a1759f4cee184d433f4446a39ff8bfa02',1,'llfio_v2_xxx::maximum_extent()']]],
- ['maximum_5fprefetching',['maximum_prefetching',['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0',1,'llfio_v2_xxx::handle']]],
['memory_5fbacked_5ftemporary_5ffiles_5fdirectory',['memory_backed_temporary_files_directory',['../namespacellfio__v2__xxx_1_1path__discovery.html#ade18f14d3ef37488e8967c87faa04d29',1,'llfio_v2_xxx::path_discovery']]],
['memory_5fmap',['memory_map',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map&lt; Hasher, HashIndexSize, SpinlockType &gt;'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a60b0c32576780e9588b6b58770bc849d',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::memory_map(const memory_map &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a70d275a5256eec64030bfffa87acdb87',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::memory_map(memory_map &amp;&amp;o) noexcept']]],
['memory_5fmap_2ehpp',['memory_map.hpp',['../memory__map_8hpp.html',1,'']]],
['metadata',['metadata',['../structllfio__v2__xxx_1_1directory__handle_1_1buffers__type.html#a14d4df3a12986e4938ec8a5f8427e4ca',1,'llfio_v2_xxx::directory_handle::buffers_type']]],
['min_5fkey_5fsize',['min_key_size',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a3a48e754b1f0ccb700a1d17663f0bbb4',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
['min_5fvalue_5fsize',['min_value_size',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a413b348bd19556537cd4ff287b937b0a',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
- ['mode',['mode',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca',1,'llfio_v2_xxx::handle::mode()'],['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a2c1743edd93e794407f21911c9f72483',1,'kvstore_v1_xxx::basic_key_value_store_info::mode()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ad7d315f979abada8f65bb8ccfa19efe6',1,'kvstore_v1_xxx::basic_key_value_store::mode()']]],
- ['multiplexer',['multiplexer',['../structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a3cea1a678741f4ce20e57164946b5fc1',1,'llfio_v2_xxx::native_handle_type']]]
+ ['mode',['mode',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca',1,'llfio_v2_xxx::handle::mode()'],['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a2c1743edd93e794407f21911c9f72483',1,'kvstore_v1_xxx::basic_key_value_store_info::mode()'],['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ad7d315f979abada8f65bb8ccfa19efe6',1,'kvstore_v1_xxx::basic_key_value_store::mode()']]]
];
diff --git a/search/all_d.js b/search/all_d.js
index 590b6bef..7c9a8893 100644
--- a/search/all_d.js
+++ b/search/all_d.js
@@ -5,11 +5,11 @@ var searchData=
['native_5fhandle_5ftype',['native_handle_type',['../structllfio__v2__xxx_1_1native__handle__type.html',1,'llfio_v2_xxx::native_handle_type'],['../structllfio__v2__xxx_1_1native__handle__type.html#af9eb6d201364aae2e933da37caa4c1dd',1,'llfio_v2_xxx::native_handle_type::native_handle_type()'],['../structllfio__v2__xxx_1_1native__handle__type.html#aa014dc4620266c5e79ff574eab95559c',1,'llfio_v2_xxx::native_handle_type::native_handle_type(disposition _behaviour, int _fd) noexcept'],['../structllfio__v2__xxx_1_1native__handle__type.html#a3c7ef470ac1baa0af9100aae36b87524',1,'llfio_v2_xxx::native_handle_type::native_handle_type(disposition _behaviour, win::handle _h) noexcept'],['../structllfio__v2__xxx_1_1native__handle__type.html#ac0d26bcb12d0f9baa757ee44df1ffbf9',1,'llfio_v2_xxx::native_handle_type::native_handle_type(const native_handle_type &amp;)=default'],['../structllfio__v2__xxx_1_1native__handle__type.html#ae3f07d9d74e09d71d31abdc91e18e64d',1,'llfio_v2_xxx::native_handle_type::native_handle_type(native_handle_type &amp;&amp;o) noexcept']]],
['native_5fhandle_5ftype_2ehpp',['native_handle_type.hpp',['../native__handle__type_8hpp.html',1,'']]],
['native_5fsize',['native_size',['../classllfio__v2__xxx_1_1path__view.html#a5c5aa6069f667fe8043a89ca87495fcb',1,'llfio_v2_xxx::path_view']]],
- ['nocommit',['nocommit',['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a979d3bc3dccd10f67de00b228a12822f',1,'llfio_v2_xxx::section_handle']]],
['noexec',['noexec',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a4559dec0d0c4354feb0b0c131aab266b',1,'llfio_v2_xxx::statfs_t::f_flags_t']]],
- ['none',['none',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aac4f803736fe62535f3ee849e0a17b6a2',1,'kvstore_v1_xxx::basic_key_value_store_info::none()'],['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298',1,'llfio_v2_xxx::handle::none()'],['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549aaa630970737cad05cddc88036a638d44',1,'llfio_v2_xxx::section_handle::none()'],['../classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::directory_handle::none()'],['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::handle::none()'],['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::handle::none()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::symlink_handle::none()']]],
+ ['none',['none',['../classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::directory_handle::none()'],['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::handle::none()'],['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::handle::none()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::symlink_handle::none()']]],
['nosuid',['nosuid',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#a973d0ca8c51f329587144682aff54879',1,'llfio_v2_xxx::statfs_t::f_flags_t']]],
+ ['nowait_5fall',['nowait_all',['../classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1',1,'llfio_v2_xxx::io_handle']]],
+ ['nowait_5fdata_5fonly',['nowait_data_only',['../classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb',1,'llfio_v2_xxx::io_handle']]],
['nsecs',['nsecs',['../structllfio__v2__xxx_1_1deadline.html#aff7d0cc77c5d0a9c90b5f16140df5359',1,'llfio_v2_xxx::deadline']]],
- ['nvram',['nvram',['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a2087205d797bb4de249c85cc8b87afc5',1,'llfio_v2_xxx::section_handle']]],
['nvram_5fbarrier',['nvram_barrier',['../namespacellfio__v2__xxx.html#a86f75b69db68e6c0593919f0a878f838',1,'llfio_v2_xxx']]]
];
diff --git a/search/all_e.js b/search/all_e.js
index de764daa..0bd719c3 100644
--- a/search/all_e.js
+++ b/search/all_e.js
@@ -24,6 +24,5 @@ var searchData=
['operator_3d_3d',['operator==',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#afd1b00855571639a20adba654c32bd92',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator==()'],['../namespacellfio__v2__xxx_1_1algorithm.html#a6e8566ac7a5eeb0c14cf2387dfb8c1a1',1,'llfio_v2_xxx::algorithm::operator==()']]],
['operator_3e',['operator&gt;',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#adc75308f9e9426740e1a784e85b798ad',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator&gt;()'],['../namespacellfio__v2__xxx_1_1algorithm.html#a4ba09ef10dc88c605edf40669322d8d4',1,'llfio_v2_xxx::algorithm::operator&gt;()']]],
['operator_3e_3d',['operator&gt;=',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#adabb84ce7fc0bb283fc82829a6576960',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator&gt;=()'],['../namespacellfio__v2__xxx_1_1algorithm.html#ade7571062c3e19cb6622bd2e411130ab',1,'llfio_v2_xxx::algorithm::operator&gt;=()']]],
- ['operator_5b_5d',['operator[]',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa498f5d0b557ef61af176e5e9b362fdb',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator[](size_type n)'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a67ccdf453c50acf99f6bb35834e0aec6',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator[](size_type n) const'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a01a933a3116abd41955118b607b47bfd',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::operator[](size_type i)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0cb7623d9b4cc4c3acdad0ab030fb9c5',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::operator[](size_type i) const']]],
- ['overlapped',['overlapped',['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a',1,'llfio_v2_xxx::handle::overlapped()'],['../structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a8ce64daff425ed6534f1683b1d0dc066',1,'llfio_v2_xxx::native_handle_type::overlapped()']]]
+ ['operator_5b_5d',['operator[]',['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#aa498f5d0b557ef61af176e5e9b362fdb',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator[](size_type n)'],['../classllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__iterator.html#a67ccdf453c50acf99f6bb35834e0aec6',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_iterator::operator[](size_type n) const'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a01a933a3116abd41955118b607b47bfd',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::operator[](size_type i)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a0cb7623d9b4cc4c3acdad0ab030fb9c5',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::operator[](size_type i) const']]]
];
diff --git a/search/all_f.js b/search/all_f.js
index 2be96e49..9413eef1 100644
--- a/search/all_f.js
+++ b/search/all_f.js
@@ -4,9 +4,6 @@ var searchData=
['page_5fallocator_3c_20void_20_3e',['page_allocator&lt; void &gt;',['../classllfio__v2__xxx_1_1utils_1_1page__allocator_3_01void_01_4.html',1,'llfio_v2_xxx::utils']]],
['page_5fsize',['page_size',['../classllfio__v2__xxx_1_1map__handle.html#a7224b586e457183ebcb0a694e282d0fc',1,'llfio_v2_xxx::map_handle::page_size()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a0f147e2d7d2758605019d9ea0dd8a35b',1,'llfio_v2_xxx::mapped_file_handle::page_size()'],['../namespacellfio__v2__xxx_1_1utils.html#a42fc69cae3dbbf66498545cbe358e2ba',1,'llfio_v2_xxx::utils::page_size()']]],
['page_5fsizes',['page_sizes',['../namespacellfio__v2__xxx_1_1utils.html#a6c41e314d4d4b8362b96a3b4c1c363f5',1,'llfio_v2_xxx::utils']]],
- ['page_5fsizes_5f1',['page_sizes_1',['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a8d15253a30787fff812c9f254e26baf1',1,'llfio_v2_xxx::section_handle']]],
- ['page_5fsizes_5f2',['page_sizes_2',['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549aa3a2b1b4beaa0a8f0e2658cb321f7c46',1,'llfio_v2_xxx::section_handle']]],
- ['page_5fsizes_5f3',['page_sizes_3',['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a0a225b6b1594a5540799b4c58c937522',1,'llfio_v2_xxx::section_handle']]],
['parent_5fpath',['parent_path',['../classllfio__v2__xxx_1_1path__view.html#aa3132d6925440141afd8e83dff9a0115',1,'llfio_v2_xxx::path_view']]],
['parent_5fpath_5fhandle',['parent_path_handle',['../classllfio__v2__xxx_1_1fs__handle.html#a865caad2f7f4bdf12fb74aabfe3c5ff5',1,'llfio_v2_xxx::fs_handle']]],
['path',['path',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#a69d065f1a50d5a043fe034d28326b25f',1,'llfio_v2_xxx::path_discovery::discovered_path::path()'],['../classllfio__v2__xxx_1_1path__handle.html#a579c3752604c65325d16a6f8c818c6ab',1,'llfio_v2_xxx::path_handle::path(const path_handle &amp;base, path_view_type path) noexcept'],['../classllfio__v2__xxx_1_1path__handle.html#a464c3dfe19b544dfcb0527d83407026b',1,'llfio_v2_xxx::path_handle::path(path_view_type _path) noexcept'],['../classllfio__v2__xxx_1_1path__view.html#ab86fa3a4456b6d298ec78e18e76f999d',1,'llfio_v2_xxx::path_view::path()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a82eea8eac069e5c90d60ffb0b472dc4b',1,'llfio_v2_xxx::symlink_handle::buffers_type::path()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a733bd93f06d69dbff1b45e4fe83e99a6',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::path()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#ae5fb3b8a373a61c6cdad578281843395',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::path()'],['../namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b',1,'llfio_v2_xxx::path(const path_handle &amp;base, path_handle::path_view_type path) noexcept'],['../namespacellfio__v2__xxx.html#ad8b12afdd4c80d69d2530bd40f92427c',1,'llfio_v2_xxx::path(path_handle::path_view_type _path) noexcept']]],
@@ -23,10 +20,8 @@ var searchData=
['pop_5fback',['pop_back',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a744356e0eff2be54460ce02b7397acfb',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
['posix_5ferror',['posix_error',['../namespacellfio__v2__xxx.html#a20ab6481a21bf2c4cf8185919edf0a66',1,'llfio_v2_xxx']]],
['post',['post',['../classllfio__v2__xxx_1_1io__service.html#ac2666a65a3c6453bc9845261ef684565',1,'llfio_v2_xxx::io_service']]],
- ['prefault',['prefault',['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a1e91d093711d9d800b8ddc2f6e5d1ca2',1,'llfio_v2_xxx::section_handle']]],
['preferred_5fseparator',['preferred_separator',['../classllfio__v2__xxx_1_1path__view.html#a5d34d5bd6de76ad2d56817214a7b8aee',1,'llfio_v2_xxx::path_view']]],
['prefetch',['prefetch',['../classllfio__v2__xxx_1_1map__handle.html#a25dcce3a7127c5552687c540c37b9f27',1,'llfio_v2_xxx::map_handle::prefetch(span&lt; buffer_type &gt; regions) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#af047e43f418d68c618fab258b733302d',1,'llfio_v2_xxx::map_handle::prefetch(buffer_type region) noexcept']]],
['prng',['prng',['../structllfio__v2__xxx_1_1fast__random__file__handle_1_1prng.html',1,'llfio_v2_xxx::fast_random_file_handle']]],
- ['process',['process',['../structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a7f4cc916f7b5827f7528027964445d21',1,'llfio_v2_xxx::native_handle_type']]],
['push_5fback',['push_back',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#adf9cba939e2bd11a63eaffafb247163a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::push_back(const value_type &amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8b56f458ea957c41ca33e37cd52a28af',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::push_back(value_type &amp;&amp;v)']]]
];
diff --git a/search/enums_0.js b/search/enums_0.js
index 94b28261..f18ee33e 100644
--- a/search/enums_0.js
+++ b/search/enums_0.js
@@ -1,7 +1,4 @@
var searchData=
[
- ['bitfield_5f_5fdisposition',['bitfield__disposition',['../structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7',1,'llfio_v2_xxx::native_handle_type']]],
- ['bitfield_5f_5ffeatures',['bitfield__features',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54a',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
- ['bitfield_5f_5fflag',['bitfield__flag',['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2a',1,'llfio_v2_xxx::handle::bitfield__flag()'],['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549',1,'llfio_v2_xxx::section_handle::bitfield__flag()']]],
- ['bitfield_5f_5fwant',['bitfield__want',['../structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279',1,'llfio_v2_xxx::stat_t::bitfield__want()'],['../structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398',1,'llfio_v2_xxx::statfs_t::bitfield__want()']]]
+ ['barrier_5fkind',['barrier_kind',['../classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565',1,'llfio_v2_xxx::io_handle']]]
];
diff --git a/search/enumvalues_0.js b/search/enumvalues_0.js
index 0cdada65..96503d06 100644
--- a/search/enumvalues_0.js
+++ b/search/enumvalues_0.js
@@ -1,13 +1,8 @@
var searchData=
[
- ['aligned_5fio',['aligned_io',['../structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7aa965d460f7cbe6c30dfce6432bb1c41d',1,'llfio_v2_xxx::native_handle_type']]],
['all',['all',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51',1,'llfio_v2_xxx::handle']]],
['always_5fnew',['always_new',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42af7cf95e0f43dc8f79e39ae628c85a11d',1,'llfio_v2_xxx::handle']]],
- ['anonymous_5finode',['anonymous_inode',['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa07122ea63cdc5b2c07e764d95a816d3d',1,'llfio_v2_xxx::handle']]],
['append',['append',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9516dfb15f51c7ee19a4d46b8c0dbe1d',1,'llfio_v2_xxx::handle']]],
- ['append_5fonly',['append_only',['../structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a9256691cdd6fc5afaa7cd96091781ced',1,'llfio_v2_xxx::native_handle_type']]],
- ['atomic_5fsnapshots',['atomic_snapshots',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa5a728b7bc78a19837107974cf95a4d72',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
- ['atomic_5ftransactions',['atomic_transactions',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa28f74a66be96d3481e374af6b741172f',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
['attr_5fread',['attr_read',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaa4daf6d1e8da35af49c33bbe9ee91d79',1,'llfio_v2_xxx::handle']]],
['attr_5fwrite',['attr_write',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa9f56aff64cb748e078ab221474132d19',1,'llfio_v2_xxx::handle']]]
];
diff --git a/search/enumvalues_1.js b/search/enumvalues_1.js
index b1888b71..ade0d76c 100644
--- a/search/enumvalues_1.js
+++ b/search/enumvalues_1.js
@@ -1,5 +1,4 @@
var searchData=
[
- ['barrier_5fon_5fclose',['barrier_on_close',['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a06b41188d84f0fee5cff37c71b3d5877',1,'llfio_v2_xxx::section_handle']]],
- ['byte_5flock_5finsanity',['byte_lock_insanity',['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa6aa77c9bac6dd95b83f8d278f0e5fa59',1,'llfio_v2_xxx::handle']]]
+ ['environment',['environment',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7dae900e40bc91d3f9f7f0a99fed68a2e96',1,'llfio_v2_xxx::path_discovery::discovered_path']]]
];
diff --git a/search/enumvalues_10.html b/search/enumvalues_10.html
deleted file mode 100644
index f211cc3f..00000000
--- a/search/enumvalues_10.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="enumvalues_10.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/search/enumvalues_10.js b/search/enumvalues_10.js
deleted file mode 100644
index 192f48d3..00000000
--- a/search/enumvalues_10.js
+++ /dev/null
@@ -1,8 +0,0 @@
-var searchData=
-[
- ['unknown',['unknown',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daad921d60486366258809553a3db49a4a',1,'llfio_v2_xxx::path_discovery::discovered_path']]],
- ['unlink_5fon_5ffirst_5fclose',['unlink_on_first_close',['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa72328d49ab1e37950ff31891b47a6962',1,'llfio_v2_xxx::handle']]],
- ['unsupported_5fintegrity',['unsupported_integrity',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fadfa4eb2805883a2c1653229e6c18aa70',1,'kvstore_v1_xxx']]],
- ['unsupported_5furi',['unsupported_uri',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa88845d2baf0c5f2c895cd23bd72e3b07',1,'kvstore_v1_xxx']]],
- ['update_5fdeltas',['update_deltas',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa78faae96b1cc136508508c90862459f0',1,'kvstore_v1_xxx::basic_key_value_store_info']]]
-];
diff --git a/search/enumvalues_11.html b/search/enumvalues_11.html
deleted file mode 100644
index 907a63ea..00000000
--- a/search/enumvalues_11.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="enumvalues_11.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/search/enumvalues_11.js b/search/enumvalues_11.js
deleted file mode 100644
index e583b7cc..00000000
--- a/search/enumvalues_11.js
+++ /dev/null
@@ -1,10 +0,0 @@
-var searchData=
-[
- ['win_5fcreate_5fcase_5fsensitive_5fdirectory',['win_create_case_sensitive_directory',['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa3375a48d9e197ee058d14e4df6c8b681',1,'llfio_v2_xxx::handle']]],
- ['win_5fdisable_5fsparse_5ffile_5fcreation',['win_disable_sparse_file_creation',['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaafd26e37b4a783bd9814549fb4ff6cd0',1,'llfio_v2_xxx::handle']]],
- ['win_5fdisable_5funlink_5femulation',['win_disable_unlink_emulation',['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aacf17c790c4b3af070b11bc5b75911f9c',1,'llfio_v2_xxx::handle']]],
- ['win_5fjunction',['win_junction',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002ae295d0310a8145d4037bb19c69aa7a1a',1,'llfio_v2_xxx::symlink_handle']]],
- ['win_5fwsl',['win_wsl',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a47a6c07b9ccfe0e2eb31469b3e3b1939',1,'llfio_v2_xxx::symlink_handle']]],
- ['writable',['writable',['../structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7ab0fb91cab5d26713f14fe767166e6ec6',1,'llfio_v2_xxx::native_handle_type']]],
- ['write',['write',['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549ab61620219a89d4c133c6c6f4b781a9ba',1,'llfio_v2_xxx::section_handle::write()'],['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee',1,'llfio_v2_xxx::handle::write()']]]
-];
diff --git a/search/enumvalues_2.js b/search/enumvalues_2.js
index a8a913d7..c0d0c39c 100644
--- a/search/enumvalues_2.js
+++ b/search/enumvalues_2.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['cow',['cow',['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549ac57346933aada59cff3ee2296cc70332',1,'llfio_v2_xxx::section_handle']]]
+ ['fastdeleted',['fastdeleted',['../classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a14847befc159c1492671b53718fc46f8',1,'llfio_v2_xxx::directory_handle']]]
];
diff --git a/search/enumvalues_3.js b/search/enumvalues_3.js
index b4aa3a21..9605e9a5 100644
--- a/search/enumvalues_3.js
+++ b/search/enumvalues_3.js
@@ -1,8 +1,4 @@
var searchData=
[
- ['directory',['directory',['../structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a8d7b31aed417b5d7274a817b8d7d0fab',1,'llfio_v2_xxx::native_handle_type']]],
- ['disable_5fparallelism',['disable_parallelism',['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa49d1f07791f8f6d711df222027abe322',1,'llfio_v2_xxx::handle']]],
- ['disable_5fprefetching',['disable_prefetching',['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa4557d4caa81561875089ae5f819fb2c3',1,'llfio_v2_xxx::handle']]],
- ['disable_5fsafety_5fbarriers',['disable_safety_barriers',['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aad624bee14c8a425153440c17bd2d893d',1,'llfio_v2_xxx::handle']]],
- ['disable_5fsafety_5funlinks',['disable_safety_unlinks',['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa5832b1ccb7f83ea61bf9e7f237ea481b',1,'llfio_v2_xxx::handle']]]
+ ['hardcoded',['hardcoded',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daeca7a05085eba86cbab65a157f848354',1,'llfio_v2_xxx::path_discovery::discovered_path']]]
];
diff --git a/search/enumvalues_4.js b/search/enumvalues_4.js
index fe1a7b8a..3230229e 100644
--- a/search/enumvalues_4.js
+++ b/search/enumvalues_4.js
@@ -1,6 +1,5 @@
var searchData=
[
- ['environment',['environment',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7dae900e40bc91d3f9f7f0a99fed68a2e96',1,'llfio_v2_xxx::path_discovery::discovered_path']]],
- ['executable',['executable',['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549afde37a72636d74e28ce3553154341756',1,'llfio_v2_xxx::section_handle']]],
- ['execute',['execute',['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a631fef30d1e40f9d7ce6fa3a0ad4fa9d',1,'llfio_v2_xxx::section_handle']]]
+ ['if_5fneeded',['if_needed',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d',1,'llfio_v2_xxx::handle']]],
+ ['invalid_5furi',['invalid_uri',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa4ab2ea6999620ebeb2367865909977ab',1,'kvstore_v1_xxx']]]
];
diff --git a/search/enumvalues_5.js b/search/enumvalues_5.js
index 69208376..b48c6ab9 100644
--- a/search/enumvalues_5.js
+++ b/search/enumvalues_5.js
@@ -1,5 +1,4 @@
var searchData=
[
- ['fastdeleted',['fastdeleted',['../classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a14847befc159c1492671b53718fc46f8',1,'llfio_v2_xxx::directory_handle']]],
- ['file',['file',['../structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a3a4b67c0b2579480cb8d56466cd9bf88',1,'llfio_v2_xxx::native_handle_type']]]
+ ['local',['local',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daf5ddaf0ca7929578b408c909429f68f2',1,'llfio_v2_xxx::path_discovery::discovered_path']]]
];
diff --git a/search/enumvalues_6.js b/search/enumvalues_6.js
index e274db3f..52600a64 100644
--- a/search/enumvalues_6.js
+++ b/search/enumvalues_6.js
@@ -1,5 +1,6 @@
var searchData=
[
- ['hardcoded',['hardcoded',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daeca7a05085eba86cbab65a157f848354',1,'llfio_v2_xxx::path_discovery::discovered_path']]],
- ['history',['history',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa498d5b94bbf58b2f19323f5357bbb6d9',1,'kvstore_v1_xxx::basic_key_value_store_info']]]
+ ['none',['none',['../classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::directory_handle::none()'],['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaa334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::handle::none()'],['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::handle::none()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::symlink_handle::none()']]],
+ ['nowait_5fall',['nowait_all',['../classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565ab7a52d26120f585b21e8960812db5bf1',1,'llfio_v2_xxx::io_handle']]],
+ ['nowait_5fdata_5fonly',['nowait_data_only',['../classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a2f6648dac37731813bb84ae9b24bdfdb',1,'llfio_v2_xxx::io_handle']]]
];
diff --git a/search/enumvalues_7.js b/search/enumvalues_7.js
index f2878c41..bf2299a4 100644
--- a/search/enumvalues_7.js
+++ b/search/enumvalues_7.js
@@ -1,6 +1,6 @@
var searchData=
[
- ['if_5fneeded',['if_needed',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d',1,'llfio_v2_xxx::handle']]],
- ['invalid',['invalid',['../structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a03c22e007aed8c42eaee4dc2a6f639e3',1,'llfio_v2_xxx::native_handle_type']]],
- ['invalid_5furi',['invalid_uri',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa4ab2ea6999620ebeb2367865909977ab',1,'kvstore_v1_xxx']]]
+ ['only_5fif_5fnot_5fexist',['only_if_not_exist',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255',1,'llfio_v2_xxx::handle']]],
+ ['only_5fmetadata',['only_metadata',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98',1,'llfio_v2_xxx::handle']]],
+ ['open_5fexisting',['open_existing',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9',1,'llfio_v2_xxx::handle']]]
];
diff --git a/search/enumvalues_8.js b/search/enumvalues_8.js
index b48c6ab9..3bcb507d 100644
--- a/search/enumvalues_8.js
+++ b/search/enumvalues_8.js
@@ -1,4 +1,6 @@
var searchData=
[
- ['local',['local',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daf5ddaf0ca7929578b408c909429f68f2',1,'llfio_v2_xxx::path_discovery::discovered_path']]]
+ ['read',['read',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e',1,'llfio_v2_xxx::handle']]],
+ ['reads',['reads',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1',1,'llfio_v2_xxx::handle']]],
+ ['reads_5fand_5fmetadata',['reads_and_metadata',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852adec4ecca8ae1593f84eea4656599a693',1,'llfio_v2_xxx::handle']]]
];
diff --git a/search/enumvalues_9.js b/search/enumvalues_9.js
index 44f503d3..0e104a57 100644
--- a/search/enumvalues_9.js
+++ b/search/enumvalues_9.js
@@ -1,5 +1,6 @@
var searchData=
[
- ['maximum_5fprefetching',['maximum_prefetching',['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aaf131856fed08b53ec642fbdc6d063de0',1,'llfio_v2_xxx::handle']]],
- ['multiplexer',['multiplexer',['../structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a3cea1a678741f4ce20e57164946b5fc1',1,'llfio_v2_xxx::native_handle_type']]]
+ ['safety_5fbarriers',['safety_barriers',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a9cd65f46f55fb6a4b198fcee6f0a63c1',1,'llfio_v2_xxx::handle']]],
+ ['symbolic',['symbolic',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a7bf46ad61adc2265f803fc3b798b3559',1,'llfio_v2_xxx::symlink_handle']]],
+ ['system',['system',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7da54b53072540eeeb8f8e9343e71f28176',1,'llfio_v2_xxx::path_discovery::discovered_path']]]
];
diff --git a/search/enumvalues_a.js b/search/enumvalues_a.js
index 0dc13a0b..732b19c3 100644
--- a/search/enumvalues_a.js
+++ b/search/enumvalues_a.js
@@ -1,6 +1,6 @@
var searchData=
[
- ['nocommit',['nocommit',['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a979d3bc3dccd10f67de00b228a12822f',1,'llfio_v2_xxx::section_handle']]],
- ['none',['none',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aac4f803736fe62535f3ee849e0a17b6a2',1,'kvstore_v1_xxx::basic_key_value_store_info::none()'],['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aae6fb35b3d125d5d76bbef95b1d804298',1,'llfio_v2_xxx::handle::none()'],['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549aaa630970737cad05cddc88036a638d44',1,'llfio_v2_xxx::section_handle::none()'],['../classllfio__v2__xxx_1_1directory__handle.html#a54d63e0972dee77ef1f0ff14bd4f9207a334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::directory_handle::none()'],['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::handle::none()'],['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::handle::none()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a334c4a4c42fdb79d7ebc3e73b517e6f8',1,'llfio_v2_xxx::symlink_handle::none()']]],
- ['nvram',['nvram',['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a2087205d797bb4de249c85cc8b87afc5',1,'llfio_v2_xxx::section_handle']]]
+ ['temporary',['temporary',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef',1,'llfio_v2_xxx::handle']]],
+ ['transaction_5faborted_5fcollision',['transaction_aborted_collision',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa203fd50f72dbec98aa499192e1844fc8',1,'kvstore_v1_xxx']]],
+ ['truncate_5fexisting',['truncate_existing',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed',1,'llfio_v2_xxx::handle']]]
];
diff --git a/search/enumvalues_b.js b/search/enumvalues_b.js
index a382735a..3caaa7ec 100644
--- a/search/enumvalues_b.js
+++ b/search/enumvalues_b.js
@@ -1,7 +1,6 @@
var searchData=
[
- ['only_5fif_5fnot_5fexist',['only_if_not_exist',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abba3bc579480e6c94ecd81b7b5923255',1,'llfio_v2_xxx::handle']]],
- ['only_5fmetadata',['only_metadata',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ab8a61dd00ce6fc5888706bda8fab2e98',1,'llfio_v2_xxx::handle']]],
- ['open_5fexisting',['open_existing',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9',1,'llfio_v2_xxx::handle']]],
- ['overlapped',['overlapped',['../classllfio__v2__xxx_1_1handle.html#a5929f46f42112bd805ab5001bfbf9d2aab099987c48559cca2de094c74ffc702a',1,'llfio_v2_xxx::handle::overlapped()'],['../structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a8ce64daff425ed6534f1683b1d0dc066',1,'llfio_v2_xxx::native_handle_type::overlapped()']]]
+ ['unknown',['unknown',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7daad921d60486366258809553a3db49a4a',1,'llfio_v2_xxx::path_discovery::discovered_path']]],
+ ['unsupported_5fintegrity',['unsupported_integrity',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fadfa4eb2805883a2c1653229e6c18aa70',1,'kvstore_v1_xxx']]],
+ ['unsupported_5furi',['unsupported_uri',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa88845d2baf0c5f2c895cd23bd72e3b07',1,'kvstore_v1_xxx']]]
];
diff --git a/search/enumvalues_c.js b/search/enumvalues_c.js
index 6a4d9e33..9cc2e47a 100644
--- a/search/enumvalues_c.js
+++ b/search/enumvalues_c.js
@@ -1,8 +1,8 @@
var searchData=
[
- ['page_5fsizes_5f1',['page_sizes_1',['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a8d15253a30787fff812c9f254e26baf1',1,'llfio_v2_xxx::section_handle']]],
- ['page_5fsizes_5f2',['page_sizes_2',['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549aa3a2b1b4beaa0a8f0e2658cb321f7c46',1,'llfio_v2_xxx::section_handle']]],
- ['page_5fsizes_5f3',['page_sizes_3',['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a0a225b6b1594a5540799b4c58c937522',1,'llfio_v2_xxx::section_handle']]],
- ['prefault',['prefault',['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a1e91d093711d9d800b8ddc2f6e5d1ca2',1,'llfio_v2_xxx::section_handle']]],
- ['process',['process',['../structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a7f4cc916f7b5827f7528027964445d21',1,'llfio_v2_xxx::native_handle_type']]]
+ ['wait_5fall',['wait_all',['../classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565a4e1789381cf8c976ec7a7118b3529345',1,'llfio_v2_xxx::io_handle']]],
+ ['wait_5fdata_5fonly',['wait_data_only',['../classllfio__v2__xxx_1_1io__handle.html#a7816bb7ae5156fa2997b68e6300ae565af1d3baf03681db9a9986e0a76d6107ce',1,'llfio_v2_xxx::io_handle']]],
+ ['win_5fjunction',['win_junction',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002ae295d0310a8145d4037bb19c69aa7a1a',1,'llfio_v2_xxx::symlink_handle']]],
+ ['win_5fwsl',['win_wsl',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a47a6c07b9ccfe0e2eb31469b3e3b1939',1,'llfio_v2_xxx::symlink_handle']]],
+ ['write',['write',['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee',1,'llfio_v2_xxx::handle']]]
];
diff --git a/search/enumvalues_d.js b/search/enumvalues_d.js
deleted file mode 100644
index 4f2970af..00000000
--- a/search/enumvalues_d.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var searchData=
-[
- ['read',['read',['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a63bd03aae67c348121ac0bf88161d90f',1,'llfio_v2_xxx::section_handle::read()'],['../classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e',1,'llfio_v2_xxx::handle::read()']]],
- ['readable',['readable',['../structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a2bf351d9ef739909485db2d6e0d55a00',1,'llfio_v2_xxx::native_handle_type']]],
- ['reads',['reads',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a0fb9cf5f04f61bb6f1151da57ceb1ca1',1,'llfio_v2_xxx::handle']]],
- ['reads_5fand_5fmetadata',['reads_and_metadata',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852adec4ecca8ae1593f84eea4656599a693',1,'llfio_v2_xxx::handle']]]
-];
diff --git a/search/enumvalues_e.html b/search/enumvalues_e.html
deleted file mode 100644
index d95adb6f..00000000
--- a/search/enumvalues_e.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html><head><title></title>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.8.13"/>
-<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="enumvalues_e.js"></script>
-<script type="text/javascript" src="search.js"></script>
-</head>
-<body class="SRPage">
-<div id="SRIndex">
-<div class="SRStatus" id="Loading">Loading...</div>
-<div id="SRResults"></div>
-<script type="text/javascript"><!--
-createResults();
---></script>
-<div class="SRStatus" id="Searching">Searching...</div>
-<div class="SRStatus" id="NoMatches">No Matches</div>
-<script type="text/javascript"><!--
-document.getElementById("Loading").style.display="none";
-document.getElementById("NoMatches").style.display="none";
-var searchResults = new SearchResults("searchResults");
-searchResults.Search();
---></script>
-</div>
-</body>
-</html>
diff --git a/search/enumvalues_e.js b/search/enumvalues_e.js
deleted file mode 100644
index cfc9151b..00000000
--- a/search/enumvalues_e.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var searchData=
-[
- ['safety_5fbarriers',['safety_barriers',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852a9cd65f46f55fb6a4b198fcee6f0a63c1',1,'llfio_v2_xxx::handle']]],
- ['section',['section',['../structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a5d4474f0197e13f3205443ad91de390e',1,'llfio_v2_xxx::native_handle_type']]],
- ['seekable',['seekable',['../structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7aff1dd4bc49b07187a9b147a14f9102b6',1,'llfio_v2_xxx::native_handle_type']]],
- ['shared_5fmemory',['shared_memory',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa6c63421d928a8176a0aa653bdc1b3e43',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
- ['singleton',['singleton',['../classllfio__v2__xxx_1_1section__handle.html#a5a4e0afe59d0eeb5683fb50d3d3ad549a41771be4e90788c06cc49f2d35538108',1,'llfio_v2_xxx::section_handle']]],
- ['stable_5fkeys',['stable_keys',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa1d775e1c64c41a7b692458df6b7e7bb5',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
- ['stable_5fvalues',['stable_values',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aad69fc9d7488510795a13cc87a78eb6d7',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
- ['symbolic',['symbolic',['../classllfio__v2__xxx_1_1symlink__handle.html#a1908a242ca435cf1386fe96a86da4002a7bf46ad61adc2265f803fc3b798b3559',1,'llfio_v2_xxx::symlink_handle']]],
- ['symlink',['symlink',['../structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a4afae65da7b66f75e6e82b470d298fb5',1,'llfio_v2_xxx::native_handle_type']]],
- ['system',['system',['../structllfio__v2__xxx_1_1path__discovery_1_1discovered__path.html#ae02f172851c050f6a7f5929410428c7da54b53072540eeeb8f8e9343e71f28176',1,'llfio_v2_xxx::path_discovery::discovered_path']]]
-];
diff --git a/search/enumvalues_f.js b/search/enumvalues_f.js
deleted file mode 100644
index 732b19c3..00000000
--- a/search/enumvalues_f.js
+++ /dev/null
@@ -1,6 +0,0 @@
-var searchData=
-[
- ['temporary',['temporary',['../classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef',1,'llfio_v2_xxx::handle']]],
- ['transaction_5faborted_5fcollision',['transaction_aborted_collision',['../namespacekvstore__v1__xxx.html#a7bc2f2673bddc429b098b16e413deb5fa203fd50f72dbec98aa499192e1844fc8',1,'kvstore_v1_xxx']]],
- ['truncate_5fexisting',['truncate_existing',['../classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42abb872caae430ba70f670508aca38feed',1,'llfio_v2_xxx::handle']]]
-];
diff --git a/search/functions_1.js b/search/functions_1.js
index 6720370a..f5240105 100644
--- a/search/functions_1.js
+++ b/search/functions_1.js
@@ -8,7 +8,7 @@ var searchData=
['are_5fwrites_5fdurable',['are_writes_durable',['../classllfio__v2__xxx_1_1handle.html#a8036792f332459064172d7b0cfaee3cf',1,'llfio_v2_xxx::handle']]],
['as_5fspan',['as_span',['../classllfio__v2__xxx_1_1mapped.html#adf6a019e6d93292c2e07db1b6ee66c2d',1,'llfio_v2_xxx::mapped']]],
['assign',['assign',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aea98df8215a197c3356e5ff9098ae238',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::assign(size_type count, const value_type &amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa9a12b102e96f3f5e1cc24a71fbf480b',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::assign(InputIt first, InputIt last)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae539f1d862f516854859e22adad5e833',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::assign(std::initializer_list&lt; value_type &gt; il)']]],
- ['async_5fbarrier',['async_barrier',['../classllfio__v2__xxx_1_1async__file__handle.html#a7d29c4f0a0eca88431f5e1b290e66fe7',1,'llfio_v2_xxx::async_file_handle::async_barrier()'],['../namespacellfio__v2__xxx.html#abd72aa0028b4b7e5561a7375b124e22f',1,'llfio_v2_xxx::async_barrier()']]],
+ ['async_5fbarrier',['async_barrier',['../classllfio__v2__xxx_1_1async__file__handle.html#aab8b4425981da0c40e684bccbb9a8a30',1,'llfio_v2_xxx::async_file_handle']]],
['async_5ffile',['async_file',['../classllfio__v2__xxx_1_1async__file__handle.html#aa7511a8b300c448a5a0eeaea499e665e',1,'llfio_v2_xxx::async_file_handle::async_file()'],['../namespacellfio__v2__xxx.html#ab8bf2fda0abbb11fdeb77d25f8288149',1,'llfio_v2_xxx::async_file()']]],
['async_5ffile_5fhandle',['async_file_handle',['../classllfio__v2__xxx_1_1async__file__handle.html#a8b72655442a5c5a17e609a6df96106e0',1,'llfio_v2_xxx::async_file_handle::async_file_handle()'],['../classllfio__v2__xxx_1_1async__file__handle.html#a4e0afe8f9559163a716b722e280e4e13',1,'llfio_v2_xxx::async_file_handle::async_file_handle(io_service *service, native_handle_type h, dev_t devid, ino_t inode, caching caching=caching::none, flag flags=flag::none)'],['../classllfio__v2__xxx_1_1async__file__handle.html#a7ecbdab79c48565dcd2af6e62645d4da',1,'llfio_v2_xxx::async_file_handle::async_file_handle(async_file_handle &amp;&amp;o) noexcept=default'],['../classllfio__v2__xxx_1_1async__file__handle.html#ae021a5a199931162fdf484d8ce27b495',1,'llfio_v2_xxx::async_file_handle::async_file_handle(const async_file_handle &amp;)=delete'],['../classllfio__v2__xxx_1_1async__file__handle.html#afcfbb2ce7944347147475f894af5a6d4',1,'llfio_v2_xxx::async_file_handle::async_file_handle(file_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1async__file__handle.html#a00be8e5e3cdc19365434a630f4f0c4fe',1,'llfio_v2_xxx::async_file_handle::async_file_handle(handle &amp;&amp;o, io_service *service, dev_t devid, ino_t inode) noexcept']]],
['async_5frandom_5ffile',['async_random_file',['../classllfio__v2__xxx_1_1async__file__handle.html#ac5c899908f131b4655d422fe0e2bea43',1,'llfio_v2_xxx::async_file_handle::async_random_file()'],['../namespacellfio__v2__xxx.html#acfdf75b3e8a2c43a7d3c6f315b44f9bd',1,'llfio_v2_xxx::async_random_file()']]],
diff --git a/search/functions_10.js b/search/functions_10.js
index f93a99d7..b9ba9a68 100644
--- a/search/functions_10.js
+++ b/search/functions_10.js
@@ -1,28 +1,5 @@
var searchData=
[
- ['random_5fdirectory',['random_directory',['../classllfio__v2__xxx_1_1directory__handle.html#ae4a5f33565a72009d2a9471f925b4aad',1,'llfio_v2_xxx::directory_handle::random_directory()'],['../namespacellfio__v2__xxx.html#ad574b7ae82e4a082a7d5703097d65e92',1,'llfio_v2_xxx::random_directory()']]],
- ['random_5fentity',['random_entity',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a8d62fe0c18bcfb1ade9ff9c7bb00e70b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex']]],
- ['random_5ffile',['random_file',['../classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47',1,'llfio_v2_xxx::file_handle::random_file()'],['../namespacellfio__v2__xxx.html#a5bc9df0fdb554e757d14cf40af0bbb4e',1,'llfio_v2_xxx::random_file()']]],
- ['random_5ffill',['random_fill',['../namespacellfio__v2__xxx_1_1utils.html#ae61e2de30b06776a1c24643a1d1dc64e',1,'llfio_v2_xxx::utils']]],
- ['random_5fstring',['random_string',['../namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417',1,'llfio_v2_xxx::utils']]],
- ['random_5fsymlink',['random_symlink',['../classllfio__v2__xxx_1_1symlink__handle.html#aa519e98396a1596c880267dcc92643f1',1,'llfio_v2_xxx::symlink_handle']]],
- ['rbegin',['rbegin',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae79263dcf9faf5d3f2973ba688201f7e',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rbegin() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afff8e1a93ad371a5844543a3e782f471',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rbegin() const noexcept']]],
- ['read',['read',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ad92f318479bfb0f54753d96756ce527c',1,'kvstore_v1_xxx::basic_key_value_store::read()'],['../classllfio__v2__xxx_1_1directory__handle.html#a45c13e16ecc131cbe5107e6affe94f33',1,'llfio_v2_xxx::directory_handle::read()'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#ae84ac3c127d067d44d978e4621d4d2f1',1,'llfio_v2_xxx::fast_random_file_handle::read()'],['../classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467',1,'llfio_v2_xxx::file_handle::read()'],['../classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d',1,'llfio_v2_xxx::io_handle::read()'],['../classllfio__v2__xxx_1_1map__handle.html#a073cdca57e3e3718d2eb285be51d5c92',1,'llfio_v2_xxx::map_handle::read()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#ae4ca3f09ab781322c22f903d31ec7aa9',1,'llfio_v2_xxx::mapped_file_handle::read()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a4d7d2e7ae94312b9757d8a5c12724c0f',1,'llfio_v2_xxx::storage_profile::storage_profile::read()'],['../classllfio__v2__xxx_1_1symlink__handle.html#aa8f2a6e0f971b7b88a88562f8744f4da',1,'llfio_v2_xxx::symlink_handle::read()'],['../namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683',1,'llfio_v2_xxx::read(file_handle &amp;self, file_handle::extent_type offset, std::initializer_list&lt; file_handle::buffer_type &gt; lst, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#a225e15680392dfa9e1dda42afcc09672',1,'llfio_v2_xxx::read(io_handle &amp;self, io_handle::io_request&lt; io_handle::buffers_type &gt; reqs, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#ab993693c98cdb52e2d611f8f9e24e4e2',1,'llfio_v2_xxx::read(map_handle &amp;self, map_handle::io_request&lt; map_handle::buffers_type &gt; reqs, deadline d=deadline()) noexcept']]],
- ['relative_5fpath',['relative_path',['../classllfio__v2__xxx_1_1path__view.html#a48eb689da1dbc5d5e9097a5fa6054c55',1,'llfio_v2_xxx::path_view']]],
- ['release',['release',['../classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e',1,'llfio_v2_xxx::handle::release()'],['../classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html#a7994a1c984e75c7757395d70d78ed35d',1,'llfio_v2_xxx::io_handle::extent_guard::release()'],['../classllfio__v2__xxx_1_1map__handle.html#a06cfd3521ff08782a848821951510f11',1,'llfio_v2_xxx::map_handle::release()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a4072a4f2448ef3b8c7075fa8734acf71',1,'llfio_v2_xxx::mapped_file_handle::release()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#ae0e9fd495a54debec2087dda64d4ce08',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard::release()']]],
- ['relink',['relink',['../classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2',1,'llfio_v2_xxx::fs_handle::relink()'],['../classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c',1,'llfio_v2_xxx::symlink_handle::relink()'],['../namespacellfio__v2__xxx.html#a60fa5c64c83ce05c8287c5379d082e49',1,'llfio_v2_xxx::relink()']]],
- ['remove_5ffilename',['remove_filename',['../classllfio__v2__xxx_1_1path__view.html#a32586d7c5588e0686e6ceb75d06b1a0d',1,'llfio_v2_xxx::path_view']]],
- ['rend',['rend',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7a6047c4854a37f1b2437c6077a32fc5',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rend() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8e9caa72b31819407ee9aaa1e6b21b0f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rend() const noexcept']]],
- ['requires_5faligned_5fio',['requires_aligned_io',['../classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb',1,'llfio_v2_xxx::handle::requires_aligned_io()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a45431e8a673c8a7d204136cd2ae612ed',1,'llfio_v2_xxx::native_handle_type::requires_aligned_io()']]],
- ['reserve',['reserve',['../classllfio__v2__xxx_1_1mapped__file__handle.html#a15f9dd6f1c89f8f4cc52bba178f14433',1,'llfio_v2_xxx::mapped_file_handle::reserve()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a16de143c40c148e26633f4d8ee101644',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::reserve()']]],
- ['resize',['resize',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8cbd61a3899369965a1cbbd7cb21bd31',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::resize()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ae3338448769e08627b5a7a4242fe9f6f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::resize()']]],
- ['root_5fdirectory',['root_directory',['../classllfio__v2__xxx_1_1path__view.html#a7c17ee6aee34cfcb86908b2e577506a9',1,'llfio_v2_xxx::path_view']]],
- ['root_5fname',['root_name',['../classllfio__v2__xxx_1_1path__view.html#a9fd8db4fd8ed2ad0291b9213280070a3',1,'llfio_v2_xxx::path_view']]],
- ['root_5fpath',['root_path',['../classllfio__v2__xxx_1_1path__view.html#aa939f069a5d1d6b06b4e4afdf3f47296',1,'llfio_v2_xxx::path_view']]],
- ['round_5fdown_5fto_5fpage_5fsize',['round_down_to_page_size',['../namespacellfio__v2__xxx_1_1utils.html#a5499feaf6b774e774a26e7decd11e3fa',1,'llfio_v2_xxx::utils']]],
- ['round_5fto_5fpage_5fsize',['round_to_page_size',['../namespacellfio__v2__xxx_1_1utils.html#afa36e8bc2a1f004696c09d104e23d685',1,'llfio_v2_xxx::utils']]],
- ['round_5fup_5fto_5fpage_5fsize',['round_up_to_page_size',['../namespacellfio__v2__xxx_1_1utils.html#a67f8f31f6b93293a22a4b30d686eb3af',1,'llfio_v2_xxx::utils']]],
- ['run',['run',['../classllfio__v2__xxx_1_1io__service.html#a5719f4f0779047c202d7fb3cda0dcc28',1,'llfio_v2_xxx::io_service']]],
- ['run_5funtil',['run_until',['../classllfio__v2__xxx_1_1io__service.html#a528acb1c8ec8caa06fc084962f974106',1,'llfio_v2_xxx::io_service']]],
- ['running_5funder_5fwsl',['running_under_wsl',['../namespacellfio__v2__xxx_1_1utils.html#a7aae80908cc5521ef67234152c5c5044',1,'llfio_v2_xxx::utils']]]
+ ['quickcpplib_5fbitfield_5fbegin',['QUICKCPPLIB_BITFIELD_BEGIN',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a71bf22a199b1f8461e9612269eb2cf29',1,'kvstore_v1_xxx::basic_key_value_store_info::QUICKCPPLIB_BITFIELD_BEGIN()'],['../classllfio__v2__xxx_1_1handle.html#ac5222904f116c9beb0515a4a5aa850bf',1,'llfio_v2_xxx::handle::QUICKCPPLIB_BITFIELD_BEGIN()'],['../classllfio__v2__xxx_1_1section__handle.html#a5405985448afbfe281cbf98ab7bbb3ab',1,'llfio_v2_xxx::section_handle::QUICKCPPLIB_BITFIELD_BEGIN()'],['../structllfio__v2__xxx_1_1native__handle__type.html#aab66573d64b32857ecc113b87dd56489',1,'llfio_v2_xxx::native_handle_type::QUICKCPPLIB_BITFIELD_BEGIN()'],['../structllfio__v2__xxx_1_1stat__t.html#a7c281295d6ae22631336206446f37581',1,'llfio_v2_xxx::stat_t::QUICKCPPLIB_BITFIELD_BEGIN()'],['../structllfio__v2__xxx_1_1statfs__t.html#a3899059be19d84cd3b17077314045428',1,'llfio_v2_xxx::statfs_t::QUICKCPPLIB_BITFIELD_BEGIN()']]],
+ ['quickcpplib_5fbitfield_5fend',['QUICKCPPLIB_BITFIELD_END',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a74806d5aad24bdf1607755aefd8d70b4',1,'kvstore_v1_xxx::basic_key_value_store_info::QUICKCPPLIB_BITFIELD_END()'],['../structllfio__v2__xxx_1_1stat__t.html#a8fc0ebfd31e3e3c5fe561f61fb86a6b7',1,'llfio_v2_xxx::stat_t::QUICKCPPLIB_BITFIELD_END()'],['../structllfio__v2__xxx_1_1statfs__t.html#ae6bb78770f0544cee409e3420efed426',1,'llfio_v2_xxx::statfs_t::QUICKCPPLIB_BITFIELD_END()']]]
];
diff --git a/search/functions_11.js b/search/functions_11.js
index e1242223..f93a99d7 100644
--- a/search/functions_11.js
+++ b/search/functions_11.js
@@ -1,26 +1,28 @@
var searchData=
[
- ['safe_5fbyte_5franges',['safe_byte_ranges',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a0bc85104e524c7a97e6934b605788b6b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::safe_byte_ranges(const safe_byte_ranges &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a3ddf148d1bf4ea4e8d8abeff6ec5660f',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::safe_byte_ranges(safe_byte_ranges &amp;&amp;o) noexcept']]],
- ['section',['section',['../classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21',1,'llfio_v2_xxx::section_handle::section(file_handle &amp;backing, extent_type maximum_size, flag _flag) noexcept'],['../classllfio__v2__xxx_1_1section__handle.html#aa9922be0637718ae8c84d4a3c06a9eaf',1,'llfio_v2_xxx::section_handle::section(file_handle &amp;backing, extent_type bytes=0) noexcept'],['../classllfio__v2__xxx_1_1section__handle.html#a8f36f6c6684010c729c78a34645ba3aa',1,'llfio_v2_xxx::section_handle::section(extent_type bytes, const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), flag _flag=flag::read|flag::write) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#a173539843aebd387bb8ca06246067ead',1,'llfio_v2_xxx::map_handle::section()'],['../classllfio__v2__xxx_1_1mapped.html#acb843c564a96365ee7eacb529b028a70',1,'llfio_v2_xxx::mapped::section()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a308969448e8934b7a86bcc693b9cc578',1,'llfio_v2_xxx::mapped_file_handle::section() const noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a07e95f16802d266bfbbf5a7ccde95c33',1,'llfio_v2_xxx::mapped_file_handle::section() noexcept'],['../namespacellfio__v2__xxx.html#ac9be77116e7a2d8c029dd066dfa363fb',1,'llfio_v2_xxx::section(file_handle &amp;backing, section_handle::extent_type maximum_size, section_handle::flag _flag) noexcept'],['../namespacellfio__v2__xxx.html#a3d55c0a3b567c7ed05053a94750bb133',1,'llfio_v2_xxx::section(file_handle &amp;backing, section_handle::extent_type bytes=0) noexcept'],['../namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd',1,'llfio_v2_xxx::section(section_handle::extent_type bytes, const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), section_handle::flag _flag=section_handle::flag::read|section_handle::flag::write) noexcept']]],
- ['section_5fflags',['section_flags',['../classllfio__v2__xxx_1_1section__handle.html#a99bb38a023cb0cb486e6210485cc1ca4',1,'llfio_v2_xxx::section_handle']]],
- ['section_5fhandle',['section_handle',['../classllfio__v2__xxx_1_1section__handle.html#a34f702e58a35c1eee31f5a5d3e5ec73d',1,'llfio_v2_xxx::section_handle::section_handle()'],['../classllfio__v2__xxx_1_1section__handle.html#a9652c4732314142bd472304f36386ef8',1,'llfio_v2_xxx::section_handle::section_handle(native_handle_type sectionh, file_handle *backing, file_handle anonymous, flag __flag)'],['../classllfio__v2__xxx_1_1section__handle.html#a28bc1b458a57c697b94804fd6c87dcd9',1,'llfio_v2_xxx::section_handle::section_handle(section_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1section__handle.html#ab3cb03378bf927a2fb6636beb6ca2f20',1,'llfio_v2_xxx::section_handle::section_handle(const section_handle &amp;)=delete']]],
- ['service',['service',['../classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a',1,'llfio_v2_xxx::file_handle']]],
- ['set_5fappend_5fonly',['set_append_only',['../classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a',1,'llfio_v2_xxx::handle']]],
- ['set_5fbacking',['set_backing',['../classllfio__v2__xxx_1_1section__handle.html#a85635c700f2778280481598393c24c00',1,'llfio_v2_xxx::section_handle']]],
- ['set_5fhandle',['set_handle',['../classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html#aaebef63395732f47b469310dc2a4165d',1,'llfio_v2_xxx::io_handle::extent_guard']]],
- ['set_5finterruption_5fsignal',['set_interruption_signal',['../classllfio__v2__xxx_1_1io__service.html#aeacd8d21f956903c204ee49c0d3ab195',1,'llfio_v2_xxx::io_service']]],
- ['set_5fsection',['set_section',['../classllfio__v2__xxx_1_1map__handle.html#a7a27e949d3333a75e96f5d979e2d6bbf',1,'llfio_v2_xxx::map_handle']]],
- ['shrink_5fto_5ffit',['shrink_to_fit',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a19aa2b2535f9880a41f64fb43162ec9e',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
- ['size',['size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a5add0f7b7711da9b0574d1ffde7b9f52',1,'kvstore_v1_xxx::basic_key_value_store::size()'],['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#adaf1c1f3ed96cae94769b24a19639cba',1,'llfio_v2_xxx::io_handle::buffer_type::size()'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a3dadd6b826704451e89cabf1c1305b40',1,'llfio_v2_xxx::io_handle::const_buffer_type::size()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ad015cb71ff92fa291190c2dc55c7c7de',1,'llfio_v2_xxx::storage_profile::storage_profile::size()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a84a6bbb08480b7803a49e203b7501fa0',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::size()']]],
- ['snapshot',['snapshot',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a16e68740144469de54dd234540ac9c72',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['st_5fdev',['st_dev',['../classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090',1,'llfio_v2_xxx::fs_handle']]],
- ['st_5fino',['st_ino',['../classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc',1,'llfio_v2_xxx::fs_handle']]],
- ['stamp',['stamp',['../structllfio__v2__xxx_1_1stat__t.html#a4ca693399bffd1b5004d31897e5b72e7',1,'llfio_v2_xxx::stat_t']]],
- ['stat_5ft',['stat_t',['../structllfio__v2__xxx_1_1stat__t.html#a7370e218d82985d4476643672f37993b',1,'llfio_v2_xxx::stat_t::stat_t()'],['../structllfio__v2__xxx_1_1stat__t.html#aef93718067115fcb4c596f4c8fe4cc2f',1,'llfio_v2_xxx::stat_t::stat_t(std::nullptr_t) noexcept']]],
- ['statfs_5ft',['statfs_t',['../structllfio__v2__xxx_1_1statfs__t.html#ac5414fc2f10e4d6f78617666a0353072',1,'llfio_v2_xxx::statfs_t']]],
- ['stem',['stem',['../classllfio__v2__xxx_1_1path__view.html#ab92ed42255accabeae5cd727b5c963a3',1,'llfio_v2_xxx::path_view']]],
- ['storage_5fbacked_5ftemporary_5ffiles_5fdirectory',['storage_backed_temporary_files_directory',['../namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd',1,'llfio_v2_xxx::path_discovery']]],
- ['swap',['swap',['../classllfio__v2__xxx_1_1async__file__handle.html#a7c6b5216c28aa0ca145d9f45c82005a3',1,'llfio_v2_xxx::async_file_handle::swap()'],['../classllfio__v2__xxx_1_1directory__handle.html#a988fca7e79f17902068f2fe8f0356782',1,'llfio_v2_xxx::directory_handle::swap()'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#abc5627ee63a95d17499f079d890e6af9',1,'llfio_v2_xxx::fast_random_file_handle::swap()'],['../classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808',1,'llfio_v2_xxx::file_handle::swap()'],['../classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4',1,'llfio_v2_xxx::handle::swap()'],['../classllfio__v2__xxx_1_1section__handle.html#a2bad3e9b5baf82d9ee7f791f4c3b4733',1,'llfio_v2_xxx::section_handle::swap()'],['../classllfio__v2__xxx_1_1map__handle.html#a2049c6f936df05dd539919f947355506',1,'llfio_v2_xxx::map_handle::swap()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a32dd26dd2dbffbab505e7b7bd8aa41ee',1,'llfio_v2_xxx::mapped_file_handle::swap()'],['../structllfio__v2__xxx_1_1native__handle__type.html#abc96c9f96b0bf877af2cd9092bd3255e',1,'llfio_v2_xxx::native_handle_type::swap()'],['../classllfio__v2__xxx_1_1path__handle.html#a8752c5e4f4189c7bdfcd6eccb637bef9',1,'llfio_v2_xxx::path_handle::swap()'],['../classllfio__v2__xxx_1_1path__view.html#ab7ae611a6aa7fed01b4447a3f5133c14',1,'llfio_v2_xxx::path_view::swap()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a102fed4cc800776a62fae691a87db0e6',1,'llfio_v2_xxx::symlink_handle::swap()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3fb1e66f29e8d90eec09316946d3d4f0',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::swap()'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#aefc25feff3ba060a3b3092a69cf4d5cc',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::swap()'],['../namespacellfio__v2__xxx.html#a827e936162aff684070500f10c169e70',1,'llfio_v2_xxx::swap(async_file_handle &amp;self, async_file_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#a2fd0d67b7d28699d16f6a3666a62a5bf',1,'llfio_v2_xxx::swap(directory_handle &amp;self, directory_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#a2542466a055a0c024dee2704e9e32519',1,'llfio_v2_xxx::swap(file_handle &amp;self, file_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#aa2eeaa1b9280d05b18b7e6d505c289fb',1,'llfio_v2_xxx::swap(handle &amp;self, handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#abfe725f4e0abd521a7aa319a6d567e44',1,'llfio_v2_xxx::swap(section_handle &amp;self, section_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#a28060698d23344a5ece73336a9cf49c2',1,'llfio_v2_xxx::swap(map_handle &amp;self, map_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#acda211a674e09531226be56691136f7c',1,'llfio_v2_xxx::swap(mapped_file_handle &amp;self, mapped_file_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx_1_1algorithm.html#ae0973243c4b58d53d6f11ce5a2535a8c',1,'llfio_v2_xxx::algorithm::swap()']]],
- ['symlink',['symlink',['../classllfio__v2__xxx_1_1symlink__handle.html#a004563b5be8b75d20617018178f68e33',1,'llfio_v2_xxx::symlink_handle']]],
- ['symlink_5fhandle',['symlink_handle',['../classllfio__v2__xxx_1_1symlink__handle.html#a02c22ab62150c15dbe77096526975cbf',1,'llfio_v2_xxx::symlink_handle::symlink_handle()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a3270cfa202b024bc74f3c5e301b9f33d',1,'llfio_v2_xxx::symlink_handle::symlink_handle(native_handle_type h, dev_t devid, ino_t inode, flag flags=flag::none)'],['../classllfio__v2__xxx_1_1symlink__handle.html#af49d1596ddc5019962ae9ab22a78c5bf',1,'llfio_v2_xxx::symlink_handle::symlink_handle(handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1symlink__handle.html#ac10f98b90414a51b46cb56222ccfd41f',1,'llfio_v2_xxx::symlink_handle::symlink_handle(symlink_handle &amp;&amp;)=default'],['../classllfio__v2__xxx_1_1symlink__handle.html#ac1167dee8a0dcf041e457570c89174b1',1,'llfio_v2_xxx::symlink_handle::symlink_handle(const symlink_handle &amp;)=delete']]]
+ ['random_5fdirectory',['random_directory',['../classllfio__v2__xxx_1_1directory__handle.html#ae4a5f33565a72009d2a9471f925b4aad',1,'llfio_v2_xxx::directory_handle::random_directory()'],['../namespacellfio__v2__xxx.html#ad574b7ae82e4a082a7d5703097d65e92',1,'llfio_v2_xxx::random_directory()']]],
+ ['random_5fentity',['random_entity',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a8d62fe0c18bcfb1ade9ff9c7bb00e70b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex']]],
+ ['random_5ffile',['random_file',['../classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47',1,'llfio_v2_xxx::file_handle::random_file()'],['../namespacellfio__v2__xxx.html#a5bc9df0fdb554e757d14cf40af0bbb4e',1,'llfio_v2_xxx::random_file()']]],
+ ['random_5ffill',['random_fill',['../namespacellfio__v2__xxx_1_1utils.html#ae61e2de30b06776a1c24643a1d1dc64e',1,'llfio_v2_xxx::utils']]],
+ ['random_5fstring',['random_string',['../namespacellfio__v2__xxx_1_1utils.html#a6a29cf29a4b097411f6c1e5274bfb417',1,'llfio_v2_xxx::utils']]],
+ ['random_5fsymlink',['random_symlink',['../classllfio__v2__xxx_1_1symlink__handle.html#aa519e98396a1596c880267dcc92643f1',1,'llfio_v2_xxx::symlink_handle']]],
+ ['rbegin',['rbegin',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ae79263dcf9faf5d3f2973ba688201f7e',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rbegin() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#afff8e1a93ad371a5844543a3e782f471',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rbegin() const noexcept']]],
+ ['read',['read',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#ad92f318479bfb0f54753d96756ce527c',1,'kvstore_v1_xxx::basic_key_value_store::read()'],['../classllfio__v2__xxx_1_1directory__handle.html#a45c13e16ecc131cbe5107e6affe94f33',1,'llfio_v2_xxx::directory_handle::read()'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#ae84ac3c127d067d44d978e4621d4d2f1',1,'llfio_v2_xxx::fast_random_file_handle::read()'],['../classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467',1,'llfio_v2_xxx::file_handle::read()'],['../classllfio__v2__xxx_1_1io__handle.html#a5f7485307a0704aa1680e5785be2035d',1,'llfio_v2_xxx::io_handle::read()'],['../classllfio__v2__xxx_1_1map__handle.html#a073cdca57e3e3718d2eb285be51d5c92',1,'llfio_v2_xxx::map_handle::read()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#ae4ca3f09ab781322c22f903d31ec7aa9',1,'llfio_v2_xxx::mapped_file_handle::read()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a4d7d2e7ae94312b9757d8a5c12724c0f',1,'llfio_v2_xxx::storage_profile::storage_profile::read()'],['../classllfio__v2__xxx_1_1symlink__handle.html#aa8f2a6e0f971b7b88a88562f8744f4da',1,'llfio_v2_xxx::symlink_handle::read()'],['../namespacellfio__v2__xxx.html#af678f58d20e1f0962ff0744150342683',1,'llfio_v2_xxx::read(file_handle &amp;self, file_handle::extent_type offset, std::initializer_list&lt; file_handle::buffer_type &gt; lst, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#a225e15680392dfa9e1dda42afcc09672',1,'llfio_v2_xxx::read(io_handle &amp;self, io_handle::io_request&lt; io_handle::buffers_type &gt; reqs, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#ab993693c98cdb52e2d611f8f9e24e4e2',1,'llfio_v2_xxx::read(map_handle &amp;self, map_handle::io_request&lt; map_handle::buffers_type &gt; reqs, deadline d=deadline()) noexcept']]],
+ ['relative_5fpath',['relative_path',['../classllfio__v2__xxx_1_1path__view.html#a48eb689da1dbc5d5e9097a5fa6054c55',1,'llfio_v2_xxx::path_view']]],
+ ['release',['release',['../classllfio__v2__xxx_1_1handle.html#a1d273e38c061eb11f5012f624e9a202e',1,'llfio_v2_xxx::handle::release()'],['../classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html#a7994a1c984e75c7757395d70d78ed35d',1,'llfio_v2_xxx::io_handle::extent_guard::release()'],['../classllfio__v2__xxx_1_1map__handle.html#a06cfd3521ff08782a848821951510f11',1,'llfio_v2_xxx::map_handle::release()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a4072a4f2448ef3b8c7075fa8734acf71',1,'llfio_v2_xxx::mapped_file_handle::release()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#ae0e9fd495a54debec2087dda64d4ce08',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard::release()']]],
+ ['relink',['relink',['../classllfio__v2__xxx_1_1fs__handle.html#a8700edc9ecd4dd35d5aad7c65dd0eca2',1,'llfio_v2_xxx::fs_handle::relink()'],['../classllfio__v2__xxx_1_1symlink__handle.html#afea9ef2b36cac3f6dfcae7555ca3303c',1,'llfio_v2_xxx::symlink_handle::relink()'],['../namespacellfio__v2__xxx.html#a60fa5c64c83ce05c8287c5379d082e49',1,'llfio_v2_xxx::relink()']]],
+ ['remove_5ffilename',['remove_filename',['../classllfio__v2__xxx_1_1path__view.html#a32586d7c5588e0686e6ceb75d06b1a0d',1,'llfio_v2_xxx::path_view']]],
+ ['rend',['rend',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7a6047c4854a37f1b2437c6077a32fc5',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rend() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8e9caa72b31819407ee9aaa1e6b21b0f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::rend() const noexcept']]],
+ ['requires_5faligned_5fio',['requires_aligned_io',['../classllfio__v2__xxx_1_1handle.html#a751e912d8dab755ea969a418c1d544eb',1,'llfio_v2_xxx::handle::requires_aligned_io()'],['../structllfio__v2__xxx_1_1native__handle__type.html#a45431e8a673c8a7d204136cd2ae612ed',1,'llfio_v2_xxx::native_handle_type::requires_aligned_io()']]],
+ ['reserve',['reserve',['../classllfio__v2__xxx_1_1mapped__file__handle.html#a15f9dd6f1c89f8f4cc52bba178f14433',1,'llfio_v2_xxx::mapped_file_handle::reserve()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a16de143c40c148e26633f4d8ee101644',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::reserve()']]],
+ ['resize',['resize',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8cbd61a3899369965a1cbbd7cb21bd31',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::resize()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#ae3338448769e08627b5a7a4242fe9f6f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::resize()']]],
+ ['root_5fdirectory',['root_directory',['../classllfio__v2__xxx_1_1path__view.html#a7c17ee6aee34cfcb86908b2e577506a9',1,'llfio_v2_xxx::path_view']]],
+ ['root_5fname',['root_name',['../classllfio__v2__xxx_1_1path__view.html#a9fd8db4fd8ed2ad0291b9213280070a3',1,'llfio_v2_xxx::path_view']]],
+ ['root_5fpath',['root_path',['../classllfio__v2__xxx_1_1path__view.html#aa939f069a5d1d6b06b4e4afdf3f47296',1,'llfio_v2_xxx::path_view']]],
+ ['round_5fdown_5fto_5fpage_5fsize',['round_down_to_page_size',['../namespacellfio__v2__xxx_1_1utils.html#a5499feaf6b774e774a26e7decd11e3fa',1,'llfio_v2_xxx::utils']]],
+ ['round_5fto_5fpage_5fsize',['round_to_page_size',['../namespacellfio__v2__xxx_1_1utils.html#afa36e8bc2a1f004696c09d104e23d685',1,'llfio_v2_xxx::utils']]],
+ ['round_5fup_5fto_5fpage_5fsize',['round_up_to_page_size',['../namespacellfio__v2__xxx_1_1utils.html#a67f8f31f6b93293a22a4b30d686eb3af',1,'llfio_v2_xxx::utils']]],
+ ['run',['run',['../classllfio__v2__xxx_1_1io__service.html#a5719f4f0779047c202d7fb3cda0dcc28',1,'llfio_v2_xxx::io_service']]],
+ ['run_5funtil',['run_until',['../classllfio__v2__xxx_1_1io__service.html#a528acb1c8ec8caa06fc084962f974106',1,'llfio_v2_xxx::io_service']]],
+ ['running_5funder_5fwsl',['running_under_wsl',['../namespacellfio__v2__xxx_1_1utils.html#a7aae80908cc5521ef67234152c5c5044',1,'llfio_v2_xxx::utils']]]
];
diff --git a/search/functions_12.js b/search/functions_12.js
index 9f2eb13a..c772bf9d 100644
--- a/search/functions_12.js
+++ b/search/functions_12.js
@@ -1,10 +1,25 @@
var searchData=
[
- ['temp_5fdirectory',['temp_directory',['../classllfio__v2__xxx_1_1directory__handle.html#a3513e9a84f1bc13bb4500dbab84207c4',1,'llfio_v2_xxx::directory_handle::temp_directory()'],['../namespacellfio__v2__xxx.html#addbdc12d4993a8ee40c105a02a105a61',1,'llfio_v2_xxx::temp_directory()']]],
- ['temp_5ffile',['temp_file',['../classllfio__v2__xxx_1_1file__handle.html#a428114e3c8628c0621b1aa156051651c',1,'llfio_v2_xxx::file_handle::temp_file()'],['../namespacellfio__v2__xxx.html#a70d9ef3b988a880d171015b754bb7b27',1,'llfio_v2_xxx::temp_file()']]],
- ['temp_5finode',['temp_inode',['../classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5',1,'llfio_v2_xxx::file_handle::temp_inode()'],['../namespacellfio__v2__xxx.html#ac8d9dc908fe39f9c896e99f6b7a39d81',1,'llfio_v2_xxx::temp_inode()']]],
- ['trivial_5fvector_5fimpl',['trivial_vector_impl',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aca1f25c1e249bad2129477f430cb5075',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a739d6e32f2f04d6f14d17fcd4debd1de',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(size_type count, const value_type &amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3b6fcc205956cbca2c88f32950b1d45a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(InputIt first, InputIt last)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a959b9de31852f3b82e0a2afbd533aa6f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(const trivial_vector_impl &amp;)=delete'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#acbb1456846604a3473108cd5207ad950',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(trivial_vector_impl &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa2a250c6265441ba5c0728945f8d9772',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(std::initializer_list&lt; value_type &gt; il)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a45eac1f6f721ee11caf82a22851d3f5e',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::trivial_vector_impl()']]],
- ['truncate',['truncate',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a3e147cacf24cb8d96b6c57f30692fda2',1,'llfio_v2_xxx::fast_random_file_handle::truncate()'],['../classllfio__v2__xxx_1_1file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f',1,'llfio_v2_xxx::file_handle::truncate()'],['../classllfio__v2__xxx_1_1section__handle.html#aa4d0beac304a5ae9d29441819a829b80',1,'llfio_v2_xxx::section_handle::truncate()'],['../classllfio__v2__xxx_1_1map__handle.html#a1fb1c874bdab5540c3310e468e41325a',1,'llfio_v2_xxx::map_handle::truncate()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a01a5da3834fd354c5c3d38284b84ef75',1,'llfio_v2_xxx::mapped_file_handle::truncate()'],['../namespacellfio__v2__xxx.html#a16ee1bea5a5791ecde266420e00fba81',1,'llfio_v2_xxx::truncate(file_handle &amp;self, file_handle::extent_type newsize) noexcept'],['../namespacellfio__v2__xxx.html#aa6b0c71dfe04ceae64818d4c91d05537',1,'llfio_v2_xxx::truncate(section_handle &amp;self, section_handle::extent_type newsize=0) noexcept'],['../namespacellfio__v2__xxx.html#a8231f6ba00d0d5840b47981ecc148e51',1,'llfio_v2_xxx::truncate(map_handle &amp;self, map_handle::size_type newsize, bool permit_relocation=false) noexcept']]],
- ['try_5flock',['try_lock',['../classllfio__v2__xxx_1_1io__handle.html#ae1abb705dbe9890e103365bf7c61521e',1,'llfio_v2_xxx::io_handle::try_lock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a051822a4942c7f45b0491ab4385aacd3',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::try_lock(entities_type entities) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a5a7f463e9235bb95ddd84b69e2642613',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::try_lock(entity_type entity) noexcept']]],
- ['type',['type',['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ac44ca889e5423c1bdeb02e5bee5f645a',1,'llfio_v2_xxx::symlink_handle::buffers_type::type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#abe8fb78c928a515db8f017af10436852',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::type()']]]
+ ['safe_5fbyte_5franges',['safe_byte_ranges',['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a0bc85104e524c7a97e6934b605788b6b',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::safe_byte_ranges(const safe_byte_ranges &amp;)=delete'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#a3ddf148d1bf4ea4e8d8abeff6ec5660f',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::safe_byte_ranges(safe_byte_ranges &amp;&amp;o) noexcept']]],
+ ['section',['section',['../classllfio__v2__xxx_1_1section__handle.html#a00db3d1bbffbdb4237401568c441da21',1,'llfio_v2_xxx::section_handle::section(file_handle &amp;backing, extent_type maximum_size, flag _flag) noexcept'],['../classllfio__v2__xxx_1_1section__handle.html#aa9922be0637718ae8c84d4a3c06a9eaf',1,'llfio_v2_xxx::section_handle::section(file_handle &amp;backing, extent_type bytes=0) noexcept'],['../classllfio__v2__xxx_1_1section__handle.html#a8f36f6c6684010c729c78a34645ba3aa',1,'llfio_v2_xxx::section_handle::section(extent_type bytes, const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), flag _flag=flag::read|flag::write) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#a173539843aebd387bb8ca06246067ead',1,'llfio_v2_xxx::map_handle::section()'],['../classllfio__v2__xxx_1_1mapped.html#acb843c564a96365ee7eacb529b028a70',1,'llfio_v2_xxx::mapped::section()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a308969448e8934b7a86bcc693b9cc578',1,'llfio_v2_xxx::mapped_file_handle::section() const noexcept'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a07e95f16802d266bfbbf5a7ccde95c33',1,'llfio_v2_xxx::mapped_file_handle::section() noexcept'],['../namespacellfio__v2__xxx.html#ac9be77116e7a2d8c029dd066dfa363fb',1,'llfio_v2_xxx::section(file_handle &amp;backing, section_handle::extent_type maximum_size, section_handle::flag _flag) noexcept'],['../namespacellfio__v2__xxx.html#a3d55c0a3b567c7ed05053a94750bb133',1,'llfio_v2_xxx::section(file_handle &amp;backing, section_handle::extent_type bytes=0) noexcept'],['../namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd',1,'llfio_v2_xxx::section(section_handle::extent_type bytes, const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), section_handle::flag _flag=section_handle::flag::read|section_handle::flag::write) noexcept']]],
+ ['section_5fflags',['section_flags',['../classllfio__v2__xxx_1_1section__handle.html#a99bb38a023cb0cb486e6210485cc1ca4',1,'llfio_v2_xxx::section_handle']]],
+ ['section_5fhandle',['section_handle',['../classllfio__v2__xxx_1_1section__handle.html#a34f702e58a35c1eee31f5a5d3e5ec73d',1,'llfio_v2_xxx::section_handle::section_handle()'],['../classllfio__v2__xxx_1_1section__handle.html#a9652c4732314142bd472304f36386ef8',1,'llfio_v2_xxx::section_handle::section_handle(native_handle_type sectionh, file_handle *backing, file_handle anonymous, flag __flag)'],['../classllfio__v2__xxx_1_1section__handle.html#a28bc1b458a57c697b94804fd6c87dcd9',1,'llfio_v2_xxx::section_handle::section_handle(section_handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1section__handle.html#ab3cb03378bf927a2fb6636beb6ca2f20',1,'llfio_v2_xxx::section_handle::section_handle(const section_handle &amp;)=delete']]],
+ ['service',['service',['../classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a',1,'llfio_v2_xxx::file_handle']]],
+ ['set_5fappend_5fonly',['set_append_only',['../classllfio__v2__xxx_1_1handle.html#a101620e9fff0c0e8c346af0e9de58b6a',1,'llfio_v2_xxx::handle']]],
+ ['set_5fbacking',['set_backing',['../classllfio__v2__xxx_1_1section__handle.html#a85635c700f2778280481598393c24c00',1,'llfio_v2_xxx::section_handle']]],
+ ['set_5fhandle',['set_handle',['../classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html#aaebef63395732f47b469310dc2a4165d',1,'llfio_v2_xxx::io_handle::extent_guard']]],
+ ['set_5finterruption_5fsignal',['set_interruption_signal',['../classllfio__v2__xxx_1_1io__service.html#aeacd8d21f956903c204ee49c0d3ab195',1,'llfio_v2_xxx::io_service']]],
+ ['set_5fsection',['set_section',['../classllfio__v2__xxx_1_1map__handle.html#a7a27e949d3333a75e96f5d979e2d6bbf',1,'llfio_v2_xxx::map_handle']]],
+ ['shrink_5fto_5ffit',['shrink_to_fit',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a19aa2b2535f9880a41f64fb43162ec9e',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl']]],
+ ['size',['size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a5add0f7b7711da9b0574d1ffde7b9f52',1,'kvstore_v1_xxx::basic_key_value_store::size()'],['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#adaf1c1f3ed96cae94769b24a19639cba',1,'llfio_v2_xxx::io_handle::buffer_type::size()'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a3dadd6b826704451e89cabf1c1305b40',1,'llfio_v2_xxx::io_handle::const_buffer_type::size()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#ad015cb71ff92fa291190c2dc55c7c7de',1,'llfio_v2_xxx::storage_profile::storage_profile::size()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a84a6bbb08480b7803a49e203b7501fa0',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::size()']]],
+ ['snapshot',['snapshot',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a16e68740144469de54dd234540ac9c72',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['st_5fdev',['st_dev',['../classllfio__v2__xxx_1_1fs__handle.html#ac24ed4cdb96690d7da95cd17b0f3d090',1,'llfio_v2_xxx::fs_handle']]],
+ ['st_5fino',['st_ino',['../classllfio__v2__xxx_1_1fs__handle.html#aad6465d30ee438b860ccc59c0e0fc4dc',1,'llfio_v2_xxx::fs_handle']]],
+ ['stamp',['stamp',['../structllfio__v2__xxx_1_1stat__t.html#a4ca693399bffd1b5004d31897e5b72e7',1,'llfio_v2_xxx::stat_t']]],
+ ['stat_5ft',['stat_t',['../structllfio__v2__xxx_1_1stat__t.html#aef93718067115fcb4c596f4c8fe4cc2f',1,'llfio_v2_xxx::stat_t']]],
+ ['stem',['stem',['../classllfio__v2__xxx_1_1path__view.html#ab92ed42255accabeae5cd727b5c963a3',1,'llfio_v2_xxx::path_view']]],
+ ['storage_5fbacked_5ftemporary_5ffiles_5fdirectory',['storage_backed_temporary_files_directory',['../namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd',1,'llfio_v2_xxx::path_discovery']]],
+ ['swap',['swap',['../classllfio__v2__xxx_1_1async__file__handle.html#a7c6b5216c28aa0ca145d9f45c82005a3',1,'llfio_v2_xxx::async_file_handle::swap()'],['../classllfio__v2__xxx_1_1directory__handle.html#a988fca7e79f17902068f2fe8f0356782',1,'llfio_v2_xxx::directory_handle::swap()'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#abc5627ee63a95d17499f079d890e6af9',1,'llfio_v2_xxx::fast_random_file_handle::swap()'],['../classllfio__v2__xxx_1_1file__handle.html#ad0cfbde678b809518ca005251ec64808',1,'llfio_v2_xxx::file_handle::swap()'],['../classllfio__v2__xxx_1_1handle.html#a4716696b8700953889006251e0678aa4',1,'llfio_v2_xxx::handle::swap()'],['../classllfio__v2__xxx_1_1section__handle.html#a2bad3e9b5baf82d9ee7f791f4c3b4733',1,'llfio_v2_xxx::section_handle::swap()'],['../classllfio__v2__xxx_1_1map__handle.html#a2049c6f936df05dd539919f947355506',1,'llfio_v2_xxx::map_handle::swap()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a32dd26dd2dbffbab505e7b7bd8aa41ee',1,'llfio_v2_xxx::mapped_file_handle::swap()'],['../structllfio__v2__xxx_1_1native__handle__type.html#abc96c9f96b0bf877af2cd9092bd3255e',1,'llfio_v2_xxx::native_handle_type::swap()'],['../classllfio__v2__xxx_1_1path__handle.html#a8752c5e4f4189c7bdfcd6eccb637bef9',1,'llfio_v2_xxx::path_handle::swap()'],['../classllfio__v2__xxx_1_1path__view.html#ab7ae611a6aa7fed01b4447a3f5133c14',1,'llfio_v2_xxx::path_view::swap()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a102fed4cc800776a62fae691a87db0e6',1,'llfio_v2_xxx::symlink_handle::swap()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3fb1e66f29e8d90eec09316946d3d4f0',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::swap()'],['../classllfio__v2__xxx_1_1algorithm_1_1combining__handle__adapter.html#aefc25feff3ba060a3b3092a69cf4d5cc',1,'llfio_v2_xxx::algorithm::combining_handle_adapter::swap()'],['../namespacellfio__v2__xxx.html#a827e936162aff684070500f10c169e70',1,'llfio_v2_xxx::swap(async_file_handle &amp;self, async_file_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#a2fd0d67b7d28699d16f6a3666a62a5bf',1,'llfio_v2_xxx::swap(directory_handle &amp;self, directory_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#a2542466a055a0c024dee2704e9e32519',1,'llfio_v2_xxx::swap(file_handle &amp;self, file_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#aa2eeaa1b9280d05b18b7e6d505c289fb',1,'llfio_v2_xxx::swap(handle &amp;self, handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#abfe725f4e0abd521a7aa319a6d567e44',1,'llfio_v2_xxx::swap(section_handle &amp;self, section_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#a28060698d23344a5ece73336a9cf49c2',1,'llfio_v2_xxx::swap(map_handle &amp;self, map_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx.html#acda211a674e09531226be56691136f7c',1,'llfio_v2_xxx::swap(mapped_file_handle &amp;self, mapped_file_handle &amp;o) noexcept'],['../namespacellfio__v2__xxx_1_1algorithm.html#ae0973243c4b58d53d6f11ce5a2535a8c',1,'llfio_v2_xxx::algorithm::swap()']]],
+ ['symlink',['symlink',['../classllfio__v2__xxx_1_1symlink__handle.html#a004563b5be8b75d20617018178f68e33',1,'llfio_v2_xxx::symlink_handle']]],
+ ['symlink_5fhandle',['symlink_handle',['../classllfio__v2__xxx_1_1symlink__handle.html#a02c22ab62150c15dbe77096526975cbf',1,'llfio_v2_xxx::symlink_handle::symlink_handle()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a3270cfa202b024bc74f3c5e301b9f33d',1,'llfio_v2_xxx::symlink_handle::symlink_handle(native_handle_type h, dev_t devid, ino_t inode, flag flags=flag::none)'],['../classllfio__v2__xxx_1_1symlink__handle.html#af49d1596ddc5019962ae9ab22a78c5bf',1,'llfio_v2_xxx::symlink_handle::symlink_handle(handle &amp;&amp;o) noexcept'],['../classllfio__v2__xxx_1_1symlink__handle.html#ac10f98b90414a51b46cb56222ccfd41f',1,'llfio_v2_xxx::symlink_handle::symlink_handle(symlink_handle &amp;&amp;)=default'],['../classllfio__v2__xxx_1_1symlink__handle.html#ac1167dee8a0dcf041e457570c89174b1',1,'llfio_v2_xxx::symlink_handle::symlink_handle(const symlink_handle &amp;)=delete']]]
];
diff --git a/search/functions_13.js b/search/functions_13.js
index c2dc5185..9f2eb13a 100644
--- a/search/functions_13.js
+++ b/search/functions_13.js
@@ -1,10 +1,10 @@
var searchData=
[
- ['underlying_5ffile_5fmaximum_5fextent',['underlying_file_maximum_extent',['../classllfio__v2__xxx_1_1mapped__file__handle.html#a23f61ce914c2564b6eaf885a13a19395',1,'llfio_v2_xxx::mapped_file_handle']]],
- ['unique_5fid',['unique_id',['../classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1',1,'llfio_v2_xxx::fs_handle']]],
- ['unlink',['unlink',['../classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982',1,'llfio_v2_xxx::fs_handle::unlink()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a002c9dab669604d58e08aa8f4dbc99c8',1,'llfio_v2_xxx::symlink_handle::unlink()'],['../namespacellfio__v2__xxx.html#a3c20b46beeb225aa63ade3dc42e73362',1,'llfio_v2_xxx::unlink()']]],
- ['unlock',['unlock',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a26e98e20ea5be1a930d00b0b6f709436',1,'llfio_v2_xxx::fast_random_file_handle::unlock()'],['../classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html#a40845d72f81836890189a420124a1f0e',1,'llfio_v2_xxx::io_handle::extent_guard::unlock()'],['../classllfio__v2__xxx_1_1io__handle.html#ad720c4c7f350fe06291534d1cbf2feb5',1,'llfio_v2_xxx::io_handle::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a9a1efb3416df74145cd6d8a91c01350c',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#acbaee269018d013fd7772d9f150a8e06',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a645f3ecd3a841cb7311102dea4f36757',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#aef06d02d70a00b731afbc2a9190eec3e',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a9e898ef170b38add24229c6ed9b91b74',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a5f7f9ad579b9fb0d3700fd31472fb95a',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#aa22cd8a543e88b3af6915444828f31e2',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::unlock()']]],
- ['update_5fmap',['update_map',['../classllfio__v2__xxx_1_1map__handle.html#ac7aeb0aa6182a22d0242340eb6d341b9',1,'llfio_v2_xxx::map_handle::update_map()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#acb5a5b1e9f5bd7b1555edbacd057972c',1,'llfio_v2_xxx::mapped_file_handle::update_map()']]],
- ['uri',['uri',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a6380b90bf98c1403827a6e7320367d98',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['using_5fkqueues',['using_kqueues',['../classllfio__v2__xxx_1_1io__service.html#ac4c9dfee053976f4dca0b91cd98caabb',1,'llfio_v2_xxx::io_service']]]
+ ['temp_5fdirectory',['temp_directory',['../classllfio__v2__xxx_1_1directory__handle.html#a3513e9a84f1bc13bb4500dbab84207c4',1,'llfio_v2_xxx::directory_handle::temp_directory()'],['../namespacellfio__v2__xxx.html#addbdc12d4993a8ee40c105a02a105a61',1,'llfio_v2_xxx::temp_directory()']]],
+ ['temp_5ffile',['temp_file',['../classllfio__v2__xxx_1_1file__handle.html#a428114e3c8628c0621b1aa156051651c',1,'llfio_v2_xxx::file_handle::temp_file()'],['../namespacellfio__v2__xxx.html#a70d9ef3b988a880d171015b754bb7b27',1,'llfio_v2_xxx::temp_file()']]],
+ ['temp_5finode',['temp_inode',['../classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5',1,'llfio_v2_xxx::file_handle::temp_inode()'],['../namespacellfio__v2__xxx.html#ac8d9dc908fe39f9c896e99f6b7a39d81',1,'llfio_v2_xxx::temp_inode()']]],
+ ['trivial_5fvector_5fimpl',['trivial_vector_impl',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aca1f25c1e249bad2129477f430cb5075',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a739d6e32f2f04d6f14d17fcd4debd1de',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(size_type count, const value_type &amp;v)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3b6fcc205956cbca2c88f32950b1d45a',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(InputIt first, InputIt last)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a959b9de31852f3b82e0a2afbd533aa6f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(const trivial_vector_impl &amp;)=delete'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#acbb1456846604a3473108cd5207ad950',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(trivial_vector_impl &amp;&amp;o) noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aa2a250c6265441ba5c0728945f8d9772',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::trivial_vector_impl(std::initializer_list&lt; value_type &gt; il)'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl_3_01true_00_01_t_01_4.html#a45eac1f6f721ee11caf82a22851d3f5e',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; true, T &gt;::trivial_vector_impl()']]],
+ ['truncate',['truncate',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a3e147cacf24cb8d96b6c57f30692fda2',1,'llfio_v2_xxx::fast_random_file_handle::truncate()'],['../classllfio__v2__xxx_1_1file__handle.html#a2be41c54aff8578e2d0afbf4ae73049f',1,'llfio_v2_xxx::file_handle::truncate()'],['../classllfio__v2__xxx_1_1section__handle.html#aa4d0beac304a5ae9d29441819a829b80',1,'llfio_v2_xxx::section_handle::truncate()'],['../classllfio__v2__xxx_1_1map__handle.html#a1fb1c874bdab5540c3310e468e41325a',1,'llfio_v2_xxx::map_handle::truncate()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a01a5da3834fd354c5c3d38284b84ef75',1,'llfio_v2_xxx::mapped_file_handle::truncate()'],['../namespacellfio__v2__xxx.html#a16ee1bea5a5791ecde266420e00fba81',1,'llfio_v2_xxx::truncate(file_handle &amp;self, file_handle::extent_type newsize) noexcept'],['../namespacellfio__v2__xxx.html#aa6b0c71dfe04ceae64818d4c91d05537',1,'llfio_v2_xxx::truncate(section_handle &amp;self, section_handle::extent_type newsize=0) noexcept'],['../namespacellfio__v2__xxx.html#a8231f6ba00d0d5840b47981ecc148e51',1,'llfio_v2_xxx::truncate(map_handle &amp;self, map_handle::size_type newsize, bool permit_relocation=false) noexcept']]],
+ ['try_5flock',['try_lock',['../classllfio__v2__xxx_1_1io__handle.html#ae1abb705dbe9890e103365bf7c61521e',1,'llfio_v2_xxx::io_handle::try_lock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a051822a4942c7f45b0491ab4385aacd3',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::try_lock(entities_type entities) noexcept'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a5a7f463e9235bb95ddd84b69e2642613',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::try_lock(entity_type entity) noexcept']]],
+ ['type',['type',['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ac44ca889e5423c1bdeb02e5bee5f645a',1,'llfio_v2_xxx::symlink_handle::buffers_type::type()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#abe8fb78c928a515db8f017af10436852',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::type()']]]
];
diff --git a/search/functions_14.js b/search/functions_14.js
index 5c97d180..c2dc5185 100644
--- a/search/functions_14.js
+++ b/search/functions_14.js
@@ -1,5 +1,10 @@
var searchData=
[
- ['value_5fsize',['value_size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#acbf5b5f9003877866ffa11fbb059cece',1,'kvstore_v1_xxx::basic_key_value_store']]],
- ['verified_5ftemporary_5fdirectories',['verified_temporary_directories',['../namespacellfio__v2__xxx_1_1path__discovery.html#ab3c4aaa0c413e4989461ab6551058583',1,'llfio_v2_xxx::path_discovery']]]
+ ['underlying_5ffile_5fmaximum_5fextent',['underlying_file_maximum_extent',['../classllfio__v2__xxx_1_1mapped__file__handle.html#a23f61ce914c2564b6eaf885a13a19395',1,'llfio_v2_xxx::mapped_file_handle']]],
+ ['unique_5fid',['unique_id',['../classllfio__v2__xxx_1_1fs__handle.html#a9793fe40564fda2437783488bd51b9f1',1,'llfio_v2_xxx::fs_handle']]],
+ ['unlink',['unlink',['../classllfio__v2__xxx_1_1fs__handle.html#a1dd7923bb65456af4da41ebe7cb84982',1,'llfio_v2_xxx::fs_handle::unlink()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a002c9dab669604d58e08aa8f4dbc99c8',1,'llfio_v2_xxx::symlink_handle::unlink()'],['../namespacellfio__v2__xxx.html#a3c20b46beeb225aa63ade3dc42e73362',1,'llfio_v2_xxx::unlink()']]],
+ ['unlock',['unlock',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#a26e98e20ea5be1a930d00b0b6f709436',1,'llfio_v2_xxx::fast_random_file_handle::unlock()'],['../classllfio__v2__xxx_1_1io__handle_1_1extent__guard.html#a40845d72f81836890189a420124a1f0e',1,'llfio_v2_xxx::io_handle::extent_guard::unlock()'],['../classllfio__v2__xxx_1_1io__handle.html#ad720c4c7f350fe06291534d1cbf2feb5',1,'llfio_v2_xxx::io_handle::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html#a9a1efb3416df74145cd6d8a91c01350c',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::atomic_append::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#acbaee269018d013fd7772d9f150a8e06',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::entities_guard::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex.html#a645f3ecd3a841cb7311102dea4f36757',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::shared_fs_mutex::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1byte__ranges.html#aef06d02d70a00b731afbc2a9190eec3e',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::byte_ranges::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1lock__files.html#a9e898ef170b38add24229c6ed9b91b74',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::lock_files::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html#a5f7f9ad579b9fb0d3700fd31472fb95a',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::memory_map::unlock()'],['../classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1safe__byte__ranges.html#aa22cd8a543e88b3af6915444828f31e2',1,'llfio_v2_xxx::algorithm::shared_fs_mutex::safe_byte_ranges::unlock()']]],
+ ['update_5fmap',['update_map',['../classllfio__v2__xxx_1_1map__handle.html#ac7aeb0aa6182a22d0242340eb6d341b9',1,'llfio_v2_xxx::map_handle::update_map()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#acb5a5b1e9f5bd7b1555edbacd057972c',1,'llfio_v2_xxx::mapped_file_handle::update_map()']]],
+ ['uri',['uri',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a6380b90bf98c1403827a6e7320367d98',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['using_5fkqueues',['using_kqueues',['../classllfio__v2__xxx_1_1io__service.html#ac4c9dfee053976f4dca0b91cd98caabb',1,'llfio_v2_xxx::io_service']]]
];
diff --git a/search/functions_15.js b/search/functions_15.js
index 97fca17f..5c97d180 100644
--- a/search/functions_15.js
+++ b/search/functions_15.js
@@ -1,4 +1,5 @@
var searchData=
[
- ['write',['write',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a7264d661f3c050a78f0cb1e1655b6d84',1,'kvstore_v1_xxx::basic_key_value_store::write()'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#abdbe878fecb166d1eda5ddc4718e101d',1,'llfio_v2_xxx::fast_random_file_handle::write()'],['../classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052',1,'llfio_v2_xxx::io_handle::write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept'],['../classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57',1,'llfio_v2_xxx::io_handle::write(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#a90afda5433656ed35a5814e048cc1f1b',1,'llfio_v2_xxx::map_handle::write()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a269e37ceff90d2d92fa65e7d5a17c9f5',1,'llfio_v2_xxx::mapped_file_handle::write()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af63e94ffbdb72bf6218cb4ba7c9a552b',1,'llfio_v2_xxx::storage_profile::storage_profile::write()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a7227db10ebbb385311452e912d833447',1,'llfio_v2_xxx::symlink_handle::write()'],['../namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a',1,'llfio_v2_xxx::write(io_handle &amp;self, io_handle::io_request&lt; io_handle::const_buffers_type &gt; reqs, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#a5ea3d93e8b2c7f6e3fca7a9cde734312',1,'llfio_v2_xxx::write(io_handle &amp;self, io_handle::extent_type offset, std::initializer_list&lt; io_handle::const_buffer_type &gt; lst, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#a681ed7e98ac17e6bb336b9287365141b',1,'llfio_v2_xxx::write(map_handle &amp;self, map_handle::io_request&lt; map_handle::const_buffers_type &gt; reqs, deadline d=deadline()) noexcept']]]
+ ['value_5fsize',['value_size',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#acbf5b5f9003877866ffa11fbb059cece',1,'kvstore_v1_xxx::basic_key_value_store']]],
+ ['verified_5ftemporary_5fdirectories',['verified_temporary_directories',['../namespacellfio__v2__xxx_1_1path__discovery.html#ab3c4aaa0c413e4989461ab6551058583',1,'llfio_v2_xxx::path_discovery']]]
];
diff --git a/search/functions_16.js b/search/functions_16.js
index af5c3e19..97fca17f 100644
--- a/search/functions_16.js
+++ b/search/functions_16.js
@@ -1,5 +1,4 @@
var searchData=
[
- ['zero',['zero',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#ab88d8d93300d1525d52ad1eb4e00e504',1,'llfio_v2_xxx::fast_random_file_handle::zero()'],['../classllfio__v2__xxx_1_1file__handle.html#a50caa94c51aae1f23e7708d3c6a21364',1,'llfio_v2_xxx::file_handle::zero()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#aecc5c8f55550a0c83e63b73e50e5ed0b',1,'llfio_v2_xxx::mapped_file_handle::zero()'],['../namespacellfio__v2__xxx.html#ad0fb15649a46da0d75b5797bfda8dc2e',1,'llfio_v2_xxx::zero()']]],
- ['zero_5fmemory',['zero_memory',['../classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f',1,'llfio_v2_xxx::map_handle']]]
+ ['write',['write',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a7264d661f3c050a78f0cb1e1655b6d84',1,'kvstore_v1_xxx::basic_key_value_store::write()'],['../classllfio__v2__xxx_1_1fast__random__file__handle.html#abdbe878fecb166d1eda5ddc4718e101d',1,'llfio_v2_xxx::fast_random_file_handle::write()'],['../classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052',1,'llfio_v2_xxx::io_handle::write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept'],['../classllfio__v2__xxx_1_1io__handle.html#ab500784aa806dc7c2d90028d2f72de57',1,'llfio_v2_xxx::io_handle::write(extent_type offset, std::initializer_list&lt; const_buffer_type &gt; lst, deadline d=deadline()) noexcept'],['../classllfio__v2__xxx_1_1map__handle.html#a90afda5433656ed35a5814e048cc1f1b',1,'llfio_v2_xxx::map_handle::write()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a269e37ceff90d2d92fa65e7d5a17c9f5',1,'llfio_v2_xxx::mapped_file_handle::write()'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#af63e94ffbdb72bf6218cb4ba7c9a552b',1,'llfio_v2_xxx::storage_profile::storage_profile::write()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a7227db10ebbb385311452e912d833447',1,'llfio_v2_xxx::symlink_handle::write()'],['../namespacellfio__v2__xxx.html#a5a8908704c9988bbecc69c2359e6fd4a',1,'llfio_v2_xxx::write(io_handle &amp;self, io_handle::io_request&lt; io_handle::const_buffers_type &gt; reqs, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#a5ea3d93e8b2c7f6e3fca7a9cde734312',1,'llfio_v2_xxx::write(io_handle &amp;self, io_handle::extent_type offset, std::initializer_list&lt; io_handle::const_buffer_type &gt; lst, deadline d=deadline()) noexcept'],['../namespacellfio__v2__xxx.html#a681ed7e98ac17e6bb336b9287365141b',1,'llfio_v2_xxx::write(map_handle &amp;self, map_handle::io_request&lt; map_handle::const_buffers_type &gt; reqs, deadline d=deadline()) noexcept']]]
];
diff --git a/search/functions_17.js b/search/functions_17.js
index 54bd75f7..af5c3e19 100644
--- a/search/functions_17.js
+++ b/search/functions_17.js
@@ -1,4 +1,5 @@
var searchData=
[
- ['_7emapped',['~mapped',['../classllfio__v2__xxx_1_1mapped.html#a4f142320455c139f3bf38823eb107eec',1,'llfio_v2_xxx::mapped']]]
+ ['zero',['zero',['../classllfio__v2__xxx_1_1fast__random__file__handle.html#ab88d8d93300d1525d52ad1eb4e00e504',1,'llfio_v2_xxx::fast_random_file_handle::zero()'],['../classllfio__v2__xxx_1_1file__handle.html#a50caa94c51aae1f23e7708d3c6a21364',1,'llfio_v2_xxx::file_handle::zero()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#aecc5c8f55550a0c83e63b73e50e5ed0b',1,'llfio_v2_xxx::mapped_file_handle::zero()'],['../namespacellfio__v2__xxx.html#ad0fb15649a46da0d75b5797bfda8dc2e',1,'llfio_v2_xxx::zero()']]],
+ ['zero_5fmemory',['zero_memory',['../classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f',1,'llfio_v2_xxx::map_handle']]]
];
diff --git a/search/enumvalues_d.html b/search/functions_18.html
index 8516692d..8a9723d7 100644
--- a/search/enumvalues_d.html
+++ b/search/functions_18.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
-<script type="text/javascript" src="enumvalues_d.js"></script>
+<script type="text/javascript" src="functions_18.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
diff --git a/search/functions_18.js b/search/functions_18.js
new file mode 100644
index 00000000..54bd75f7
--- /dev/null
+++ b/search/functions_18.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['_7emapped',['~mapped',['../classllfio__v2__xxx_1_1mapped.html#a4f142320455c139f3bf38823eb107eec',1,'llfio_v2_xxx::mapped']]]
+];
diff --git a/search/functions_2.js b/search/functions_2.js
index a08744b3..39014f49 100644
--- a/search/functions_2.js
+++ b/search/functions_2.js
@@ -3,7 +3,7 @@ var searchData=
['back',['back',['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8b3f69d7e670bf45727baa9e9ed30141',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::back()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aba4b731aa0cd0d654976d34d5c10388f',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::back() const']]],
['backing',['backing',['../classllfio__v2__xxx_1_1section__handle.html#a680320bd539378d99870d9b2cdedb9c8',1,'llfio_v2_xxx::section_handle']]],
['backing_5fnative_5fhandle',['backing_native_handle',['../classllfio__v2__xxx_1_1section__handle.html#aea14a4f834500e412db39efd998f438a',1,'llfio_v2_xxx::section_handle']]],
- ['barrier',['barrier',['../classllfio__v2__xxx_1_1io__handle.html#aa3ec366f663f85fb4d679542b8c1b41a',1,'llfio_v2_xxx::io_handle::barrier()'],['../namespacellfio__v2__xxx.html#a4fad22759dab40321cabd37c755880fe',1,'llfio_v2_xxx::barrier()']]],
+ ['barrier',['barrier',['../classllfio__v2__xxx_1_1io__handle.html#a823391cea8818da742c0d4c573f7300f',1,'llfio_v2_xxx::io_handle']]],
['basic_5fkey_5fvalue_5fstore',['basic_key_value_store',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#a626aa5e393870b8ad926c3efdbeb364e',1,'kvstore_v1_xxx::basic_key_value_store']]],
['begin',['begin',['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a3dc3fe4419608ead3c2d067e4b446e23',1,'llfio_v2_xxx::io_handle::buffer_type::begin() noexcept'],['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#ad3327f868ebf3022c5b5d703c0013a7c',1,'llfio_v2_xxx::io_handle::buffer_type::begin() const noexcept'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a4364d23f0a87200460bf789a4a8580a1',1,'llfio_v2_xxx::io_handle::const_buffer_type::begin() noexcept'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a10e6e1e22e4d3996a0a4c39d7b451f62',1,'llfio_v2_xxx::io_handle::const_buffer_type::begin() const noexcept'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#abd2f5aca239fcd35a94a60db4d5bf133',1,'llfio_v2_xxx::storage_profile::storage_profile::begin() noexcept'],['../structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html#a10064029adf92a2b2fc97e8277a5ce3b',1,'llfio_v2_xxx::storage_profile::storage_profile::begin() const noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#a28e41b560e19db2f64f7cce036177570',1,'llfio_v2_xxx::symlink_handle::buffers_type::begin() noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#ae1138a854773d736e5cc8f3c13b29ec1',1,'llfio_v2_xxx::symlink_handle::buffers_type::begin() const noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#ac6169c9b49862a61bfe7010026c1de3d',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::begin() noexcept'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#aed1bbdd2f849774c090b2837ff5a15fc',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::begin() const noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a8526d8eef6bcc3851b34bdf1d364f102',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::begin() noexcept'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#ad71fa0eddf798fb096dfdaf25af4168c',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::begin() const noexcept']]],
['begin_5ftransaction',['begin_transaction',['../classkvstore__v1__xxx_1_1basic__key__value__store.html#aea4b35a978c902019070e1f09388bc36',1,'kvstore_v1_xxx::basic_key_value_store']]],
diff --git a/search/searchdata.js b/search/searchdata.js
index ac6693ca..4aa5fe1b 100644
--- a/search/searchdata.js
+++ b/search/searchdata.js
@@ -1,14 +1,14 @@
var indexSectionsWithContent =
{
- 0: "_abcdefghiklmnoprstuvwxz~",
+ 0: "_abcdefghiklmnopqrstuvwxz~",
1: "_abcdefhilmnprst",
2: "kl",
3: "abcdfhiklmnpstuvx",
- 4: "_abcdefghiklmnoprstuvwz~",
+ 4: "_abcdefghiklmnopqrstuvwz~",
5: "acdefhlmnprstuvx",
6: "abcdefhiklmprsuvx",
7: "bcfkms",
- 8: "abcdefhilmnoprstuw",
+ 8: "aefhilnorstuw",
9: "l",
10: "c",
11: "bt"
diff --git a/search/variables_4.js b/search/variables_4.js
index ed6c489b..c768e046 100644
--- a/search/variables_4.js
+++ b/search/variables_4.js
@@ -15,6 +15,5 @@ var searchData=
['f_5fnamemax',['f_namemax',['../structllfio__v2__xxx_1_1statfs__t.html#a2e594db0ff5018223f00ffdcbd4dd771',1,'llfio_v2_xxx::statfs_t']]],
['f_5fowner',['f_owner',['../structllfio__v2__xxx_1_1statfs__t.html#aa8b39815508e9252da673c7e18666cd7',1,'llfio_v2_xxx::statfs_t']]],
['fd',['fd',['../structllfio__v2__xxx_1_1native__handle__type.html#a6d63f413705982a84f4140640e4340af',1,'llfio_v2_xxx::native_handle_type']]],
- ['features',['features',['../structkvstore__v1__xxx_1_1basic__key__value__store__info.html#adf38388186505565b7ebb4f87a6f0124',1,'kvstore_v1_xxx::basic_key_value_store_info']]],
['filecompression',['filecompression',['../structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html#af56d7eae510ec6f76827697d8f2ad7b1',1,'llfio_v2_xxx::statfs_t::f_flags_t']]]
];
diff --git a/storage__profile_8hpp.html b/storage__profile_8hpp.html
index a519494b..943c3412 100644
--- a/storage__profile_8hpp.html
+++ b/storage__profile_8hpp.html
@@ -83,6 +83,7 @@ $(document).ready(function(){initNavTree('storage__profile_8hpp.html','');});
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
@@ -93,6 +94,7 @@ $(document).ready(function(){initNavTree('storage__profile_8hpp.html','');});
<p>Provides storage_profile.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="io__service_8hpp.html">io_service.hpp</a>&quot;</code><br />
+<code>#include &quot;outcome/outcome.hpp&quot;</code><br />
<code>#include &lt;regex&gt;</code><br />
<code>#include &lt;utility&gt;</code><br />
</div><table class="memberdecls">
@@ -120,6 +122,13 @@ Namespaces</h2></td></tr>
<tr class="memdesc:namespacellfio__v2__xxx_1_1storage__profile"><td class="mdescLeft">&#160;</td><td class="mdescRight">YAML databaseable empirical testing of a storage's behaviour. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:a6ddb7c2bee277fc16207b7e8cb05693f"><td class="memTemplParams" colspan="2"><a id="a6ddb7c2bee277fc16207b7e8cb05693f"></a>
+template&lt;class T &gt; </td></tr>
+<tr class="memitem:a6ddb7c2bee277fc16207b7e8cb05693f"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><b>llfio_v2_xxx::outcome</b> = OUTCOME_V2_NAMESPACE::outcome&lt; T, error_info &gt;</td></tr>
+<tr class="separator:a6ddb7c2bee277fc16207b7e8cb05693f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ac4910e412ff87c1c9e33615d81b2d238"><td class="memItemLeft" align="right" valign="top"><a id="ac4910e412ff87c1c9e33615d81b2d238"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellfio__v2__xxx_1_1storage__profile.html#ac4910e412ff87c1c9e33615d81b2d238">llfio_v2_xxx::storage_profile::storage_types</a> { <br />
diff --git a/storage__profile_8hpp.js b/storage__profile_8hpp.js
index a39af1e1..7fec10c1 100644
--- a/storage__profile_8hpp.js
+++ b/storage__profile_8hpp.js
@@ -4,6 +4,7 @@ var storage__profile_8hpp =
[ "item", "structllfio__v2__xxx_1_1storage__profile_1_1item.html", "structllfio__v2__xxx_1_1storage__profile_1_1item" ],
[ "item_erased", "structllfio__v2__xxx_1_1storage__profile_1_1item__erased.html", "structllfio__v2__xxx_1_1storage__profile_1_1item__erased" ],
[ "storage_profile", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile.html", "structllfio__v2__xxx_1_1storage__profile_1_1storage__profile" ],
+ [ "outcome", "storage__profile_8hpp.html#a6ddb7c2bee277fc16207b7e8cb05693f", null ],
[ "storage_types", "storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238", [
[ "unknown", "storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238aad921d60486366258809553a3db49a4a", null ],
[ "extent_type", "storage__profile_8hpp.html#ac4910e412ff87c1c9e33615d81b2d238a59b1fa3a479308121c258d4f85c97f85", null ],
diff --git a/structkvstore__v1__xxx_1_1basic__key__value__store__info-members.html b/structkvstore__v1__xxx_1_1basic__key__value__store__info-members.html
index d7a07dfd..b6c13cf0 100644
--- a/structkvstore__v1__xxx_1_1basic__key__value__store__info-members.html
+++ b/structkvstore__v1__xxx_1_1basic__key__value__store__info-members.html
@@ -87,29 +87,21 @@ $(document).ready(function(){initNavTree('structkvstore__v1__xxx_1_1basic__key__
<p>This is the complete list of members for <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a>, including all inherited members.</p>
<table class="directory">
- <tr class="even"><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa5a728b7bc78a19837107974cf95a4d72">atomic_snapshots</a> enum value</td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa28f74a66be96d3481e374af6b741172f">atomic_transactions</a> enum value</td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54a">bitfield__features</a> enum name</td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#ad6c528fa5be3528fec4eaf804836f26c">caching</a> typedef</td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#aa52a30f6b8dafd8720fb6b19d7df3847">create</a></td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a34ccd51edd7cf9321451d4ed38fa22d8">creation</a> typedef</td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a3cae87f30ee5707ec5b9d96ab8d9c307">extent_type</a> typedef</td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#adf38388186505565b7ebb4f87a6f0124">features</a></td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#ad6c528fa5be3528fec4eaf804836f26c">caching</a> typedef</td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#aa52a30f6b8dafd8720fb6b19d7df3847">create</a></td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a34ccd51edd7cf9321451d4ed38fa22d8">creation</a> typedef</td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a3cae87f30ee5707ec5b9d96ab8d9c307">extent_type</a> typedef</td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a22d02c2c96725ea238c5eed0e7a80c85">handle_type</a> typedef</td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa498d5b94bbf58b2f19323f5357bbb6d9">history</a> enum value</td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a55c5a2ab7632d6d6364ecabb96e97bee">max_key_size</a></td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a860380a3823942caabac91e2d819b781">max_value_size</a></td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a3a48e754b1f0ccb700a1d17663f0bbb4">min_key_size</a></td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a413b348bd19556537cd4ff287b937b0a">min_value_size</a></td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a2c1743edd93e794407f21911c9f72483">mode</a> typedef</td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#aa89f3aa72d3cfd207242e7ef4ad853ed">name</a></td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aac4f803736fe62535f3ee849e0a17b6a2">none</a> enum value</td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a55c5a2ab7632d6d6364ecabb96e97bee">max_key_size</a></td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a860380a3823942caabac91e2d819b781">max_value_size</a></td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a3a48e754b1f0ccb700a1d17663f0bbb4">min_key_size</a></td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a413b348bd19556537cd4ff287b937b0a">min_value_size</a></td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a2c1743edd93e794407f21911c9f72483">mode</a> typedef</td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#aa89f3aa72d3cfd207242e7ef4ad853ed">name</a></td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a71bf22a199b1f8461e9612269eb2cf29">QUICKCPPLIB_BITFIELD_BEGIN</a>(features)</td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a74806d5aad24bdf1607755aefd8d70b4">QUICKCPPLIB_BITFIELD_END</a>(features) features features</td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a42ce844ff625bc9912a30d0fac3c5f45">score</a></td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa6c63421d928a8176a0aa653bdc1b3e43">shared_memory</a> enum value</td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a53700b762910c0189fd240e4bc51508a">size_type</a> typedef</td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa1d775e1c64c41a7b692458df6b7e7bb5">stable_keys</a> enum value</td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aad69fc9d7488510795a13cc87a78eb6d7">stable_values</a> enum value</td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa78faae96b1cc136508508c90862459f0">update_deltas</a> enum value</td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a53700b762910c0189fd240e4bc51508a">size_type</a> typedef</td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a6a2745145078cb237fb385a7ad4681af">uri_type</a> typedef</td><td class="entry"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html">kvstore_v1_xxx::basic_key_value_store_info</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
diff --git a/structkvstore__v1__xxx_1_1basic__key__value__store__info.html b/structkvstore__v1__xxx_1_1basic__key__value__store__info.html
index 983b243d..bc237a88 100644
--- a/structkvstore__v1__xxx_1_1basic__key__value__store__info.html
+++ b/structkvstore__v1__xxx_1_1basic__key__value__store__info.html
@@ -82,6 +82,7 @@ $(document).ready(function(){initNavTree('structkvstore__v1__xxx_1_1basic__key__
<div class="header">
<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="structkvstore__v1__xxx_1_1basic__key__value__store__info-members.html">List of all members</a> </div>
<div class="headertitle">
@@ -96,20 +97,6 @@ $(document).ready(function(){initNavTree('structkvstore__v1__xxx_1_1basic__key__
<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:af30d19036dae0956d02af0c1e867c54a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54a">bitfield__features</a> : unsigned { <br />
-&#160;&#160;<a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aac4f803736fe62535f3ee849e0a17b6a2">none</a> = 1U &lt;&lt; 0U,
-<a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa6c63421d928a8176a0aa653bdc1b3e43">shared_memory</a> = 1U &lt;&lt; 1U,
-<a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa498d5b94bbf58b2f19323f5357bbb6d9">history</a> = 1U &lt;&lt; 2U,
-<a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aad69fc9d7488510795a13cc87a78eb6d7">stable_values</a> = 1U &lt;&lt; 3U,
-<br />
-&#160;&#160;<a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa1d775e1c64c41a7b692458df6b7e7bb5">stable_keys</a> = 1U &lt;&lt; 4U,
-<a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa78faae96b1cc136508508c90862459f0">update_deltas</a> = 1U &lt;&lt; 5U,
-<a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa5a728b7bc78a19837107974cf95a4d72">atomic_snapshots</a> = 1U &lt;&lt; 6U,
-<a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa28f74a66be96d3481e374af6b741172f">atomic_transactions</a> = 1U &lt;&lt; 7U
-<br />
- }<tr class="memdesc:af30d19036dae0956d02af0c1e867c54a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Features requested, or provided by, this store. <a href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54a">More...</a><br /></td></tr>
-</td></tr>
-<tr class="separator:af30d19036dae0956d02af0c1e867c54a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a2745145078cb237fb385a7ad4681af"><td class="memItemLeft" align="right" valign="top"><a id="a6a2745145078cb237fb385a7ad4681af"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a6a2745145078cb237fb385a7ad4681af">uri_type</a> = std::basic_string&lt; char &gt;</td></tr>
<tr class="memdesc:a6a2745145078cb237fb385a7ad4681af"><td class="mdescLeft">&#160;</td><td class="mdescRight">The type of the UTF-8 URI used by this store. <br /></td></tr>
@@ -139,6 +126,16 @@ using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="str
<tr class="memdesc:ad6c528fa5be3528fec4eaf804836f26c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The kernel caching used by this store. <br /></td></tr>
<tr class="separator:ad6c528fa5be3528fec4eaf804836f26c"><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>
+<tr class="memitem:a71bf22a199b1f8461e9612269eb2cf29"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a71bf22a199b1f8461e9612269eb2cf29">QUICKCPPLIB_BITFIELD_BEGIN</a> (features)</td></tr>
+<tr class="memdesc:a71bf22a199b1f8461e9612269eb2cf29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Features requested, or provided by, this store. <a href="#a71bf22a199b1f8461e9612269eb2cf29">More...</a><br /></td></tr>
+<tr class="separator:a71bf22a199b1f8461e9612269eb2cf29"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a74806d5aad24bdf1607755aefd8d70b4"><td class="memItemLeft" align="right" valign="top"><a id="a74806d5aad24bdf1607755aefd8d70b4"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a74806d5aad24bdf1607755aefd8d70b4">QUICKCPPLIB_BITFIELD_END</a> (features) features features</td></tr>
+<tr class="memdesc:a74806d5aad24bdf1607755aefd8d70b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">The features this store implementation provides. <br /></td></tr>
+<tr class="separator:a74806d5aad24bdf1607755aefd8d70b4"><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:aa89f3aa72d3cfd207242e7ef4ad853ed"><td class="memItemLeft" align="right" valign="top"><a id="aa89f3aa72d3cfd207242e7ef4ad853ed"></a>
@@ -159,58 +156,48 @@ const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" hr
<tr class="separator:a413b348bd19556537cd4ff287b937b0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a860380a3823942caabac91e2d819b781"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a3cae87f30ee5707ec5b9d96ab8d9c307">extent_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a860380a3823942caabac91e2d819b781">max_value_size</a></td></tr>
<tr class="separator:a860380a3823942caabac91e2d819b781"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adf38388186505565b7ebb4f87a6f0124"><td class="memItemLeft" align="right" valign="top"><a id="adf38388186505565b7ebb4f87a6f0124"></a>
-features&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#adf38388186505565b7ebb4f87a6f0124">features</a></td></tr>
-<tr class="memdesc:adf38388186505565b7ebb4f87a6f0124"><td class="mdescLeft">&#160;</td><td class="mdescRight">The features this store implementation provides. <br /></td></tr>
-<tr class="separator:adf38388186505565b7ebb4f87a6f0124"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42ce844ff625bc9912a30d0fac3c5f45"><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a42ce844ff625bc9912a30d0fac3c5f45">score</a> )(const <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a6a2745145078cb237fb385a7ad4681af">uri_type</a> &amp;uri, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">handle_type::mode</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">handle_type::creation</a> <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a>)</td></tr>
<tr class="separator:a42ce844ff625bc9912a30d0fac3c5f45"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa52a30f6b8dafd8720fb6b19d7df3847"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html">basic_key_value_store</a> &gt;(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#aa52a30f6b8dafd8720fb6b19d7df3847">create</a> )(const <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a230f8e3e03df31d6647e4544853b1502">basic_key_value_store::uri_type</a> &amp;uri, <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a53700b762910c0189fd240e4bc51508a">size_type</a> key_size, <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#adf38388186505565b7ebb4f87a6f0124">features</a> _features, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> _creation, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching)</td></tr>
+<tr class="memitem:aa52a30f6b8dafd8720fb6b19d7df3847"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html">basic_key_value_store</a> &gt;(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#aa52a30f6b8dafd8720fb6b19d7df3847">create</a> )(const <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a230f8e3e03df31d6647e4544853b1502">basic_key_value_store::uri_type</a> &amp;uri, <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a53700b762910c0189fd240e4bc51508a">size_type</a> key_size, features _features, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> _creation, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching)</td></tr>
<tr class="separator:aa52a30f6b8dafd8720fb6b19d7df3847"><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>Information about an available key value store implementation. </p>
-</div><h2 class="groupheader">Member Enumeration Documentation</h2>
-<a id="af30d19036dae0956d02af0c1e867c54a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af30d19036dae0956d02af0c1e867c54a">&#9670;&nbsp;</a></span>bitfield__features</h2>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a71bf22a199b1f8461e9612269eb2cf29"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a71bf22a199b1f8461e9612269eb2cf29">&#9670;&nbsp;</a></span>QUICKCPPLIB_BITFIELD_BEGIN()</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="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54a">kvstore_v1_xxx::basic_key_value_store_info::bitfield__features</a> : unsigned</td>
+ <td class="memname">kvstore_v1_xxx::basic_key_value_store_info::QUICKCPPLIB_BITFIELD_BEGIN </td>
+ <td>(</td>
+ <td class="paramtype">features&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></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>Features requested, or provided by, this store. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="af30d19036dae0956d02af0c1e867c54aac4f803736fe62535f3ee849e0a17b6a2"></a>none&#160;</td><td class="fielddoc"><p>Bare key-value store. Very likely to choose a hardware implementation, if one is available. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="af30d19036dae0956d02af0c1e867c54aa6c63421d928a8176a0aa653bdc1b3e43"></a>shared_memory&#160;</td><td class="fielddoc"><p>Use a single shared memory region for storage. Note that keys and value sizes freeze after URI fetch. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="af30d19036dae0956d02af0c1e867c54aa498d5b94bbf58b2f19323f5357bbb6d9"></a>history&#160;</td><td class="fielddoc"><p>A certain amount of history of previous valid states of the store is kept such that a previously valid state can always be restored after sudden power loss. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="af30d19036dae0956d02af0c1e867c54aad69fc9d7488510795a13cc87a78eb6d7"></a>stable_values&#160;</td><td class="fielddoc"><p>Updates do not appear to modify any pinned value. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="af30d19036dae0956d02af0c1e867c54aa1d775e1c64c41a7b692458df6b7e7bb5"></a>stable_keys&#160;</td><td class="fielddoc"><p>Updates do not appear to remove any pinned keys. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="af30d19036dae0956d02af0c1e867c54aa78faae96b1cc136508508c90862459f0"></a>update_deltas&#160;</td><td class="fielddoc"><p>In-place partial updates are recorded as change deltas. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="af30d19036dae0956d02af0c1e867c54aa5a728b7bc78a19837107974cf95a4d72"></a>atomic_snapshots&#160;</td><td class="fielddoc"><p>The ability to pin the value of more than one key in an atomic snapshot. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="af30d19036dae0956d02af0c1e867c54aa28f74a66be96d3481e374af6b741172f"></a>atomic_transactions&#160;</td><td class="fielddoc"><p>The ability to update many items with dependencies on other items as a single, all-or-nothing, change. </p>
-</td></tr>
-</table>
-<div class="fragment"><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; {</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <a class="code" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aac4f803736fe62535f3ee849e0a17b6a2">none</a> = 1U &lt;&lt; 0U, <span class="comment">//!&lt; Bare key-value store. Very likely to choose a hardware implementation, if one is available.</span></div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;<span class="comment"></span> <a class="code" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa6c63421d928a8176a0aa653bdc1b3e43">shared_memory</a> = 1U &lt;&lt; 1U, <span class="comment">//!&lt; Use a single shared memory region for storage. Note that keys and value sizes freeze after URI fetch.</span></div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;<span class="comment"></span> <a class="code" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa498d5b94bbf58b2f19323f5357bbb6d9">history</a> = 1U &lt;&lt; 2U, <span class="comment">//!&lt; A certain amount of history of previous valid states of the store is kept such that a previously valid state can always be restored after sudden power loss.</span></div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;<span class="comment"></span> <a class="code" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aad69fc9d7488510795a13cc87a78eb6d7">stable_values</a> = 1U &lt;&lt; 3U, <span class="comment">//!&lt; Updates do not appear to modify any pinned value.</span></div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;<span class="comment"></span> <a class="code" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa1d775e1c64c41a7b692458df6b7e7bb5">stable_keys</a> = 1U &lt;&lt; 4U, <span class="comment">//!&lt; Updates do not appear to remove any pinned keys.</span></div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;<span class="comment"></span> <a class="code" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa78faae96b1cc136508508c90862459f0">update_deltas</a> = 1U &lt;&lt; 5U, <span class="comment">//!&lt; In-place partial updates are recorded as change deltas.</span></div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;<span class="comment"></span> <a class="code" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa5a728b7bc78a19837107974cf95a4d72">atomic_snapshots</a> = 1U &lt;&lt; 6U, <span class="comment">//!&lt; The ability to pin the value of more than one key in an atomic snapshot.</span></div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;<span class="comment"></span> <a class="code" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa28f74a66be96d3481e374af6b741172f">atomic_transactions</a> = 1U &lt;&lt; 7U <span class="comment">//!&lt; The ability to update many items with dependencies on other items as a single, all-or-nothing, change.</span></div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;<span class="comment"></span> }</div><div class="ttc" id="structkvstore__v1__xxx_1_1basic__key__value__store__info_html_af30d19036dae0956d02af0c1e867c54aa78faae96b1cc136508508c90862459f0"><div class="ttname"><a href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa78faae96b1cc136508508c90862459f0">kvstore_v1_xxx::basic_key_value_store_info::update_deltas</a></div><div class="ttdoc">In-place partial updates are recorded as change deltas. </div><div class="ttdef"><b>Definition:</b> kvstore.hpp:244</div></div>
-<div class="ttc" id="structkvstore__v1__xxx_1_1basic__key__value__store__info_html_af30d19036dae0956d02af0c1e867c54aa498d5b94bbf58b2f19323f5357bbb6d9"><div class="ttname"><a href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa498d5b94bbf58b2f19323f5357bbb6d9">kvstore_v1_xxx::basic_key_value_store_info::history</a></div><div class="ttdoc">A certain amount of history of previous valid states of the store is kept such that a previously vali...</div><div class="ttdef"><b>Definition:</b> kvstore.hpp:241</div></div>
-<div class="ttc" id="structkvstore__v1__xxx_1_1basic__key__value__store__info_html_af30d19036dae0956d02af0c1e867c54aad69fc9d7488510795a13cc87a78eb6d7"><div class="ttname"><a href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aad69fc9d7488510795a13cc87a78eb6d7">kvstore_v1_xxx::basic_key_value_store_info::stable_values</a></div><div class="ttdoc">Updates do not appear to modify any pinned value. </div><div class="ttdef"><b>Definition:</b> kvstore.hpp:242</div></div>
-<div class="ttc" id="structkvstore__v1__xxx_1_1basic__key__value__store__info_html_af30d19036dae0956d02af0c1e867c54aa28f74a66be96d3481e374af6b741172f"><div class="ttname"><a href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa28f74a66be96d3481e374af6b741172f">kvstore_v1_xxx::basic_key_value_store_info::atomic_transactions</a></div><div class="ttdoc">The ability to update many items with dependencies on other items as a single, all-or-nothing, change. </div><div class="ttdef"><b>Definition:</b> kvstore.hpp:246</div></div>
-<div class="ttc" id="structkvstore__v1__xxx_1_1basic__key__value__store__info_html_af30d19036dae0956d02af0c1e867c54aa6c63421d928a8176a0aa653bdc1b3e43"><div class="ttname"><a href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa6c63421d928a8176a0aa653bdc1b3e43">kvstore_v1_xxx::basic_key_value_store_info::shared_memory</a></div><div class="ttdoc">Use a single shared memory region for storage. Note that keys and value sizes freeze after URI fetch...</div><div class="ttdef"><b>Definition:</b> kvstore.hpp:240</div></div>
-<div class="ttc" id="structkvstore__v1__xxx_1_1basic__key__value__store__info_html_af30d19036dae0956d02af0c1e867c54aa1d775e1c64c41a7b692458df6b7e7bb5"><div class="ttname"><a href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa1d775e1c64c41a7b692458df6b7e7bb5">kvstore_v1_xxx::basic_key_value_store_info::stable_keys</a></div><div class="ttdoc">Updates do not appear to remove any pinned keys. </div><div class="ttdef"><b>Definition:</b> kvstore.hpp:243</div></div>
-<div class="ttc" id="structkvstore__v1__xxx_1_1basic__key__value__store__info_html_af30d19036dae0956d02af0c1e867c54aa5a728b7bc78a19837107974cf95a4d72"><div class="ttname"><a href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa5a728b7bc78a19837107974cf95a4d72">kvstore_v1_xxx::basic_key_value_store_info::atomic_snapshots</a></div><div class="ttdoc">The ability to pin the value of more than one key in an atomic snapshot. </div><div class="ttdef"><b>Definition:</b> kvstore.hpp:245</div></div>
-<div class="ttc" id="structkvstore__v1__xxx_1_1basic__key__value__store__info_html_af30d19036dae0956d02af0c1e867c54aac4f803736fe62535f3ee849e0a17b6a2"><div class="ttname"><a href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aac4f803736fe62535f3ee849e0a17b6a2">kvstore_v1_xxx::basic_key_value_store_info::none</a></div><div class="ttdoc">Bare key-value store. Very likely to choose a hardware implementation, if one is available. </div><div class="ttdef"><b>Definition:</b> kvstore.hpp:239</div></div>
-</div><!-- fragment -->
+<p>&lt; Bare key-value store. Very likely to choose a hardware implementation, if one is available.</p>
+<p>&lt; Use a single shared memory region for storage. Note that keys and value sizes freeze after URI fetch.</p>
+<p>&lt; A certain amount of history of previous valid states of the store is kept such that a previously valid state can always be restored after sudden power loss.</p>
+<p>&lt; Updates do not appear to modify any pinned value.</p>
+<p>&lt; Updates do not appear to remove any pinned keys.</p>
+<p>&lt; In-place partial updates are recorded as change deltas.</p>
+<p>&lt; The ability to pin the value of more than one key in an atomic snapshot.</p>
+<p>&lt; The ability to update many items with dependencies on other items as a single, all-or-nothing, change. </p>
+<div class="fragment"><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; {</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; none = 1U &lt;&lt; 0U, <span class="comment">//!&lt; Bare key-value store. Very likely to choose a hardware implementation, if one is available.</span></div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;<span class="comment"></span> shared_memory = 1U &lt;&lt; 1U, <span class="comment">//!&lt; Use a single shared memory region for storage. Note that keys and value sizes freeze after URI fetch.</span></div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;<span class="comment"></span> history = 1U &lt;&lt; 2U, <span class="comment">//!&lt; A certain amount of history of previous valid states of the store is kept such that a previously valid state can always be restored after sudden power loss.</span></div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;<span class="comment"></span> stable_values = 1U &lt;&lt; 3U, <span class="comment">//!&lt; Updates do not appear to modify any pinned value.</span></div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;<span class="comment"></span> stable_keys = 1U &lt;&lt; 4U, <span class="comment">//!&lt; Updates do not appear to remove any pinned keys.</span></div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;<span class="comment"></span> update_deltas = 1U &lt;&lt; 5U, <span class="comment">//!&lt; In-place partial updates are recorded as change deltas.</span></div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;<span class="comment"></span> atomic_snapshots = 1U &lt;&lt; 6U, <span class="comment">//!&lt; The ability to pin the value of more than one key in an atomic snapshot.</span></div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;<span class="comment"></span> atomic_transactions = 1U &lt;&lt; 7U <span class="comment">//!&lt; The ability to update many items with dependencies on other items as a single, all-or-nothing, change.</span></div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;<span class="comment"></span> }</div></div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
@@ -221,7 +208,7 @@ features&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">result&lt;<a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html">basic_key_value_store</a>&gt;(* kvstore_v1_xxx::basic_key_value_store_info::create) (const <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a230f8e3e03df31d6647e4544853b1502">basic_key_value_store::uri_type</a> &amp;uri, <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a53700b762910c0189fd240e4bc51508a">size_type</a> key_size, <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#adf38388186505565b7ebb4f87a6f0124">features</a> _features, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> _creation, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching)</td>
+ <td class="memname">result&lt;<a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html">basic_key_value_store</a>&gt;(* kvstore_v1_xxx::basic_key_value_store_info::create) (const <a class="el" href="classkvstore__v1__xxx_1_1basic__key__value__store.html#a230f8e3e03df31d6647e4544853b1502">basic_key_value_store::uri_type</a> &amp;uri, <a class="el" href="structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a53700b762910c0189fd240e4bc51508a">size_type</a> key_size, features _features, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> _creation, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching)</td>
</tr>
</table>
</div><div class="memdoc">
diff --git a/structkvstore__v1__xxx_1_1basic__key__value__store__info.js b/structkvstore__v1__xxx_1_1basic__key__value__store__info.js
index 006f4726..3dc7c610 100644
--- a/structkvstore__v1__xxx_1_1basic__key__value__store__info.js
+++ b/structkvstore__v1__xxx_1_1basic__key__value__store__info.js
@@ -7,18 +7,9 @@ var structkvstore__v1__xxx_1_1basic__key__value__store__info =
[ "mode", "structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a2c1743edd93e794407f21911c9f72483", null ],
[ "size_type", "structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a53700b762910c0189fd240e4bc51508a", null ],
[ "uri_type", "structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a6a2745145078cb237fb385a7ad4681af", null ],
- [ "bitfield__features", "structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54a", [
- [ "none", "structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aac4f803736fe62535f3ee849e0a17b6a2", null ],
- [ "shared_memory", "structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa6c63421d928a8176a0aa653bdc1b3e43", null ],
- [ "history", "structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa498d5b94bbf58b2f19323f5357bbb6d9", null ],
- [ "stable_values", "structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aad69fc9d7488510795a13cc87a78eb6d7", null ],
- [ "stable_keys", "structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa1d775e1c64c41a7b692458df6b7e7bb5", null ],
- [ "update_deltas", "structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa78faae96b1cc136508508c90862459f0", null ],
- [ "atomic_snapshots", "structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa5a728b7bc78a19837107974cf95a4d72", null ],
- [ "atomic_transactions", "structkvstore__v1__xxx_1_1basic__key__value__store__info.html#af30d19036dae0956d02af0c1e867c54aa28f74a66be96d3481e374af6b741172f", null ]
- ] ],
+ [ "QUICKCPPLIB_BITFIELD_BEGIN", "structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a71bf22a199b1f8461e9612269eb2cf29", null ],
+ [ "QUICKCPPLIB_BITFIELD_END", "structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a74806d5aad24bdf1607755aefd8d70b4", null ],
[ "create", "structkvstore__v1__xxx_1_1basic__key__value__store__info.html#aa52a30f6b8dafd8720fb6b19d7df3847", null ],
- [ "features", "structkvstore__v1__xxx_1_1basic__key__value__store__info.html#adf38388186505565b7ebb4f87a6f0124", null ],
[ "max_key_size", "structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a55c5a2ab7632d6d6364ecabb96e97bee", null ],
[ "max_value_size", "structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a860380a3823942caabac91e2d819b781", null ],
[ "min_key_size", "structkvstore__v1__xxx_1_1basic__key__value__store__info.html#a3a48e754b1f0ccb700a1d17663f0bbb4", null ],
diff --git a/structllfio__v2__xxx_1_1io__handle_1_1io__result.html b/structllfio__v2__xxx_1_1io__handle_1_1io__result.html
index 0436a50c..2743b1e2 100644
--- a/structllfio__v2__xxx_1_1io__handle_1_1io__result.html
+++ b/structllfio__v2__xxx_1_1io__handle_1_1io__result.html
@@ -90,7 +90,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__handle_1_1
</div><!--header-->
<div class="contents">
-<p>The i/o result type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction..
+<p>The i/o result type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction.
<a href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html#details">More...</a></p>
<p><code>#include &quot;io_handle.hpp&quot;</code></p>
@@ -138,7 +138,7 @@ Public Attributes</h2></td></tr>
<div class="textblock"><h3>template&lt;class T&gt;<br />
struct llfio_v2_xxx::io_handle::io_result&lt; T &gt;</h3>
-<p>The i/o result type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction.. </p>
+<p>The i/o result type used by this handle. Guaranteed to be <code>TrivialType</code> apart from construction. </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>include/llfio/v2.0/<a class="el" href="io__handle_8hpp.html">io_handle.hpp</a></li>
</ul>
diff --git a/structllfio__v2__xxx_1_1native__handle__type-members.html b/structllfio__v2__xxx_1_1native__handle__type-members.html
index 38862d0f..af0dd48b 100644
--- a/structllfio__v2__xxx_1_1native__handle__type-members.html
+++ b/structllfio__v2__xxx_1_1native__handle__type-members.html
@@ -87,17 +87,9 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1native__handle
<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a>, including all inherited members.</p>
<table class="directory">
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_child_close_executed</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>_init</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7aa965d460f7cbe6c30dfce6432bb1c41d">aligned_io</a> enum value</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a9256691cdd6fc5afaa7cd96091781ced">append_only</a> enum value</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>behaviour</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7">bitfield__disposition</a> enum name</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a8d7b31aed417b5d7274a817b8d7d0fab">directory</a> enum value</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_init</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a6d63f413705982a84f4140640e4340af">fd</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a3a4b67c0b2579480cb8d56466cd9bf88">file</a> enum value</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#afbc6866f3f80808fbe3ca903d15b5481">h</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a03c22e007aed8c42eaee4dc2a6f639e3">invalid</a> enum value</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#afbc6866f3f80808fbe3ca903d15b5481">h</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a38054fed025ad3deec2b5a5494e7e57d">is_append_only</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af4d88dcf57bbfcc2f5c30210225c5fbd">is_directory</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aa9773fae5d91f769e281cc05df1f0e6c">is_multiplexer</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
@@ -110,26 +102,20 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1native__handle
<tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ad6992242c9715661a4b737a21e860f32">is_symlink</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aa179d5ae7c29ddec6b3d043d83c48444">is_valid</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a5a1c5bb213a216200958daff3d4dc078">is_writable</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a3cea1a678741f4ce20e57164946b5fc1">multiplexer</a> enum value</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9eb6d201364aae2e933da37caa4c1dd">native_handle_type</a>()</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aa014dc4620266c5e79ff574eab95559c">native_handle_type</a>(disposition _behaviour, int _fd) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a3c7ef470ac1baa0af9100aae36b87524">native_handle_type</a>(disposition _behaviour, win::handle _h) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ac0d26bcb12d0f9baa757ee44df1ffbf9">native_handle_type</a>(const native_handle_type &amp;)=default</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ae3f07d9d74e09d71d31abdc91e18e64d">native_handle_type</a>(native_handle_type &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ab66e790c05ddebea23b80c86dae4fbe3">operator bool</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af51f8cd2e901aa8fc6862eb85e66b20c">operator!</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a0c8c18825ea9b3c448a4f4c708047b29">operator=</a>(const native_handle_type &amp;)=default</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ac0c95863560b730e724ca0f158564415">operator=</a>(native_handle_type &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a8ce64daff425ed6534f1683b1d0dc066">overlapped</a> enum value</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9eb6d201364aae2e933da37caa4c1dd">native_handle_type</a>()</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aa014dc4620266c5e79ff574eab95559c">native_handle_type</a>(disposition _behaviour, int _fd) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a3c7ef470ac1baa0af9100aae36b87524">native_handle_type</a>(disposition _behaviour, win::handle _h) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ac0d26bcb12d0f9baa757ee44df1ffbf9">native_handle_type</a>(const native_handle_type &amp;)=default</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ae3f07d9d74e09d71d31abdc91e18e64d">native_handle_type</a>(native_handle_type &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ab66e790c05ddebea23b80c86dae4fbe3">operator bool</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af51f8cd2e901aa8fc6862eb85e66b20c">operator!</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a0c8c18825ea9b3c448a4f4c708047b29">operator=</a>(const native_handle_type &amp;)=default</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#ac0c95863560b730e724ca0f158564415">operator=</a>(native_handle_type &amp;&amp;o) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a8a38d56b1a9a3ee70799df3dac04edfc">pid</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a7f4cc916f7b5827f7528027964445d21">process</a> enum value</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a2bf351d9ef739909485db2d6e0d55a00">readable</a> enum value</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aab66573d64b32857ecc113b87dd56489">QUICKCPPLIB_BITFIELD_BEGIN</a>(disposition)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>QUICKCPPLIB_BITFIELD_END</b>(disposition) disposition behaviour (defined in <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#a45431e8a673c8a7d204136cd2ae612ed">requires_aligned_io</a>() const noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a5d4474f0197e13f3205443ad91de390e">section</a> enum value</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7aff1dd4bc49b07187a9b147a14f9102b6">seekable</a> enum value</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#abc96c9f96b0bf877af2cd9092bd3255e">swap</a>(native_handle_type &amp;o) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a4afae65da7b66f75e6e82b470d298fb5">symlink</a> enum value</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7ab0fb91cab5d26713f14fe767166e6ec6">writable</a> enum value</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>~native_handle_type</b>()=default (defined in <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">llfio_v2_xxx::native_handle_type</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
diff --git a/structllfio__v2__xxx_1_1native__handle__type.html b/structllfio__v2__xxx_1_1native__handle__type.html
index 0ec3c350..08262aa2 100644
--- a/structllfio__v2__xxx_1_1native__handle__type.html
+++ b/structllfio__v2__xxx_1_1native__handle__type.html
@@ -81,7 +81,6 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1native__handle
<div class="header">
<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="structllfio__v2__xxx_1_1native__handle__type-members.html">List of all members</a> </div>
@@ -95,33 +94,14 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1native__handle
<p><code>#include &quot;native_handle_type.hpp&quot;</code></p>
<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:af9532a4123ade5a0c4ff8df3de2170f7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7">bitfield__disposition</a> : unsigned { <br />
-&#160;&#160;<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a03c22e007aed8c42eaee4dc2a6f639e3">invalid</a> = 0U,
-<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a2bf351d9ef739909485db2d6e0d55a00">readable</a> = 1U &lt;&lt; 0U,
-<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7ab0fb91cab5d26713f14fe767166e6ec6">writable</a> = 1U &lt;&lt; 1U,
-<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a9256691cdd6fc5afaa7cd96091781ced">append_only</a> = 1U &lt;&lt; 2U,
-<br />
-&#160;&#160;<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a8ce64daff425ed6534f1683b1d0dc066">overlapped</a> = 1U &lt;&lt; 4U,
-<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7aff1dd4bc49b07187a9b147a14f9102b6">seekable</a> = 1U &lt;&lt; 5U,
-<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7aa965d460f7cbe6c30dfce6432bb1c41d">aligned_io</a> = 1U &lt;&lt; 6U,
-<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a3a4b67c0b2579480cb8d56466cd9bf88">file</a> = 1U &lt;&lt; 8U,
-<br />
-&#160;&#160;<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a8d7b31aed417b5d7274a817b8d7d0fab">directory</a> = 1U &lt;&lt; 9U,
-<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a4afae65da7b66f75e6e82b470d298fb5">symlink</a> = 1U &lt;&lt; 10U,
-<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a3cea1a678741f4ce20e57164946b5fc1">multiplexer</a> = 1U &lt;&lt; 11U,
-<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a7f4cc916f7b5827f7528027964445d21">process</a> = 1U &lt;&lt; 12U,
-<br />
-&#160;&#160;<a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a5d4474f0197e13f3205443ad91de390e">section</a> = 1U &lt;&lt; 13U,
-<b>_child_close_executed</b> = 1U &lt;&lt; 28U
-<br />
- }<tr class="memdesc:af9532a4123ade5a0c4ff8df3de2170f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">The type of handle. <a href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7">More...</a><br /></td></tr>
-</td></tr>
-<tr class="separator:af9532a4123ade5a0c4ff8df3de2170f7"><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>
+<tr class="memitem:aab66573d64b32857ecc113b87dd56489"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#aab66573d64b32857ecc113b87dd56489">QUICKCPPLIB_BITFIELD_BEGIN</a> (disposition)</td></tr>
+<tr class="memdesc:aab66573d64b32857ecc113b87dd56489"><td class="mdescLeft">&#160;</td><td class="mdescRight">The type of handle. <a href="#aab66573d64b32857ecc113b87dd56489">More...</a><br /></td></tr>
+<tr class="separator:aab66573d64b32857ecc113b87dd56489"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2329417e016cd5ccd01794937c4eec3b"><td class="memItemLeft" align="right" valign="top"><a id="a2329417e016cd5ccd01794937c4eec3b"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>QUICKCPPLIB_BITFIELD_END</b> (disposition) disposition behaviour</td></tr>
+<tr class="separator:a2329417e016cd5ccd01794937c4eec3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9eb6d201364aae2e933da37caa4c1dd"><td class="memItemLeft" align="right" valign="top"><a id="af9eb6d201364aae2e933da37caa4c1dd"></a>
constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html#af9eb6d201364aae2e933da37caa4c1dd">native_handle_type</a> ()</td></tr>
<tr class="memdesc:af9eb6d201364aae2e933da37caa4c1dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a default instance. <br /></td></tr>
@@ -217,9 +197,6 @@ constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el"
</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:a967ace482f3fe7fd3c6e24bffee25888"><td class="memItemLeft" align="right" valign="top"><a id="a967ace482f3fe7fd3c6e24bffee25888"></a>
-disposition&#160;</td><td class="memItemRight" valign="bottom"><b>behaviour</b></td></tr>
-<tr class="separator:a967ace482f3fe7fd3c6e24bffee25888"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a532ebde342768f6d77304e8e7846832a"><td class="memItemLeft" ><a id="a532ebde342768f6d77304e8e7846832a"></a>
union {</td></tr>
<tr class="memitem:a1f728845b9e31fbda2ba6d0dd4aa7e30"><td class="memItemLeft" >
@@ -243,61 +220,48 @@ union {</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A native handle type used for wrapping file descriptors, process ids or HANDLEs. Unmanaged, wrap in a handle object to manage. </p>
-</div><h2 class="groupheader">Member Enumeration Documentation</h2>
-<a id="af9532a4123ade5a0c4ff8df3de2170f7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af9532a4123ade5a0c4ff8df3de2170f7">&#9670;&nbsp;</a></span>bitfield__disposition</h2>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="aab66573d64b32857ecc113b87dd56489"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aab66573d64b32857ecc113b87dd56489">&#9670;&nbsp;</a></span>QUICKCPPLIB_BITFIELD_BEGIN()</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="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7">llfio_v2_xxx::native_handle_type::bitfield__disposition</a> : unsigned</td>
+ <td class="memname">llfio_v2_xxx::native_handle_type::QUICKCPPLIB_BITFIELD_BEGIN </td>
+ <td>(</td>
+ <td class="paramtype">disposition&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></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>The type of handle. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="af9532a4123ade5a0c4ff8df3de2170f7a03c22e007aed8c42eaee4dc2a6f639e3"></a>invalid&#160;</td><td class="fielddoc"><p>Invalid handle. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="af9532a4123ade5a0c4ff8df3de2170f7a2bf351d9ef739909485db2d6e0d55a00"></a>readable&#160;</td><td class="fielddoc"><p>Is readable. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="af9532a4123ade5a0c4ff8df3de2170f7ab0fb91cab5d26713f14fe767166e6ec6"></a>writable&#160;</td><td class="fielddoc"><p>Is writable. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="af9532a4123ade5a0c4ff8df3de2170f7a9256691cdd6fc5afaa7cd96091781ced"></a>append_only&#160;</td><td class="fielddoc"><p>Is append only. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="af9532a4123ade5a0c4ff8df3de2170f7a8ce64daff425ed6534f1683b1d0dc066"></a>overlapped&#160;</td><td class="fielddoc"><p>Requires additional synchronisation. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="af9532a4123ade5a0c4ff8df3de2170f7aff1dd4bc49b07187a9b147a14f9102b6"></a>seekable&#160;</td><td class="fielddoc"><p>Is seekable. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="af9532a4123ade5a0c4ff8df3de2170f7aa965d460f7cbe6c30dfce6432bb1c41d"></a>aligned_io&#160;</td><td class="fielddoc"><p>Requires sector aligned i/o (typically 512 or 4096) </p>
-</td></tr>
-<tr><td class="fieldname"><a id="af9532a4123ade5a0c4ff8df3de2170f7a3a4b67c0b2579480cb8d56466cd9bf88"></a>file&#160;</td><td class="fielddoc"><p>Is a regular file. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="af9532a4123ade5a0c4ff8df3de2170f7a8d7b31aed417b5d7274a817b8d7d0fab"></a>directory&#160;</td><td class="fielddoc"><p>Is a directory. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="af9532a4123ade5a0c4ff8df3de2170f7a4afae65da7b66f75e6e82b470d298fb5"></a>symlink&#160;</td><td class="fielddoc"><p>Is a symlink. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="af9532a4123ade5a0c4ff8df3de2170f7a3cea1a678741f4ce20e57164946b5fc1"></a>multiplexer&#160;</td><td class="fielddoc"><p>Is a kqueue/epoll/iocp. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="af9532a4123ade5a0c4ff8df3de2170f7a7f4cc916f7b5827f7528027964445d21"></a>process&#160;</td><td class="fielddoc"><p>Is a child process. </p>
-</td></tr>
-<tr><td class="fieldname"><a id="af9532a4123ade5a0c4ff8df3de2170f7a5d4474f0197e13f3205443ad91de390e"></a>section&#160;</td><td class="fielddoc"><p>Is a memory section. </p>
-</td></tr>
-</table>
-<div class="fragment"><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; {</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a03c22e007aed8c42eaee4dc2a6f639e3">invalid</a> = 0U, <span class="comment">//!&lt; Invalid handle</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a2bf351d9ef739909485db2d6e0d55a00">readable</a> = 1U &lt;&lt; 0U, <span class="comment">//!&lt; Is readable</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="comment"></span> <a class="code" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7ab0fb91cab5d26713f14fe767166e6ec6">writable</a> = 1U &lt;&lt; 1U, <span class="comment">//!&lt; Is writable</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="comment"></span> <a class="code" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a9256691cdd6fc5afaa7cd96091781ced">append_only</a> = 1U &lt;&lt; 2U, <span class="comment">//!&lt; Is append only</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a8ce64daff425ed6534f1683b1d0dc066">overlapped</a> = 1U &lt;&lt; 4U, <span class="comment">//!&lt; Requires additional synchronisation</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="comment"></span> <a class="code" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7aff1dd4bc49b07187a9b147a14f9102b6">seekable</a> = 1U &lt;&lt; 5U, <span class="comment">//!&lt; Is seekable</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="comment"></span> <a class="code" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7aa965d460f7cbe6c30dfce6432bb1c41d">aligned_io</a> = 1U &lt;&lt; 6U, <span class="comment">//!&lt; Requires sector aligned i/o (typically 512 or 4096)</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a3a4b67c0b2579480cb8d56466cd9bf88">file</a> = 1U &lt;&lt; 8U, <span class="comment">//!&lt; Is a regular file</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment"></span> <a class="code" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a8d7b31aed417b5d7274a817b8d7d0fab">directory</a> = 1U &lt;&lt; 9U, <span class="comment">//!&lt; Is a directory</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"></span> <a class="code" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a4afae65da7b66f75e6e82b470d298fb5">symlink</a> = 1U &lt;&lt; 10U, <span class="comment">//!&lt; Is a symlink</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"></span> <a class="code" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a3cea1a678741f4ce20e57164946b5fc1">multiplexer</a> = 1U &lt;&lt; 11U, <span class="comment">//!&lt; Is a kqueue/epoll/iocp</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"></span> <a class="code" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a7f4cc916f7b5827f7528027964445d21">process</a> = 1U &lt;&lt; 12U, <span class="comment">//!&lt; Is a child process</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment"></span> <a class="code" href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a5d4474f0197e13f3205443ad91de390e">section</a> = 1U &lt;&lt; 13U, <span class="comment">//!&lt; Is a memory section</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; _child_close_executed = 1U &lt;&lt; 28U <span class="comment">// used to trap when vptr has become corrupted</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; }</div><div class="ttc" id="structllfio__v2__xxx_1_1native__handle__type_html_af9532a4123ade5a0c4ff8df3de2170f7a8ce64daff425ed6534f1683b1d0dc066"><div class="ttname"><a href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a8ce64daff425ed6534f1683b1d0dc066">llfio_v2_xxx::native_handle_type::overlapped</a></div><div class="ttdoc">Requires additional synchronisation. </div><div class="ttdef"><b>Definition:</b> native_handle_type.hpp:52</div></div>
-<div class="ttc" id="structllfio__v2__xxx_1_1native__handle__type_html_af9532a4123ade5a0c4ff8df3de2170f7a03c22e007aed8c42eaee4dc2a6f639e3"><div class="ttname"><a href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a03c22e007aed8c42eaee4dc2a6f639e3">llfio_v2_xxx::native_handle_type::invalid</a></div><div class="ttdoc">Invalid handle. </div><div class="ttdef"><b>Definition:</b> native_handle_type.hpp:46</div></div>
-<div class="ttc" id="structllfio__v2__xxx_1_1native__handle__type_html_af9532a4123ade5a0c4ff8df3de2170f7a4afae65da7b66f75e6e82b470d298fb5"><div class="ttname"><a href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a4afae65da7b66f75e6e82b470d298fb5">llfio_v2_xxx::native_handle_type::symlink</a></div><div class="ttdoc">Is a symlink. </div><div class="ttdef"><b>Definition:</b> native_handle_type.hpp:58</div></div>
-<div class="ttc" id="structllfio__v2__xxx_1_1native__handle__type_html_af9532a4123ade5a0c4ff8df3de2170f7a7f4cc916f7b5827f7528027964445d21"><div class="ttname"><a href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a7f4cc916f7b5827f7528027964445d21">llfio_v2_xxx::native_handle_type::process</a></div><div class="ttdoc">Is a child process. </div><div class="ttdef"><b>Definition:</b> native_handle_type.hpp:60</div></div>
-<div class="ttc" id="structllfio__v2__xxx_1_1native__handle__type_html_af9532a4123ade5a0c4ff8df3de2170f7a3a4b67c0b2579480cb8d56466cd9bf88"><div class="ttname"><a href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a3a4b67c0b2579480cb8d56466cd9bf88">llfio_v2_xxx::native_handle_type::file</a></div><div class="ttdoc">Is a regular file. </div><div class="ttdef"><b>Definition:</b> native_handle_type.hpp:56</div></div>
-<div class="ttc" id="structllfio__v2__xxx_1_1native__handle__type_html_af9532a4123ade5a0c4ff8df3de2170f7a9256691cdd6fc5afaa7cd96091781ced"><div class="ttname"><a href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a9256691cdd6fc5afaa7cd96091781ced">llfio_v2_xxx::native_handle_type::append_only</a></div><div class="ttdoc">Is append only. </div><div class="ttdef"><b>Definition:</b> native_handle_type.hpp:50</div></div>
-<div class="ttc" id="structllfio__v2__xxx_1_1native__handle__type_html_af9532a4123ade5a0c4ff8df3de2170f7a5d4474f0197e13f3205443ad91de390e"><div class="ttname"><a href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a5d4474f0197e13f3205443ad91de390e">llfio_v2_xxx::native_handle_type::section</a></div><div class="ttdoc">Is a memory section. </div><div class="ttdef"><b>Definition:</b> native_handle_type.hpp:61</div></div>
-<div class="ttc" id="structllfio__v2__xxx_1_1native__handle__type_html_af9532a4123ade5a0c4ff8df3de2170f7a3cea1a678741f4ce20e57164946b5fc1"><div class="ttname"><a href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a3cea1a678741f4ce20e57164946b5fc1">llfio_v2_xxx::native_handle_type::multiplexer</a></div><div class="ttdoc">Is a kqueue/epoll/iocp. </div><div class="ttdef"><b>Definition:</b> native_handle_type.hpp:59</div></div>
-<div class="ttc" id="structllfio__v2__xxx_1_1native__handle__type_html_af9532a4123ade5a0c4ff8df3de2170f7aff1dd4bc49b07187a9b147a14f9102b6"><div class="ttname"><a href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7aff1dd4bc49b07187a9b147a14f9102b6">llfio_v2_xxx::native_handle_type::seekable</a></div><div class="ttdoc">Is seekable. </div><div class="ttdef"><b>Definition:</b> native_handle_type.hpp:53</div></div>
-<div class="ttc" id="structllfio__v2__xxx_1_1native__handle__type_html_af9532a4123ade5a0c4ff8df3de2170f7ab0fb91cab5d26713f14fe767166e6ec6"><div class="ttname"><a href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7ab0fb91cab5d26713f14fe767166e6ec6">llfio_v2_xxx::native_handle_type::writable</a></div><div class="ttdoc">Is writable. </div><div class="ttdef"><b>Definition:</b> native_handle_type.hpp:49</div></div>
-<div class="ttc" id="structllfio__v2__xxx_1_1native__handle__type_html_af9532a4123ade5a0c4ff8df3de2170f7a8d7b31aed417b5d7274a817b8d7d0fab"><div class="ttname"><a href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a8d7b31aed417b5d7274a817b8d7d0fab">llfio_v2_xxx::native_handle_type::directory</a></div><div class="ttdoc">Is a directory. </div><div class="ttdef"><b>Definition:</b> native_handle_type.hpp:57</div></div>
-<div class="ttc" id="structllfio__v2__xxx_1_1native__handle__type_html_af9532a4123ade5a0c4ff8df3de2170f7aa965d460f7cbe6c30dfce6432bb1c41d"><div class="ttname"><a href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7aa965d460f7cbe6c30dfce6432bb1c41d">llfio_v2_xxx::native_handle_type::aligned_io</a></div><div class="ttdoc">Requires sector aligned i/o (typically 512 or 4096) </div><div class="ttdef"><b>Definition:</b> native_handle_type.hpp:54</div></div>
-<div class="ttc" id="structllfio__v2__xxx_1_1native__handle__type_html_af9532a4123ade5a0c4ff8df3de2170f7a2bf351d9ef739909485db2d6e0d55a00"><div class="ttname"><a href="structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a2bf351d9ef739909485db2d6e0d55a00">llfio_v2_xxx::native_handle_type::readable</a></div><div class="ttdoc">Is readable. </div><div class="ttdef"><b>Definition:</b> native_handle_type.hpp:48</div></div>
+<p>&lt; Invalid handle</p>
+<p>&lt; Is readable</p>
+<p>&lt; Is writable</p>
+<p>&lt; Is append only</p>
+<p>&lt; Requires additional synchronisation</p>
+<p>&lt; Is seekable</p>
+<p>&lt; Requires sector aligned i/o (typically 512 or 4096)</p>
+<p>&lt; Is a regular file</p>
+<p>&lt; Is a directory</p>
+<p>&lt; Is a symlink</p>
+<p>&lt; Is a kqueue/epoll/iocp</p>
+<p>&lt; Is a child process</p>
+<p>&lt; Is a memory section </p>
+<div class="fragment"><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; {</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; invalid = 0U, <span class="comment">//!&lt; Invalid handle</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; readable = 1U &lt;&lt; 0U, <span class="comment">//!&lt; Is readable</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="comment"></span> writable = 1U &lt;&lt; 1U, <span class="comment">//!&lt; Is writable</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="comment"></span> append_only = 1U &lt;&lt; 2U, <span class="comment">//!&lt; Is append only</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; overlapped = 1U &lt;&lt; 4U, <span class="comment">//!&lt; Requires additional synchronisation</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="comment"></span> seekable = 1U &lt;&lt; 5U, <span class="comment">//!&lt; Is seekable</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="comment"></span> aligned_io = 1U &lt;&lt; 6U, <span class="comment">//!&lt; Requires sector aligned i/o (typically 512 or 4096)</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d">file</a> = 1U &lt;&lt; 8U, <span class="comment">//!&lt; Is a regular file</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#a3d112d170c1d485e1120de06eef02375">directory</a> = 1U &lt;&lt; 9U, <span class="comment">//!&lt; Is a directory</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"></span> symlink = 1U &lt;&lt; 10U, <span class="comment">//!&lt; Is a symlink</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"></span> multiplexer = 1U &lt;&lt; 11U, <span class="comment">//!&lt; Is a kqueue/epoll/iocp</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"></span> process = 1U &lt;&lt; 12U, <span class="comment">//!&lt; Is a child process</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment"></span> <a class="code" href="namespacellfio__v2__xxx.html#ac9be77116e7a2d8c029dd066dfa363fb">section</a> = 1U &lt;&lt; 13U, <span class="comment">//!&lt; Is a memory section</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; _child_close_executed = 1U &lt;&lt; 28U <span class="comment">// used to trap when vptr has become corrupted</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; }</div><div class="ttc" id="namespacellfio__v2__xxx_html_a3d112d170c1d485e1120de06eef02375"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a3d112d170c1d485e1120de06eef02375">llfio_v2_xxx::directory</a></div><div class="ttdeci">result&lt; directory_handle &gt; directory(const path_handle &amp;base, directory_handle::path_view_type path, directory_handle::mode _mode=directory_handle::mode::read, directory_handle::creation _creation=directory_handle::creation::open_existing, directory_handle::caching _caching=directory_handle::caching::all, directory_handle::flag flags=directory_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> directory_handle.hpp:347</div></div>
+<div class="ttc" id="namespacellfio__v2__xxx_html_af31a062639499a79ef5cc8aed16ba65d"><div class="ttname"><a href="namespacellfio__v2__xxx.html#af31a062639499a79ef5cc8aed16ba65d">llfio_v2_xxx::file</a></div><div class="ttdeci">result&lt; file_handle &gt; file(const path_handle &amp;base, file_handle::path_view_type path, file_handle::mode _mode=file_handle::mode::read, file_handle::creation _creation=file_handle::creation::open_existing, file_handle::caching _caching=file_handle::caching::all, file_handle::flag flags=file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> file_handle.hpp:335</div></div>
+<div class="ttc" id="namespacellfio__v2__xxx_html_ac9be77116e7a2d8c029dd066dfa363fb"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ac9be77116e7a2d8c029dd066dfa363fb">llfio_v2_xxx::section</a></div><div class="ttdeci">result&lt; section_handle &gt; section(file_handle &amp;backing, section_handle::extent_type maximum_size, section_handle::flag _flag) noexcept</div><div class="ttdoc">Create a memory section backed by a file. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:680</div></div>
</div><!-- fragment -->
</div>
</div>
diff --git a/structllfio__v2__xxx_1_1native__handle__type.js b/structllfio__v2__xxx_1_1native__handle__type.js
index 526b22ee..16fefd5b 100644
--- a/structllfio__v2__xxx_1_1native__handle__type.js
+++ b/structllfio__v2__xxx_1_1native__handle__type.js
@@ -1,21 +1,5 @@
var structllfio__v2__xxx_1_1native__handle__type =
[
- [ "bitfield__disposition", "structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7", [
- [ "invalid", "structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a03c22e007aed8c42eaee4dc2a6f639e3", null ],
- [ "readable", "structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a2bf351d9ef739909485db2d6e0d55a00", null ],
- [ "writable", "structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7ab0fb91cab5d26713f14fe767166e6ec6", null ],
- [ "append_only", "structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a9256691cdd6fc5afaa7cd96091781ced", null ],
- [ "overlapped", "structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a8ce64daff425ed6534f1683b1d0dc066", null ],
- [ "seekable", "structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7aff1dd4bc49b07187a9b147a14f9102b6", null ],
- [ "aligned_io", "structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7aa965d460f7cbe6c30dfce6432bb1c41d", null ],
- [ "file", "structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a3a4b67c0b2579480cb8d56466cd9bf88", null ],
- [ "directory", "structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a8d7b31aed417b5d7274a817b8d7d0fab", null ],
- [ "symlink", "structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a4afae65da7b66f75e6e82b470d298fb5", null ],
- [ "multiplexer", "structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a3cea1a678741f4ce20e57164946b5fc1", null ],
- [ "process", "structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a7f4cc916f7b5827f7528027964445d21", null ],
- [ "section", "structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a5d4474f0197e13f3205443ad91de390e", null ],
- [ "_child_close_executed", "structllfio__v2__xxx_1_1native__handle__type.html#af9532a4123ade5a0c4ff8df3de2170f7a4caa9f58b8c6de7934f0fad06ca2e1a1", null ]
- ] ],
[ "native_handle_type", "structllfio__v2__xxx_1_1native__handle__type.html#af9eb6d201364aae2e933da37caa4c1dd", null ],
[ "~native_handle_type", "structllfio__v2__xxx_1_1native__handle__type.html#aa9e3ba4e787524be1a1715f75586d5fe", null ],
[ "native_handle_type", "structllfio__v2__xxx_1_1native__handle__type.html#aa014dc4620266c5e79ff574eab95559c", null ],
@@ -38,10 +22,11 @@ var structllfio__v2__xxx_1_1native__handle__type =
[ "operator!", "structllfio__v2__xxx_1_1native__handle__type.html#af51f8cd2e901aa8fc6862eb85e66b20c", null ],
[ "operator=", "structllfio__v2__xxx_1_1native__handle__type.html#a0c8c18825ea9b3c448a4f4c708047b29", null ],
[ "operator=", "structllfio__v2__xxx_1_1native__handle__type.html#ac0c95863560b730e724ca0f158564415", null ],
+ [ "QUICKCPPLIB_BITFIELD_BEGIN", "structllfio__v2__xxx_1_1native__handle__type.html#aab66573d64b32857ecc113b87dd56489", null ],
+ [ "QUICKCPPLIB_BITFIELD_END", "structllfio__v2__xxx_1_1native__handle__type.html#a2329417e016cd5ccd01794937c4eec3b", null ],
[ "requires_aligned_io", "structllfio__v2__xxx_1_1native__handle__type.html#a45431e8a673c8a7d204136cd2ae612ed", null ],
[ "swap", "structllfio__v2__xxx_1_1native__handle__type.html#abc96c9f96b0bf877af2cd9092bd3255e", null ],
[ "_init", "structllfio__v2__xxx_1_1native__handle__type.html#a4b4b6662c7efc8b95937a60cf6285d3a", null ],
- [ "behaviour", "structllfio__v2__xxx_1_1native__handle__type.html#a967ace482f3fe7fd3c6e24bffee25888", null ],
[ "fd", "structllfio__v2__xxx_1_1native__handle__type.html#a6d63f413705982a84f4140640e4340af", null ],
[ "h", "structllfio__v2__xxx_1_1native__handle__type.html#afbc6866f3f80808fbe3ca903d15b5481", null ],
[ "pid", "structllfio__v2__xxx_1_1native__handle__type.html#a8a38d56b1a9a3ee70799df3dac04edfc", null ]
diff --git a/structllfio__v2__xxx_1_1stat__t-members.html b/structllfio__v2__xxx_1_1stat__t-members.html
index 75f18555..8017d1c6 100644
--- a/structllfio__v2__xxx_1_1stat__t-members.html
+++ b/structllfio__v2__xxx_1_1stat__t-members.html
@@ -87,29 +87,9 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1stat__t.html',
<p>This is the complete list of members for <a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a>, including all inherited members.</p>
<table class="directory">
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>all</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>allocated</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>atim</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>birthtim</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279">bitfield__want</a> enum name</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>blksize</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>blocks</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>compressed</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ctim</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>dev</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#aa08a4b9530403b4689498706b0738db4">fill</a>(const handle &amp;h, want wanted=want::all) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>flags</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>gen</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>gid</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ino</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>mtim</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>nlink</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>none</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>perms</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>rdev</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reparse_point</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>size</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>sparse</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a7c281295d6ae22631336206446f37581">QUICKCPPLIB_BITFIELD_BEGIN</a>(want)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a8fc0ebfd31e3e3c5fe561f61fb86a6b7">QUICKCPPLIB_BITFIELD_END</a>(want) stat_t()</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a57ae0ee58e01481b7879596f319b9e1d">st_allocated</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a3e33b115cae22ba75360660274f660b9">st_atim</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a7175e9ba3f0dae6ae87fb3001ca47e61">st_birthtim</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
@@ -132,10 +112,7 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1stat__t.html',
<tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a407dbe624125b5d0d40ebfe647d41214">st_type</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#ad42affc84324ad00a39379ab3d9a428b">st_uid</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a4ca693399bffd1b5004d31897e5b72e7">stamp</a>(handle &amp;h, want wanted=want::all) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a7370e218d82985d4476643672f37993b">stat_t</a>()</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#aef93718067115fcb4c596f4c8fe4cc2f">stat_t</a>(std::nullptr_t) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>type</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>uid</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#aef93718067115fcb4c596f4c8fe4cc2f">stat_t</a>(std::nullptr_t) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html">llfio_v2_xxx::stat_t</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
diff --git a/structllfio__v2__xxx_1_1stat__t.html b/structllfio__v2__xxx_1_1stat__t.html
index c96708a4..67893646 100644
--- a/structllfio__v2__xxx_1_1stat__t.html
+++ b/structllfio__v2__xxx_1_1stat__t.html
@@ -81,7 +81,6 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1stat__t.html',
<div class="header">
<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="structllfio__v2__xxx_1_1stat__t-members.html">List of all members</a> </div>
@@ -95,48 +94,16 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1stat__t.html',
<p><code>#include &quot;stat.hpp&quot;</code></p>
<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:acff996a1858563643390725d298a9279"><td class="memItemLeft" align="right" valign="top"><a id="acff996a1858563643390725d298a9279"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279">bitfield__want</a> : unsigned { <br />
-&#160;&#160;<b>dev</b> = 1 &lt;&lt; 0,
-<b>ino</b> = 1 &lt;&lt; 1,
-<b>type</b> = 1 &lt;&lt; 2,
-<b>perms</b> = 1 &lt;&lt; 3,
-<br />
-&#160;&#160;<b>nlink</b> = 1 &lt;&lt; 4,
-<b>uid</b> = 1 &lt;&lt; 5,
-<b>gid</b> = 1 &lt;&lt; 6,
-<b>rdev</b> = 1 &lt;&lt; 7,
-<br />
-&#160;&#160;<b>atim</b> = 1 &lt;&lt; 8,
-<b>mtim</b> = 1 &lt;&lt; 9,
-<b>ctim</b> = 1 &lt;&lt; 10,
-<b>size</b> = 1 &lt;&lt; 11,
-<br />
-&#160;&#160;<b>allocated</b> = 1 &lt;&lt; 12,
-<b>blocks</b> = 1 &lt;&lt; 13,
-<b>blksize</b> = 1 &lt;&lt; 14,
-<b>flags</b> = 1 &lt;&lt; 15,
-<br />
-&#160;&#160;<b>gen</b> = 1 &lt;&lt; 16,
-<b>birthtim</b> = 1 &lt;&lt; 17,
-<b>sparse</b> = 1 &lt;&lt; 24,
-<b>compressed</b> = 1 &lt;&lt; 25,
-<br />
-&#160;&#160;<b>reparse_point</b> = 1 &lt;&lt; 26,
-<b>all</b> = static_cast&lt;unsigned&gt;(-1),
-<b>none</b> = 0
-<br />
- }<tr class="memdesc:acff996a1858563643390725d298a9279"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to indicate what metadata should be filled in. <br /></td></tr>
-</td></tr>
-<tr class="separator:acff996a1858563643390725d298a9279"><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>
-<tr class="memitem:a7370e218d82985d4476643672f37993b"><td class="memItemLeft" align="right" valign="top"><a id="a7370e218d82985d4476643672f37993b"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a7370e218d82985d4476643672f37993b">stat_t</a> ()</td></tr>
-<tr class="memdesc:a7370e218d82985d4476643672f37993b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a UNINITIALIZED instance i.e. full of random garbage. <br /></td></tr>
-<tr class="separator:a7370e218d82985d4476643672f37993b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7c281295d6ae22631336206446f37581"><td class="memItemLeft" align="right" valign="top"><a id="a7c281295d6ae22631336206446f37581"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a7c281295d6ae22631336206446f37581">QUICKCPPLIB_BITFIELD_BEGIN</a> (want)</td></tr>
+<tr class="memdesc:a7c281295d6ae22631336206446f37581"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to indicate what metadata should be filled in. <br /></td></tr>
+<tr class="separator:a7c281295d6ae22631336206446f37581"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8fc0ebfd31e3e3c5fe561f61fb86a6b7"><td class="memItemLeft" align="right" valign="top"><a id="a8fc0ebfd31e3e3c5fe561f61fb86a6b7"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#a8fc0ebfd31e3e3c5fe561f61fb86a6b7">QUICKCPPLIB_BITFIELD_END</a> (want) <a class="el" href="structllfio__v2__xxx_1_1stat__t.html">stat_t</a>()</td></tr>
+<tr class="memdesc:a8fc0ebfd31e3e3c5fe561f61fb86a6b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a UNINITIALIZED instance i.e. full of random garbage. <br /></td></tr>
+<tr class="separator:a8fc0ebfd31e3e3c5fe561f61fb86a6b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef93718067115fcb4c596f4c8fe4cc2f"><td class="memItemLeft" align="right" valign="top"><a id="aef93718067115fcb4c596f4c8fe4cc2f"></a>
constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1stat__t.html#aef93718067115fcb4c596f4c8fe4cc2f">stat_t</a> (std::nullptr_t) noexcept</td></tr>
<tr class="memdesc:aef93718067115fcb4c596f4c8fe4cc2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a zeroed instance. <br /></td></tr>
diff --git a/structllfio__v2__xxx_1_1stat__t.js b/structllfio__v2__xxx_1_1stat__t.js
index 35fddf32..84388838 100644
--- a/structllfio__v2__xxx_1_1stat__t.js
+++ b/structllfio__v2__xxx_1_1stat__t.js
@@ -1,33 +1,9 @@
var structllfio__v2__xxx_1_1stat__t =
[
- [ "bitfield__want", "structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279", [
- [ "dev", "structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279ab1a2197822ffdba01479e9615b54554d", null ],
- [ "ino", "structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a39f295e6f711e6e8a3c7b7500922727f", null ],
- [ "type", "structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a050fc68e43dc54aa2a83d6df434dbaa5", null ],
- [ "perms", "structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a41a9aade82a73ad80c61f24e37f178c1", null ],
- [ "nlink", "structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a9cfcb6abc99726090d219e456d04cae3", null ],
- [ "uid", "structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a37fd3a367af582a9c0ae29bcfbb3ae40", null ],
- [ "gid", "structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279adca9642b769799fde30c2c20c52d2faf", null ],
- [ "rdev", "structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a255a75013d6c3265e14ef6aa5e2b150e", null ],
- [ "atim", "structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279aad0aebb1c29226e501c7f8b21bf70fcb", null ],
- [ "mtim", "structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279adbae53d414356ac9179a7eee84d44574", null ],
- [ "ctim", "structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a787b9d3eb94aea5f2ecb711025ce0f36", null ],
- [ "size", "structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a38f47fe58f276d8e4861bac7b2025f4f", null ],
- [ "allocated", "structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a0eb1b2d76867a8da45f521d954a9280a", null ],
- [ "blocks", "structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279ae93a31372e23b72f78343af24545c364", null ],
- [ "blksize", "structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279aba8f4977e13c37077572c6dbd6eaff1d", null ],
- [ "flags", "structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a71a59f32deaca0d11f3ac66f8cd0b873", null ],
- [ "gen", "structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a1a6d5417ad389388007c29162b286e0a", null ],
- [ "birthtim", "structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279aaa02b3900a16e602cce275caae8acb05", null ],
- [ "sparse", "structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a821850c971ad6d7dc1b9383c44e2e6ca", null ],
- [ "compressed", "structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a1ec6363899f9d1bede0a521fbe264938", null ],
- [ "reparse_point", "structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279ae652d72d6c5b420220c74252fe8149cf", null ],
- [ "all", "structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a6bd002995373eaa3bdf26902d0f0f75f", null ],
- [ "none", "structllfio__v2__xxx_1_1stat__t.html#acff996a1858563643390725d298a9279a53d3da6ccd0de51bbebcd5a280262224", null ]
- ] ],
- [ "stat_t", "structllfio__v2__xxx_1_1stat__t.html#a7370e218d82985d4476643672f37993b", null ],
[ "stat_t", "structllfio__v2__xxx_1_1stat__t.html#aef93718067115fcb4c596f4c8fe4cc2f", null ],
[ "fill", "structllfio__v2__xxx_1_1stat__t.html#aa08a4b9530403b4689498706b0738db4", null ],
+ [ "QUICKCPPLIB_BITFIELD_BEGIN", "structllfio__v2__xxx_1_1stat__t.html#a7c281295d6ae22631336206446f37581", null ],
+ [ "QUICKCPPLIB_BITFIELD_END", "structllfio__v2__xxx_1_1stat__t.html#a8fc0ebfd31e3e3c5fe561f61fb86a6b7", null ],
[ "stamp", "structllfio__v2__xxx_1_1stat__t.html#a4ca693399bffd1b5004d31897e5b72e7", null ],
[ "st_allocated", "structllfio__v2__xxx_1_1stat__t.html#a57ae0ee58e01481b7879596f319b9e1d", null ],
[ "st_atim", "structllfio__v2__xxx_1_1stat__t.html#a3e33b115cae22ba75360660274f660b9", null ],
diff --git a/structllfio__v2__xxx_1_1statfs__t-members.html b/structllfio__v2__xxx_1_1statfs__t-members.html
index fcbdd777..95b77c09 100644
--- a/structllfio__v2__xxx_1_1statfs__t-members.html
+++ b/structllfio__v2__xxx_1_1statfs__t-members.html
@@ -89,12 +89,6 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1statfs__t.html
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>_allbits1_32</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>_allbits1_64</b> (defined in <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>all</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>bavail</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>bfree</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398">bitfield__want</a> enum name</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>blocks</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>bsize</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#aa4a4f434ba56992244ac59c8f825a962">f_bavail</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a360401ea41ab6debc8b8a8806c2dfc46">f_bfree</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#aee7f0b961f34b79e95189e6cf8677cbf">f_blocks</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
@@ -109,18 +103,9 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1statfs__t.html
<tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#ac7bedb646a6855541633e7bb7232b5e0">f_mntonname</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a2e594db0ff5018223f00ffdcbd4dd771">f_namemax</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#aa8b39815508e9252da673c7e18666cd7">f_owner</a></td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ffree</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>files</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a1a1a822aca4e26f793e526f1779947bb">fill</a>(const handle &amp;h, want wanted=want::all) noexcept</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>flags</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>fsid</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>fstypename</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>iosize</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>mntfromname</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mntonname</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>namemax</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>owner</b> enum value (defined in <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a>)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#ac5414fc2f10e4d6f78617666a0353072">statfs_t</a>()</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a3899059be19d84cd3b17077314045428">QUICKCPPLIB_BITFIELD_BEGIN</a>(want)</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#ae6bb78770f0544cee409e3420efed426">QUICKCPPLIB_BITFIELD_END</a>(want) statfs_t()</td><td class="entry"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">llfio_v2_xxx::statfs_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
diff --git a/structllfio__v2__xxx_1_1statfs__t.html b/structllfio__v2__xxx_1_1statfs__t.html
index be4ed7c7..f8214769 100644
--- a/structllfio__v2__xxx_1_1statfs__t.html
+++ b/structllfio__v2__xxx_1_1statfs__t.html
@@ -82,7 +82,6 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1statfs__t.html
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
-<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;
@@ -102,38 +101,16 @@ Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html">f_flags_t</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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:a0505ba8b6f220ef9256306404843f398"><td class="memItemLeft" align="right" valign="top"><a id="a0505ba8b6f220ef9256306404843f398"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398">bitfield__want</a> : unsigned { <br />
-&#160;&#160;<b>flags</b> = 1 &lt;&lt; 0,
-<b>bsize</b> = 1 &lt;&lt; 1,
-<b>iosize</b> = 1 &lt;&lt; 2,
-<b>blocks</b> = 1 &lt;&lt; 3,
-<br />
-&#160;&#160;<b>bfree</b> = 1 &lt;&lt; 4,
-<b>bavail</b> = 1 &lt;&lt; 5,
-<b>files</b> = 1 &lt;&lt; 6,
-<b>ffree</b> = 1 &lt;&lt; 7,
-<br />
-&#160;&#160;<b>namemax</b> = 1 &lt;&lt; 8,
-<b>owner</b> = 1 &lt;&lt; 9,
-<b>fsid</b> = 1 &lt;&lt; 10,
-<b>fstypename</b> = 1 &lt;&lt; 11,
-<br />
-&#160;&#160;<b>mntfromname</b> = 1 &lt;&lt; 12,
-<b>mntonname</b> = 1 &lt;&lt; 13,
-<b>all</b> = static_cast&lt;unsigned&gt;(-1)
-<br />
- }<tr class="memdesc:a0505ba8b6f220ef9256306404843f398"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to indicate what metadata should be filled in. <br /></td></tr>
-</td></tr>
-<tr class="separator:a0505ba8b6f220ef9256306404843f398"><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>
-<tr class="memitem:ac5414fc2f10e4d6f78617666a0353072"><td class="memItemLeft" align="right" valign="top"><a id="ac5414fc2f10e4d6f78617666a0353072"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#ac5414fc2f10e4d6f78617666a0353072">statfs_t</a> ()</td></tr>
-<tr class="memdesc:ac5414fc2f10e4d6f78617666a0353072"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a default initialised instance (all bits set) <br /></td></tr>
-<tr class="separator:ac5414fc2f10e4d6f78617666a0353072"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3899059be19d84cd3b17077314045428"><td class="memItemLeft" align="right" valign="top"><a id="a3899059be19d84cd3b17077314045428"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a3899059be19d84cd3b17077314045428">QUICKCPPLIB_BITFIELD_BEGIN</a> (want)</td></tr>
+<tr class="memdesc:a3899059be19d84cd3b17077314045428"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to indicate what metadata should be filled in. <br /></td></tr>
+<tr class="separator:a3899059be19d84cd3b17077314045428"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae6bb78770f0544cee409e3420efed426"><td class="memItemLeft" align="right" valign="top"><a id="ae6bb78770f0544cee409e3420efed426"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#ae6bb78770f0544cee409e3420efed426">QUICKCPPLIB_BITFIELD_END</a> (want) <a class="el" href="structllfio__v2__xxx_1_1statfs__t.html">statfs_t</a>()</td></tr>
+<tr class="memdesc:ae6bb78770f0544cee409e3420efed426"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a default initialised instance (all bits set) <br /></td></tr>
+<tr class="separator:ae6bb78770f0544cee409e3420efed426"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a1a822aca4e26f793e526f1779947bb"><td class="memItemLeft" align="right" valign="top"><a id="a1a1a822aca4e26f793e526f1779947bb"></a>
result&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1statfs__t.html#a1a1a822aca4e26f793e526f1779947bb">fill</a> (const <a class="el" href="classllfio__v2__xxx_1_1handle.html">handle</a> &amp;h, want wanted=want::all) noexcept</td></tr>
<tr class="memdesc:a1a1a822aca4e26f793e526f1779947bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fills in the structure with metadata, returning number of items filled in. <br /></td></tr>
diff --git a/structllfio__v2__xxx_1_1statfs__t.js b/structllfio__v2__xxx_1_1statfs__t.js
index 5b71273a..525c7d1d 100644
--- a/structllfio__v2__xxx_1_1statfs__t.js
+++ b/structllfio__v2__xxx_1_1statfs__t.js
@@ -1,25 +1,9 @@
var structllfio__v2__xxx_1_1statfs__t =
[
[ "f_flags_t", "structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t.html", "structllfio__v2__xxx_1_1statfs__t_1_1f__flags__t" ],
- [ "bitfield__want", "structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398", [
- [ "flags", "structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398a9de842223c1aae3ce831673571bfecfb", null ],
- [ "bsize", "structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398ab038792184267a841059392379496db3", null ],
- [ "iosize", "structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398af281f7490639ea40cd4a07a359fceb65", null ],
- [ "blocks", "structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398a5e76d496146a579d4fb38f8cb2ae8ef5", null ],
- [ "bfree", "structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398a3b9744155214b64d8c6538101fba60cf", null ],
- [ "bavail", "structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398ac5cb4952084ed52db8e68001eb359ba0", null ],
- [ "files", "structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398a391c38c1e5918867b0fca0cbcc6409bc", null ],
- [ "ffree", "structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398a296d9d4e2e5c90bb415fc2d4d9aae464", null ],
- [ "namemax", "structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398aea097fd07908cb620f226384be883015", null ],
- [ "owner", "structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398a5f155b0cd3841b39387fcc1098b93705", null ],
- [ "fsid", "structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398a36988b55cbefbe84e830e203ccec8084", null ],
- [ "fstypename", "structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398a1a5055a19504a515fd6de9ea994dfede", null ],
- [ "mntfromname", "structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398a18cce38f20254f89b516a6130c43b39a", null ],
- [ "mntonname", "structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398a8c78427b9fd7d7e12107e0b2c59b32d8", null ],
- [ "all", "structllfio__v2__xxx_1_1statfs__t.html#a0505ba8b6f220ef9256306404843f398a84ba71def686269838034a46bc23d09e", null ]
- ] ],
- [ "statfs_t", "structllfio__v2__xxx_1_1statfs__t.html#ac5414fc2f10e4d6f78617666a0353072", null ],
[ "fill", "structllfio__v2__xxx_1_1statfs__t.html#a1a1a822aca4e26f793e526f1779947bb", null ],
+ [ "QUICKCPPLIB_BITFIELD_BEGIN", "structllfio__v2__xxx_1_1statfs__t.html#a3899059be19d84cd3b17077314045428", null ],
+ [ "QUICKCPPLIB_BITFIELD_END", "structllfio__v2__xxx_1_1statfs__t.html#ae6bb78770f0544cee409e3420efed426", null ],
[ "f_bavail", "structllfio__v2__xxx_1_1statfs__t.html#aa4a4f434ba56992244ac59c8f825a962", null ],
[ "f_bfree", "structllfio__v2__xxx_1_1statfs__t.html#a360401ea41ab6debc8b8a8806c2dfc46", null ],
[ "f_blocks", "structllfio__v2__xxx_1_1statfs__t.html#aee7f0b961f34b79e95189e6cf8677cbf", null ],
diff --git a/utils_8hpp.html b/utils_8hpp.html
index 6a4cfa35..22491a15 100644
--- a/utils_8hpp.html
+++ b/utils_8hpp.html
@@ -92,7 +92,7 @@ $(document).ready(function(){initNavTree('utils_8hpp.html','');});
<p>Provides namespace utils.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="config_8hpp.html">config.hpp</a>&quot;</code><br />
-<code>#include &quot;quickcpplib/include/algorithm/string.hpp&quot;</code><br />
+<code>#include &quot;quickcpplib/algorithm/string.hpp&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
diff --git a/v2_80_2llfio_8hpp.html b/v2_80_2llfio_8hpp.html
index e0378d0d..eaaba079 100644
--- a/v2_80_2llfio_8hpp.html
+++ b/v2_80_2llfio_8hpp.html
@@ -93,20 +93,19 @@ $(document).ready(function(){initNavTree('v2_80_2llfio_8hpp.html','');});
<code>#include &quot;<a class="el" href="handle_8hpp.html">handle.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="stat_8hpp.html">stat.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="utils_8hpp.html">utils.hpp</a>&quot;</code><br />
-<code>#include &quot;<a class="el" href="async__file__handle_8hpp.html">async_file_handle.hpp</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="file__handle_8hpp.html">file_handle.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="directory__handle_8hpp.html">directory_handle.hpp</a>&quot;</code><br />
-<code>#include &quot;<a class="el" href="mapped_8hpp.html">mapped.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="statfs_8hpp.html">statfs.hpp</a>&quot;</code><br />
-<code>#include &quot;<a class="el" href="storage__profile_8hpp.html">storage_profile.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="fast__random__file__handle_8hpp.html">fast_random_file_handle.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="symlink__handle_8hpp.html">symlink_handle.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="cached__parent_8hpp.html">algorithm/handle_adapter/cached_parent.hpp</a>&quot;</code><br />
-<code>#include &quot;<a class="el" href="xor_8hpp.html">algorithm/handle_adapter/xor.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="atomic__append_8hpp.html">algorithm/shared_fs_mutex/atomic_append.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="byte__ranges_8hpp.html">algorithm/shared_fs_mutex/byte_ranges.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="lock__files_8hpp.html">algorithm/shared_fs_mutex/lock_files.hpp</a>&quot;</code><br />
-<code>#include &quot;<a class="el" href="memory__map_8hpp.html">algorithm/shared_fs_mutex/memory_map.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="safe__byte__ranges_8hpp.html">algorithm/shared_fs_mutex/safe_byte_ranges.hpp</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="mapped_8hpp.html">mapped.hpp</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="xor_8hpp.html">algorithm/handle_adapter/xor.hpp</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="memory__map_8hpp.html">algorithm/shared_fs_mutex/memory_map.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="trivial__vector_8hpp.html">algorithm/trivial_vector.hpp</a>&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>