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>2018-10-17 21:32:02 +0300
committerJenkins nedprod CI <foo@nowhere>2018-10-17 21:32:02 +0300
commit916288102732b24747bb2f8470d070d325864a0c (patch)
tree89a38d55b6096c9103f65bb6ff26e880c4ffeff9
parentd6ac7d5708d6634c1ec8ba16e7989bce58f1aad7 (diff)
Travis CI updates documentation
-rw-r--r--async__file__handle_8hpp.html22
-rw-r--r--classasync__file__handle-members.html2
-rw-r--r--classasync__file__handle.html14
-rw-r--r--classasync__file__handle.js2
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html2
-rw-r--r--classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1memory__map.html2
-rw-r--r--classllfio__v2__xxx_1_1file__handle-members.html2
-rw-r--r--classllfio__v2__xxx_1_1file__handle.html22
-rw-r--r--classllfio__v2__xxx_1_1file__handle.js2
-rw-r--r--classllfio__v2__xxx_1_1handle.html2
-rw-r--r--classllfio__v2__xxx_1_1io__handle.html10
-rw-r--r--classllfio__v2__xxx_1_1map__handle.html16
-rw-r--r--classllfio__v2__xxx_1_1map__view.html8
-rw-r--r--classllfio__v2__xxx_1_1mapped.html6
-rw-r--r--classllfio__v2__xxx_1_1mapped__file__handle-members.html4
-rw-r--r--classllfio__v2__xxx_1_1mapped__file__handle.html85
-rw-r--r--classllfio__v2__xxx_1_1mapped__file__handle.js2
-rw-r--r--classllfio__v2__xxx_1_1section__handle.html4
-rw-r--r--functions_c.html5
-rw-r--r--functions_func_c.html7
-rw-r--r--namespacellfio__v2__xxx.html40
-rw-r--r--navtreedata.js2
-rw-r--r--navtreeindex0.js2
-rw-r--r--navtreeindex1.js4
-rw-r--r--navtreeindex2.js2
-rw-r--r--navtreeindex3.js4
-rw-r--r--navtreeindex5.js10
-rw-r--r--navtreeindex7.js4
-rw-r--r--navtreeindex8.js7
-rw-r--r--search/all_3.js2
-rw-r--r--search/functions_3.js2
-rw-r--r--structllfio__v2__xxx_1_1io__handle_1_1io__result-members.html4
-rw-r--r--structllfio__v2__xxx_1_1io__handle_1_1io__result.html12
-rw-r--r--structllfio__v2__xxx_1_1io__handle_1_1io__result.js2
-rw-r--r--unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage-members.html1
-rw-r--r--unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage.js1
36 files changed, 157 insertions, 161 deletions
diff --git a/async__file__handle_8hpp.html b/async__file__handle_8hpp.html
index a6fb7110..a1c8b130 100644
--- a/async__file__handle_8hpp.html
+++ b/async__file__handle_8hpp.html
@@ -240,7 +240,7 @@ template&lt;class CompletionRoutine &gt; </div>
</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="l00712"></a><span class="lineno"> 712</span>&#160; {}) noexcept</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160;{</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</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="l00715"></a><span class="lineno"> 715</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; {}) noexcept</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160;{</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</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="l00716"></a><span class="lineno"> 716</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a2f1958f5d16f237b02599b7222c6d1ba"></a>
@@ -319,7 +319,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="l00639"></a><span class="lineno"> 639</span>&#160;{</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classasync__file__handle.html#aa2c709be14026d9acf306b964bc83099">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="l00641"></a><span class="lineno"> 641</span>&#160; std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160;}</div><div class="ttc" id="classasync__file__handle_html_aa2c709be14026d9acf306b964bc83099"><div class="ttname"><a href="classasync__file__handle.html#aa2c709be14026d9acf306b964bc83099">async_file_handle::async_file</a></div><div class="ttdeci">static LLFIO_MAKE_FREE_FUNCTION LLFIO_HEADERS_ONLY_MEMFUNC_SPEC result&lt; async_file_handle &gt; async_file(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</div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:138</div></div>
+<div class="fragment"><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160;{</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classasync__file__handle.html#aa2c709be14026d9acf306b964bc83099">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="l00642"></a><span class="lineno"> 642</span>&#160; std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160;}</div><div class="ttc" id="classasync__file__handle_html_aa2c709be14026d9acf306b964bc83099"><div class="ttname"><a href="classasync__file__handle.html#aa2c709be14026d9acf306b964bc83099">async_file_handle::async_file</a></div><div class="ttdeci">static LLFIO_MAKE_FREE_FUNCTION LLFIO_HEADERS_ONLY_MEMFUNC_SPEC result&lt; async_file_handle &gt; async_file(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</div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:138</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -376,7 +376,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="l00650"></a><span class="lineno"> 650</span>&#160;{</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classasync__file__handle.html#a5055bafbff7e2277e836b10d5173f674">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="l00652"></a><span class="lineno"> 652</span>&#160;}</div><div class="ttc" id="classasync__file__handle_html_a5055bafbff7e2277e836b10d5173f674"><div class="ttname"><a href="classasync__file__handle.html#a5055bafbff7e2277e836b10d5173f674">async_file_handle::async_random_file</a></div><div class="ttdeci">static LLFIO_MAKE_FREE_FUNCTION result&lt; async_file_handle &gt; async_random_file(io_service &amp;service, const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::only_metadata, flag flags=flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:154</div></div>
+<div class="fragment"><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160;{</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classasync__file__handle.html#a5055bafbff7e2277e836b10d5173f674">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="l00653"></a><span class="lineno"> 653</span>&#160;}</div><div class="ttc" id="classasync__file__handle_html_a5055bafbff7e2277e836b10d5173f674"><div class="ttname"><a href="classasync__file__handle.html#a5055bafbff7e2277e836b10d5173f674">async_file_handle::async_random_file</a></div><div class="ttdeci">static LLFIO_MAKE_FREE_FUNCTION result&lt; async_file_handle &gt; async_random_file(io_service &amp;service, const path_handle &amp;dirpath, mode _mode=mode::write, caching _caching=caching::only_metadata, flag flags=flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:154</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -442,7 +442,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="l00734"></a><span class="lineno"> 734</span>&#160; {}) noexcept</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160;{</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</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="l00737"></a><span class="lineno"> 737</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; {}) noexcept</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160;{</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</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="l00738"></a><span class="lineno"> 738</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a4bb05fa6eadd5038b0ffca890f87acc0"></a>
@@ -505,7 +505,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="l00670"></a><span class="lineno"> 670</span>&#160;{</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classasync__file__handle.html#a23be7dcb955f7f7396db3f723ba38971">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="l00672"></a><span class="lineno"> 672</span>&#160;}</div><div class="ttc" id="classasync__file__handle_html_a23be7dcb955f7f7396db3f723ba38971"><div class="ttname"><a href="classasync__file__handle.html#a23be7dcb955f7f7396db3f723ba38971">async_file_handle::async_temp_file</a></div><div class="ttdeci">static LLFIO_MAKE_FREE_FUNCTION result&lt; async_file_handle &gt; async_temp_file(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</div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:190</div></div>
+<div class="fragment"><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160;{</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classasync__file__handle.html#a23be7dcb955f7f7396db3f723ba38971">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="l00673"></a><span class="lineno"> 673</span>&#160;}</div><div class="ttc" id="classasync__file__handle_html_a23be7dcb955f7f7396db3f723ba38971"><div class="ttname"><a href="classasync__file__handle.html#a23be7dcb955f7f7396db3f723ba38971">async_file_handle::async_temp_file</a></div><div class="ttdeci">static LLFIO_MAKE_FREE_FUNCTION result&lt; async_file_handle &gt; async_temp_file(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</div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:190</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -556,7 +556,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="l00684"></a><span class="lineno"> 684</span>&#160;{</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classasync__file__handle.html#a823ff9a0f930eb5d696127283a44fa82">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="l00686"></a><span class="lineno"> 686</span>&#160;}</div><div class="ttc" id="classasync__file__handle_html_a823ff9a0f930eb5d696127283a44fa82"><div class="ttname"><a href="classasync__file__handle.html#a823ff9a0f930eb5d696127283a44fa82">async_file_handle::async_temp_inode</a></div><div class="ttdeci">static LLFIO_MAKE_FREE_FUNCTION LLFIO_HEADERS_ONLY_MEMFUNC_SPEC 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(), mode _mode=mode::write, flag flags=flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:206</div></div>
+<div class="fragment"><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160;{</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classasync__file__handle.html#a823ff9a0f930eb5d696127283a44fa82">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="l00687"></a><span class="lineno"> 687</span>&#160;}</div><div class="ttc" id="classasync__file__handle_html_a823ff9a0f930eb5d696127283a44fa82"><div class="ttname"><a href="classasync__file__handle.html#a823ff9a0f930eb5d696127283a44fa82">async_file_handle::async_temp_inode</a></div><div class="ttdeci">static LLFIO_MAKE_FREE_FUNCTION LLFIO_HEADERS_ONLY_MEMFUNC_SPEC 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(), mode _mode=mode::write, flag flags=flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:206</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -622,7 +622,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="l00757"></a><span class="lineno"> 757</span>&#160; {}) noexcept</div><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> <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="l00760"></a><span class="lineno"> 760</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; {}) noexcept</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160;{</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</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="l00761"></a><span class="lineno"> 761</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="adca2a1a80aae35f32f8c575db5d22215"></a>
@@ -670,7 +670,7 @@ template&lt;class CompletionRoutine &gt; </div>
</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="l00775"></a><span class="lineno"> 775</span>&#160;{</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</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="l00777"></a><span class="lineno"> 777</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160;{</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</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="l00778"></a><span class="lineno"> 778</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a6e58e89423ae965216b7034f436cb596"></a>
@@ -713,7 +713,7 @@ template&lt;class CompletionRoutine &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="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(offset)&gt;(offset), std::forward&lt;decltype(lst)&gt;(lst));</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="l00781"></a><span class="lineno"> 781</span>&#160;{</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</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="l00783"></a><span class="lineno"> 783</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a5118170b546db016ecf8117f0d315923"></a>
@@ -761,7 +761,7 @@ template&lt;class CompletionRoutine &gt; </div>
</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="l00795"></a><span class="lineno"> 795</span>&#160;{</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</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="l00797"></a><span class="lineno"> 797</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160;{</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</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="l00798"></a><span class="lineno"> 798</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a8883262b133d4ac3f1c1a113b607bb3b"></a>
@@ -804,7 +804,7 @@ template&lt;class CompletionRoutine &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="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(offset)&gt;(offset), std::forward&lt;decltype(lst)&gt;(lst));</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="l00801"></a><span class="lineno"> 801</span>&#160;{</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</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="l00803"></a><span class="lineno"> 803</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
diff --git a/classasync__file__handle-members.html b/classasync__file__handle-members.html
index 48f3783d..0e4ab211 100644
--- a/classasync__file__handle-members.html
+++ b/classasync__file__handle-members.html
@@ -105,7 +105,7 @@ $(document).ready(function(){initNavTree('classasync__file__handle.html','');});
<tr bgcolor="#f0f0f0"><td class="entry"><b>buffers_type</b> typedef (defined in <a class="el" href="classasync__file__handle.html">async_file_handle</a>)</td><td class="entry"><a class="el" href="classasync__file__handle.html">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="classasync__file__handle.html">async_file_handle</a>)</td><td class="entry"><a class="el" href="classasync__file__handle.html">async_file_handle</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classasync__file__handle.html#a67326a2f1e482b6c66b0bb18b67a6826">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="classasync__file__handle.html">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 override (defined in <a class="el" href="classasync__file__handle.html">async_file_handle</a>)</td><td class="entry"><a class="el" href="classasync__file__handle.html">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="classasync__file__handle.html">async_file_handle</a>)</td><td class="entry"><a class="el" href="classasync__file__handle.html">async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classasync__file__handle.html#a51e4032fd025d04213386ed2973fb8c7">co_read</a>(io_request&lt; buffers_type &gt; reqs) noexcept</td><td class="entry"><a class="el" href="classasync__file__handle.html">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="classasync__file__handle.html#a7d7c5be5a207988990c73e9a04dbcf45">co_read</a>(extent_type offset, std::initializer_list&lt; buffer_type &gt; lst) noexcept</td><td class="entry"><a class="el" href="classasync__file__handle.html">async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classasync__file__handle.html#a3189fb435df6f0beab09efbc71effc44">co_write</a>(io_request&lt; const_buffers_type &gt; reqs) noexcept</td><td class="entry"><a class="el" href="classasync__file__handle.html">async_file_handle</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
diff --git a/classasync__file__handle.html b/classasync__file__handle.html
index e037c2d4..4c0c43fc 100644
--- a/classasync__file__handle.html
+++ b/classasync__file__handle.html
@@ -218,9 +218,9 @@ LLFIO_MAKE_FREE_FUNCTION <a class="el" href="group__config.html#ga40c15a3fc44361
<tr class="separator:ab155660bb07642550206b9ccb4eda4e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67326a2f1e482b6c66b0bb18b67a6826"><td class="memItemLeft" align="right" valign="top">result&lt; <a class="el" href="classasync__file__handle.html">async_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classasync__file__handle.html#a67326a2f1e482b6c66b0bb18b67a6826">clone</a> (io_service &amp;service, mode mode_=mode::unchanged, caching caching_=caching::unchanged, deadline d=std::chrono::seconds(30)) const noexcept</td></tr>
<tr class="separator:a67326a2f1e482b6c66b0bb18b67a6826"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa388b106a798471c95a91daa40824033"><td class="memItemLeft" align="right" valign="top"><a id="aa388b106a798471c95a91daa40824033"></a>
-<a class="el" href="group__config.html#ga40c15a3fc44361077b478acbfaca18ee">LLFIO_HEADERS_ONLY_VIRTUAL_SPEC</a> result&lt; file_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>clone</b> (mode mode_=mode::unchanged, caching caching_=caching::unchanged, deadline d=std::chrono::seconds(30)) const noexcept override</td></tr>
-<tr class="separator:aa388b106a798471c95a91daa40824033"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a376d80d9b88014ec83c7f3377a6f7f55"><td class="memItemLeft" align="right" valign="top"><a id="a376d80d9b88014ec83c7f3377a6f7f55"></a>
+<a class="el" href="group__config.html#ga40c15a3fc44361077b478acbfaca18ee">LLFIO_HEADERS_ONLY_VIRTUAL_SPEC</a> result&lt; file_handle &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>clone</b> (mode mode_=mode::unchanged, caching caching_=caching::unchanged, deadline d=std::chrono::seconds(30)) const noexcept</td></tr>
+<tr class="separator:a376d80d9b88014ec83c7f3377a6f7f55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76d3948cfdedbeab89f5e0440c3a68d7"><td class="memTemplParams" colspan="2">template&lt;class CompletionRoutine &gt; </td></tr>
<tr class="memitem:a76d3948cfdedbeab89f5e0440c3a68d7"><td class="memTemplItemLeft" align="right" valign="top">LLFIO_MAKE_FREE_FUNCTION&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classasync__file__handle.html#a76d3948cfdedbeab89f5e0440c3a68d7">LLFIO_REQUIRES</a> (detail::is_invocable_r&lt; void, CompletionRoutine, <a class="el" href="classasync__file__handle.html">async_file_handle</a> *, io_result&lt; const_buffers_type &gt; &amp;&gt;::value) result&lt; <a class="el" href="classasync__file__handle.html#a576dc26eb58e4d196363f4323973f7ed">io_state_ptr</a> &gt; <a class="el" href="async__file__handle_8hpp.html#a3bf1163850b6d27940efa090dd5234e9">async_barrier</a>(io_request&lt; const_buffers_type &gt; reqs</td></tr>
<tr class="memdesc:a76d3948cfdedbeab89f5e0440c3a68d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedule a barrier to occur asynchronously. <a href="#a76d3948cfdedbeab89f5e0440c3a68d7">More...</a><br /></td></tr>
@@ -674,7 +674,7 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>io_service</b></td><
</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="l00563"></a><span class="lineno"> 563</span>&#160; {</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; OUTCOME_TRY(r, <a class="code" href="async__file__handle_8hpp.html#a0688362e7e397f8072f2934ab3d5a07a">async_read</a>(reqs, awaitable_state&lt;buffers_type&gt;()));</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <span class="keywordflow">return</span> awaitable&lt;buffers_type&gt;(std::move(r));</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; }</div><div class="ttc" id="async__file__handle_8hpp_html_a0688362e7e397f8072f2934ab3d5a07a"><div class="ttname"><a href="async__file__handle_8hpp.html#a0688362e7e397f8072f2934ab3d5a07a">async_read</a></div><div class="ttdeci">result&lt; async_file_handle::io_state_ptr &gt; async_read(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</div><div class="ttdoc">Schedule a read to occur asynchronously. </div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:734</div></div>
+<div class="fragment"><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; {</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; OUTCOME_TRY(r, <a class="code" href="async__file__handle_8hpp.html#a0688362e7e397f8072f2934ab3d5a07a">async_read</a>(reqs, awaitable_state&lt;buffers_type&gt;()));</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <span class="keywordflow">return</span> awaitable&lt;buffers_type&gt;(std::move(r));</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; }</div><div class="ttc" id="async__file__handle_8hpp_html_a0688362e7e397f8072f2934ab3d5a07a"><div class="ttname"><a href="async__file__handle_8hpp.html#a0688362e7e397f8072f2934ab3d5a07a">async_read</a></div><div class="ttdeci">result&lt; async_file_handle::io_state_ptr &gt; async_read(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</div><div class="ttdoc">Schedule a read to occur asynchronously. </div><div class="ttdef"><b>Definition:</b> async_file_handle.hpp:735</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -712,7 +712,7 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>io_service</b></td><
</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="l00570"></a><span class="lineno"> 570</span>&#160; {</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</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="l00572"></a><span class="lineno"> 572</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(buffer_type) * lst.size());</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; io_request&lt;buffers_type&gt; reqs(buffers_type(_reqs, lst.size()), offset);</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classasync__file__handle.html#a51e4032fd025d04213386ed2973fb8c7">co_read</a>(reqs);</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; }</div><div class="ttc" id="classasync__file__handle_html_a51e4032fd025d04213386ed2973fb8c7"><div class="ttname"><a href="classasync__file__handle.html#a51e4032fd025d04213386ed2973fb8c7">async_file_handle::co_read</a></div><div class="ttdeci">LLFIO_MAKE_FREE_FUNCTION 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:562</div></div>
+<div class="fragment"><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; {</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</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="l00573"></a><span class="lineno"> 573</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(buffer_type) * lst.size());</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; io_request&lt;buffers_type&gt; reqs(buffers_type(_reqs, lst.size()), offset);</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classasync__file__handle.html#a51e4032fd025d04213386ed2973fb8c7">co_read</a>(reqs);</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; }</div><div class="ttc" id="classasync__file__handle_html_a51e4032fd025d04213386ed2973fb8c7"><div class="ttname"><a href="classasync__file__handle.html#a51e4032fd025d04213386ed2973fb8c7">async_file_handle::co_read</a></div><div class="ttdeci">LLFIO_MAKE_FREE_FUNCTION 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:563</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -750,7 +750,7 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>io_service</b></td><
</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="l00589"></a><span class="lineno"> 589</span>&#160; {</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; OUTCOME_TRY(r, <a class="code" href="async__file__handle_8hpp.html#a8de83ef804e0d3d01764e253274cbb4f">async_write</a>(reqs, awaitable_state&lt;const_buffers_type&gt;()));</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <span class="keywordflow">return</span> awaitable&lt;const_buffers_type&gt;(std::move(r));</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; }</div><div class="ttc" id="async__file__handle_8hpp_html_a8de83ef804e0d3d01764e253274cbb4f"><div class="ttname"><a href="async__file__handle_8hpp.html#a8de83ef804e0d3d01764e253274cbb4f">async_write</a></div><div class="ttdeci">result&lt; async_file_handle::io_state_ptr &gt; async_write(async_file_handle &amp;self, async_file_handle::io_request&lt; async_file_handle::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:757</div></div>
+<div class="fragment"><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; {</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; OUTCOME_TRY(r, <a class="code" href="async__file__handle_8hpp.html#a8de83ef804e0d3d01764e253274cbb4f">async_write</a>(reqs, awaitable_state&lt;const_buffers_type&gt;()));</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; <span class="keywordflow">return</span> awaitable&lt;const_buffers_type&gt;(std::move(r));</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; }</div><div class="ttc" id="async__file__handle_8hpp_html_a8de83ef804e0d3d01764e253274cbb4f"><div class="ttname"><a href="async__file__handle_8hpp.html#a8de83ef804e0d3d01764e253274cbb4f">async_write</a></div><div class="ttdeci">result&lt; async_file_handle::io_state_ptr &gt; async_write(async_file_handle &amp;self, async_file_handle::io_request&lt; async_file_handle::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:758</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -788,7 +788,7 @@ class&#160;</td><td class="memItemRight" valign="bottom"><b>io_service</b></td><
</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="l00596"></a><span class="lineno"> 596</span>&#160; {</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</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="l00598"></a><span class="lineno"> 598</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; io_request&lt;const_buffers_type&gt; reqs(const_buffers_type(_reqs, lst.size()), offset);</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classasync__file__handle.html#a3189fb435df6f0beab09efbc71effc44">co_write</a>(reqs);</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; }</div><div class="ttc" id="classasync__file__handle_html_a3189fb435df6f0beab09efbc71effc44"><div class="ttname"><a href="classasync__file__handle.html#a3189fb435df6f0beab09efbc71effc44">async_file_handle::co_write</a></div><div class="ttdeci">LLFIO_MAKE_FREE_FUNCTION 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:588</div></div>
+<div class="fragment"><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; {</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</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="l00599"></a><span class="lineno"> 599</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; io_request&lt;const_buffers_type&gt; reqs(const_buffers_type(_reqs, lst.size()), offset);</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classasync__file__handle.html#a3189fb435df6f0beab09efbc71effc44">co_write</a>(reqs);</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; }</div><div class="ttc" id="classasync__file__handle_html_a3189fb435df6f0beab09efbc71effc44"><div class="ttname"><a href="classasync__file__handle.html#a3189fb435df6f0beab09efbc71effc44">async_file_handle::co_write</a></div><div class="ttdeci">LLFIO_MAKE_FREE_FUNCTION 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:589</div></div>
</div><!-- fragment -->
</div>
</div>
diff --git a/classasync__file__handle.js b/classasync__file__handle.js
index 0128dc8e..61145e6c 100644
--- a/classasync__file__handle.js
+++ b/classasync__file__handle.js
@@ -41,7 +41,7 @@ var classasync__file__handle =
[ "_begin_io", "classasync__file__handle.html#aab74eeda06f83be56406879dda2352df", null ],
[ "barrier", "classasync__file__handle.html#ab155660bb07642550206b9ccb4eda4e6", null ],
[ "clone", "classasync__file__handle.html#a67326a2f1e482b6c66b0bb18b67a6826", null ],
- [ "clone", "classasync__file__handle.html#aa388b106a798471c95a91daa40824033", null ],
+ [ "clone", "classasync__file__handle.html#a376d80d9b88014ec83c7f3377a6f7f55", null ],
[ "co_read", "classasync__file__handle.html#a51e4032fd025d04213386ed2973fb8c7", null ],
[ "co_read", "classasync__file__handle.html#a7d7c5be5a207988990c73e9a04dbcf45", null ],
[ "co_write", "classasync__file__handle.html#a3189fb435df6f0beab09efbc71effc44", null ],
diff --git a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html
index 451ec2ac..69db7931 100644
--- a/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html
+++ b/classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1atomic__append.html
@@ -316,7 +316,7 @@ Protected Member Functions</h2></td></tr>
</dd>
</dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000005">Todo:</a></b></dt><dd>fs_mutex_append needs to check if file still exists after lock is granted, awaiting path fetching. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; {</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; LLFIO_LOG_FUNCTION_CALL(0);</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</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>, file_handle::creation::if_needed, <a class="code" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">file_handle::caching::temporary</a>));</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; atomic_append_detail::header header;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="comment">// Lock the entire header for exclusive access</span></div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keyword">auto</span> lockresult = ret.try_lock(0, <span class="keyword">sizeof</span>(header), <span class="keyword">true</span>);<span class="comment"></span></div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;<span class="comment"> //! \todo fs_mutex_append needs to check if file still exists after lock is granted, awaiting path fetching.</span></div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;<span class="comment"></span> <span class="keywordflow">if</span>(lockresult.has_error())</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; {</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">if</span>(lockresult.error() != errc::timed_out)</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">return</span> lockresult.error();</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="comment">// Somebody else is also using this file</span></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="keywordflow">else</span></div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; {</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="comment">// I am the first person to be using this (stale?) file, so write a new header and truncate</span></div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; OUTCOME_TRYV(ret.truncate(<span class="keyword">sizeof</span>(header)));</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; memset(&amp;header, 0, <span class="keyword">sizeof</span>(header));</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; header.time_offset = std::chrono::system_clock::to_time_t(std::chrono::system_clock::now());</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; header.first_known_good = <span class="keyword">sizeof</span>(header);</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; header.first_after_hole_punch = <span class="keyword">sizeof</span>(header);</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">if</span>(!skip_hashing)</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; {</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; header.hash = QUICKCPPLIB_NAMESPACE::algorithm::hash::fast_hash::hash((reinterpret_cast&lt;char *&gt;(&amp;header)) + 16, <span class="keyword">sizeof</span>(header) - 16);</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; OUTCOME_TRYV(ret.write(0, {{reinterpret_cast&lt;byte *&gt;(&amp;header), sizeof(header)}}));</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="comment">// Open a shared lock on last byte in header to prevent other users zomping the file</span></div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; OUTCOME_TRY(guard, ret.lock(<span class="keyword">sizeof</span>(header) - 1, 1, <span class="keyword">false</span>));</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="comment">// Unlock any exclusive lock I gained earlier now</span></div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">if</span>(lockresult)</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; {</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; lockresult.value().unlock();</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; }</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="comment">// The constructor will read and cache the header</span></div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">return</span> atomic_append(std::move(ret), std::move(guard), nfs_compatibility, skip_hashing);</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; }</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="fragment"><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; {</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; LLFIO_LOG_FUNCTION_CALL(0);</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</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>, file_handle::creation::if_needed, <a class="code" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">file_handle::caching::temporary</a>));</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; atomic_append_detail::header header;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="comment">// Lock the entire header for exclusive access</span></div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keyword">auto</span> lockresult = ret.try_lock(0, <span class="keyword">sizeof</span>(header), <span class="keyword">true</span>);<span class="comment"></span></div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;<span class="comment"> //! \todo fs_mutex_append needs to check if file still exists after lock is granted, awaiting path fetching.</span></div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;<span class="comment"></span> <span class="keywordflow">if</span>(lockresult.has_error())</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; {</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">if</span>(lockresult.error() != errc::timed_out)</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">return</span> std::move(lockresult).error();</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="comment">// Somebody else is also using this file</span></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="keywordflow">else</span></div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; {</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="comment">// I am the first person to be using this (stale?) file, so write a new header and truncate</span></div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; OUTCOME_TRYV(ret.truncate(<span class="keyword">sizeof</span>(header)));</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; memset(&amp;header, 0, <span class="keyword">sizeof</span>(header));</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; header.time_offset = std::chrono::system_clock::to_time_t(std::chrono::system_clock::now());</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; header.first_known_good = <span class="keyword">sizeof</span>(header);</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; header.first_after_hole_punch = <span class="keyword">sizeof</span>(header);</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">if</span>(!skip_hashing)</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; {</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; header.hash = QUICKCPPLIB_NAMESPACE::algorithm::hash::fast_hash::hash((reinterpret_cast&lt;char *&gt;(&amp;header)) + 16, <span class="keyword">sizeof</span>(header) - 16);</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; OUTCOME_TRYV(ret.write(0, {{reinterpret_cast&lt;byte *&gt;(&amp;header), sizeof(header)}}));</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="comment">// Open a shared lock on last byte in header to prevent other users zomping the file</span></div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; OUTCOME_TRY(guard, ret.lock(<span class="keyword">sizeof</span>(header) - 1, 1, <span class="keyword">false</span>));</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="comment">// Unlock any exclusive lock I gained earlier now</span></div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">if</span>(lockresult)</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; {</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; lockresult.value().unlock();</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; }</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="comment">// The constructor will read and cache the header</span></div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">return</span> atomic_append(std::move(ret), std::move(guard), nfs_compatibility, skip_hashing);</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; }</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_1handle_html_aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">llfio_v2_xxx::handle::caching::temporary</a></div><div class="ttdoc">Cache reads and writes of data and metadata so they complete immediately, only sending any updates to...</div></div>
</div><!-- fragment -->
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 3c3943ab..1896f28f 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>, file_handle::creation::if_needed, <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> 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> 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>, file_handle::creation::open_existing, <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:385</div></div>
+<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>, file_handle::creation::if_needed, <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>, file_handle::creation::open_existing, <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:385</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_1file__handle-members.html b/classllfio__v2__xxx_1_1file__handle-members.html
index c37bc421..ad80919c 100644
--- a/classllfio__v2__xxx_1_1file__handle-members.html
+++ b/classllfio__v2__xxx_1_1file__handle-members.html
@@ -105,7 +105,7 @@ $(document).ready(function(){initNavTree('classllfio__v2__xxx_1_1file__handle.ht
<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 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#af0b8ea283f0b1c107173ad5768e5301c">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"><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#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>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a665ddf5aa47e1d8a94580570a0457c8a">close</a>() noexcept override</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>const_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>
diff --git a/classllfio__v2__xxx_1_1file__handle.html b/classllfio__v2__xxx_1_1file__handle.html
index 0def2a02..13153dc2 100644
--- a/classllfio__v2__xxx_1_1file__handle.html
+++ b/classllfio__v2__xxx_1_1file__handle.html
@@ -228,8 +228,8 @@ virtual result&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom">
<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:af0b8ea283f0b1c107173ad5768e5301c"><td class="memItemLeft" align="right" valign="top">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"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#af0b8ea283f0b1c107173ad5768e5301c">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:af0b8ea283f0b1c107173ad5768e5301c"><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>
<a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a> () const noexcept</td></tr>
<tr class="memdesc:ae7735588338065ede0ab9b7f979bc65a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o service this handle is attached to, if any. <br /></td></tr>
@@ -570,8 +570,8 @@ For portability, you can only assume that barriers write order for a single hand
</div>
</div>
-<a id="af0b8ea283f0b1c107173ad5768e5301c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af0b8ea283f0b1c107173ad5768e5301c">&#9670;&nbsp;</a></span>clone() <span class="overload">[1/2]</span></h2>
+<a id="a6b97756d8d46e80da7d0fa04158a71a8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6b97756d8d46e80da7d0fa04158a71a8">&#9670;&nbsp;</a></span>clone() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -580,7 +580,7 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a>&gt; llfio_v2_xxx::file_handle::clone </td>
+ <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a>&gt; llfio_v2_xxx::file_handle::clone </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
<td class="paramname"><em>mode_</em> = <code>mode::unchanged</code>, </td>
@@ -605,7 +605,7 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -614,8 +614,6 @@ For portability, you can only assume that barriers write order for a single hand
<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX dup() or DuplicateHandle() can return. </dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>On POSIX if changing the mode, we must loop calling <code>current_path()</code> and trying to open the path returned. Thus many allocations may occur. </dd></dl>
-<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a771cdde4a208afcd8940c56f6c8c4b07">llfio_v2_xxx::mapped_file_handle</a>.</p>
-
</div>
</div>
<a id="aeea4389189021b94dde6d8f2c3ccc5b3"></a>
@@ -880,7 +878,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="l00495"></a><span class="lineno"> 495</span>&#160; {</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; {</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; {</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; }</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; bytes += i.size();</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; }</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</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="l00506"></a><span class="lineno"> 506</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="l00500"></a><span class="lineno"> 500</span>&#160; {</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><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="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; {</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; }</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; bytes += i.size();</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; }</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</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="l00511"></a><span class="lineno"> 511</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>
@@ -918,7 +916,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="l00509"></a><span class="lineno"> 509</span>&#160; {</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</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">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; {</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; }</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; bytes += i.size();</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; }</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</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="l00520"></a><span class="lineno"> 520</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="l00514"></a><span class="lineno"> 514</span>&#160; {</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><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="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; {</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; }</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; bytes += i.size();</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; }</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</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="l00525"></a><span class="lineno"> 525</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>
@@ -1387,7 +1385,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="l00492"></a><span class="lineno"> 492</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="l00497"></a><span class="lineno"> 497</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>
@@ -1564,7 +1562,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="l00335"></a><span class="lineno"> 335</span>&#160; {</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</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="l00337"></a><span class="lineno"> 337</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</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="l00339"></a><span class="lineno"> 339</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="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordflow">if</span>(ret)</div><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; <span class="keywordflow">return</span> ret.bytes_transferred();</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; }</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">return</span> ret.error();</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</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:163</div></div>
+<div class="fragment"><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; {</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</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="l00342"></a><span class="lineno"> 342</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</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="l00344"></a><span class="lineno"> 344</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="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordflow">if</span>(ret)</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; {</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keywordflow">return</span> ret.bytes_transferred();</div><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> std::move(ret).error();</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</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:163</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 71ec40be..0c273e2b 100644
--- a/classllfio__v2__xxx_1_1file__handle.js
+++ b/classllfio__v2__xxx_1_1file__handle.js
@@ -44,7 +44,7 @@ var classllfio__v2__xxx_1_1file__handle =
[ "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 ],
- [ "clone", "classllfio__v2__xxx_1_1file__handle.html#af0b8ea283f0b1c107173ad5768e5301c", 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 ],
[ "current_path", "classllfio__v2__xxx_1_1file__handle.html#a00a85eec5a41f7edb2c574d40cf04535", null ],
diff --git a/classllfio__v2__xxx_1_1handle.html b/classllfio__v2__xxx_1_1handle.html
index 71e3d268..59e8e8c5 100644
--- a/classllfio__v2__xxx_1_1handle.html
+++ b/classllfio__v2__xxx_1_1handle.html
@@ -493,7 +493,7 @@ std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operato
</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:385</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:580</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:585</div></div>
</div><!-- fragment -->
</div>
</div>
diff --git a/classllfio__v2__xxx_1_1io__handle.html b/classllfio__v2__xxx_1_1io__handle.html
index ab84789a..0970714b 100644
--- a/classllfio__v2__xxx_1_1io__handle.html
+++ b/classllfio__v2__xxx_1_1io__handle.html
@@ -435,7 +435,7 @@ 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="l00253"></a><span class="lineno"> 253</span>&#160;{} <span class="comment">// NOLINT</span></div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160;{} <span class="comment">// NOLINT</span></div></div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
@@ -668,7 +668,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="l00495"></a><span class="lineno"> 495</span>&#160; {</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; {</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; {</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; }</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; bytes += i.size();</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; }</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</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="l00506"></a><span class="lineno"> 506</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="l00500"></a><span class="lineno"> 500</span>&#160; {</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><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="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; {</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; }</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; bytes += i.size();</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; }</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</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="l00511"></a><span class="lineno"> 511</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>
@@ -706,7 +706,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="l00509"></a><span class="lineno"> 509</span>&#160; {</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</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">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; {</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; }</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; bytes += i.size();</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; }</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</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="l00520"></a><span class="lineno"> 520</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="l00514"></a><span class="lineno"> 514</span>&#160; {</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><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="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; {</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; }</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; bytes += i.size();</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; }</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</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="l00525"></a><span class="lineno"> 525</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>
@@ -859,7 +859,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="l00492"></a><span class="lineno"> 492</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="l00497"></a><span class="lineno"> 497</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>
@@ -999,7 +999,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="l00335"></a><span class="lineno"> 335</span>&#160; {</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</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="l00337"></a><span class="lineno"> 337</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</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="l00339"></a><span class="lineno"> 339</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="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordflow">if</span>(ret)</div><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; <span class="keywordflow">return</span> ret.bytes_transferred();</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; }</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">return</span> ret.error();</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</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:163</div></div>
+<div class="fragment"><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; {</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</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="l00342"></a><span class="lineno"> 342</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</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="l00344"></a><span class="lineno"> 344</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="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordflow">if</span>(ret)</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; {</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keywordflow">return</span> ret.bytes_transferred();</div><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> std::move(ret).error();</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</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:163</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.html b/classllfio__v2__xxx_1_1map__handle.html
index 156c1cec..97c84ba6 100644
--- a/classllfio__v2__xxx_1_1map__handle.html
+++ b/classllfio__v2__xxx_1_1map__handle.html
@@ -837,7 +837,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="l00495"></a><span class="lineno"> 495</span>&#160; {</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; {</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; {</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; }</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; bytes += i.size();</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; }</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</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="l00506"></a><span class="lineno"> 506</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="l00500"></a><span class="lineno"> 500</span>&#160; {</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><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="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; {</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; }</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; bytes += i.size();</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; }</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</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="l00511"></a><span class="lineno"> 511</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>
@@ -875,7 +875,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="l00509"></a><span class="lineno"> 509</span>&#160; {</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</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">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; {</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; }</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; bytes += i.size();</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; }</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</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="l00520"></a><span class="lineno"> 520</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="l00514"></a><span class="lineno"> 514</span>&#160; {</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><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="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; {</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; }</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; bytes += i.size();</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; }</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</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="l00525"></a><span class="lineno"> 525</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>
@@ -1043,7 +1043,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="l00581"></a><span class="lineno"> 581</span>&#160; {</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; OUTCOME_TRY(ret, <a class="code" href="classllfio__v2__xxx_1_1map__handle.html#a25dcce3a7127c5552687c540c37b9f27">prefetch</a>(span&lt;buffer_type&gt;(&amp;region, 1)));</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; <span class="keywordflow">return</span> *ret.data();</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1map__handle_html_a25dcce3a7127c5552687c540c37b9f27"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#a25dcce3a7127c5552687c540c37b9f27">llfio_v2_xxx::map_handle::prefetch</a></div><div class="ttdeci">static result&lt; span&lt; buffer_type &gt; &gt; prefetch(span&lt; buffer_type &gt; regions) noexcept</div><div class="ttdoc">Ask the system to begin to asynchronously prefetch the span of memory regions given, returning the regions actually prefetched. Note that on Windows 7 or earlier the system call to implement this was not available, and so you will see an empty span returned. </div></div>
+<div class="fragment"><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; {</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; OUTCOME_TRY(ret, <a class="code" href="classllfio__v2__xxx_1_1map__handle.html#a25dcce3a7127c5552687c540c37b9f27">prefetch</a>(span&lt;buffer_type&gt;(&amp;region, 1)));</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <span class="keywordflow">return</span> *ret.data();</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1map__handle_html_a25dcce3a7127c5552687c540c37b9f27"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#a25dcce3a7127c5552687c540c37b9f27">llfio_v2_xxx::map_handle::prefetch</a></div><div class="ttdeci">static result&lt; span&lt; buffer_type &gt; &gt; prefetch(span&lt; buffer_type &gt; regions) noexcept</div><div class="ttdoc">Ask the system to begin to asynchronously prefetch the span of memory regions given, returning the regions actually prefetched. Note that on Windows 7 or earlier the system call to implement this was not available, and so you will see an empty span returned. </div></div>
</div><!-- fragment -->
</div>
</div>
@@ -1264,7 +1264,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="l00492"></a><span class="lineno"> 492</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="l00497"></a><span class="lineno"> 497</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>
@@ -1404,7 +1404,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="l00335"></a><span class="lineno"> 335</span>&#160; {</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</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="l00337"></a><span class="lineno"> 337</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</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="l00339"></a><span class="lineno"> 339</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="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordflow">if</span>(ret)</div><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; <span class="keywordflow">return</span> ret.bytes_transferred();</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; }</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">return</span> ret.error();</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</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:163</div></div>
+<div class="fragment"><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; {</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</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="l00342"></a><span class="lineno"> 342</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</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="l00344"></a><span class="lineno"> 344</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="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordflow">if</span>(ret)</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; {</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keywordflow">return</span> ret.bytes_transferred();</div><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> std::move(ret).error();</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</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:163</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>
@@ -1481,8 +1481,10 @@ For portability, you can only assume that barriers write order for a single hand
</tr>
</table>
</div><div class="memdoc">
-<p>Zero the memory represented by the buffer. Differs from zero() because it acts on mapped memory, but may call zero() internally.</p>
-<p>On Linux, Windows and FreeBSD any full 4Kb pages will be deallocated from the system entirely, including the extents for them in any backing storage. On newer Linux kernels the kernel can additionally swap whole 4Kb pages for freshly zeroed ones making this a very efficient way of zeroing large ranges of memory. </p><dl class="section user"><dt>Errors returnable</dt><dd>Any of the errors returnable by madvise() or DiscardVirtualMemory or the zero() function. </dd></dl>
+<p>Zero the memory represented by the buffer. Differs from zero() because it acts on mapped memory, not on allocated file extents.</p>
+<p>On Linux, Mac OS and FreeBSD any full 4Kb pages will be deallocated from the system entirely, including the extents for them in any backing storage. On newer Linux kernels the kernel can additionally swap whole 4Kb pages for freshly zeroed ones making this a very efficient way of zeroing large ranges of memory.</p>
+<p>On Windows, this call currently only works for non-backed memory due to lacking kernel support.</p>
+<dl class="section user"><dt>Errors returnable</dt><dd>Any of the errors returnable by madvise() or DiscardVirtualMemory or the zero() function. </dd></dl>
</div>
</div>
diff --git a/classllfio__v2__xxx_1_1map__view.html b/classllfio__v2__xxx_1_1map__view.html
index 5925cf13..b3d990d6 100644
--- a/classllfio__v2__xxx_1_1map__view.html
+++ b/classllfio__v2__xxx_1_1map__view.html
@@ -183,9 +183,9 @@ template&lt;class T &gt; </div>
</table>
</dd>
</dl>
-<div class="fragment"><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; : span&lt;T&gt;(<a class="code" href="namespacellfio__v2__xxx.html#ab50d07405d17a8fff4e360fd2612bc6f">map</a>.begin() + offset, (<a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> == (<a class="code" href="classllfio__v2__xxx_1_1map__view.html#a22be05bfdf389ec2fe1e38364a709968">size_type</a>) -1) ? (<a class="code" href="namespacellfio__v2__xxx.html#ab50d07405d17a8fff4e360fd2612bc6f">map</a>.size() - offset) : <a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a>) <span class="comment">// NOLINT</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; {</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; }</div><div class="ttc" id="namespacellfio__v2__xxx_html_aa3676f0dd69f4b54cf7e14e3f86d32b9"><div class="ttname"><a href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">llfio_v2_xxx::length</a></div><div class="ttdeci">result&lt; section_handle::extent_type &gt; length(const section_handle &amp;self) noexcept</div><div class="ttdoc">Return the current maximum permitted extent of the memory section. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:675</div></div>
+<div class="fragment"><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; : span&lt;T&gt;(<a class="code" href="namespacellfio__v2__xxx.html#ab50d07405d17a8fff4e360fd2612bc6f">map</a>.begin() + offset, (<a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> == (<a class="code" href="classllfio__v2__xxx_1_1map__view.html#a22be05bfdf389ec2fe1e38364a709968">size_type</a>) -1) ? (<a class="code" href="namespacellfio__v2__xxx.html#ab50d07405d17a8fff4e360fd2612bc6f">map</a>.size() - offset) : <a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a>) <span class="comment">// NOLINT</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; {</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; }</div><div class="ttc" id="namespacellfio__v2__xxx_html_aa3676f0dd69f4b54cf7e14e3f86d32b9"><div class="ttname"><a href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">llfio_v2_xxx::length</a></div><div class="ttdeci">result&lt; section_handle::extent_type &gt; length(const section_handle &amp;self) noexcept</div><div class="ttdoc">Return the current maximum permitted extent of the memory section. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:678</div></div>
<div class="ttc" id="classllfio__v2__xxx_1_1map__view_html_a22be05bfdf389ec2fe1e38364a709968"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__view.html#a22be05bfdf389ec2fe1e38364a709968">llfio_v2_xxx::map_view::size_type</a></div><div class="ttdeci">typename section_handle::size_type size_type</div><div class="ttdoc">The size type. </div><div class="ttdef"><b>Definition:</b> map_view.hpp:47</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_html_ab50d07405d17a8fff4e360fd2612bc6f"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ab50d07405d17a8fff4e360fd2612bc6f">llfio_v2_xxx::map</a></div><div class="ttdeci">result&lt; map_handle &gt; map(map_handle::size_type bytes, bool zeroed=false, section_handle::flag _flag=section_handle::flag::readwrite) noexcept</div><div class="ttdef"><b>Definition:</b> map_handle.hpp:730</div></div>
+<div class="ttc" id="namespacellfio__v2__xxx_html_ab50d07405d17a8fff4e360fd2612bc6f"><div class="ttname"><a href="namespacellfio__v2__xxx.html#ab50d07405d17a8fff4e360fd2612bc6f">llfio_v2_xxx::map</a></div><div class="ttdeci">result&lt; map_handle &gt; map(map_handle::size_type bytes, bool zeroed=false, section_handle::flag _flag=section_handle::flag::readwrite) noexcept</div><div class="ttdef"><b>Definition:</b> map_handle.hpp:733</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -239,7 +239,7 @@ template&lt;class T &gt; </div>
</table>
</dd>
</dl>
-<div class="fragment"><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; : span&lt;T&gt;(<span class="keyword">reinterpret_cast&lt;</span>T *<span class="keyword">&gt;</span>(mh.address() + byteoffset), (<a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> == (<a class="code" href="classllfio__v2__xxx_1_1map__view.html#a22be05bfdf389ec2fe1e38364a709968">size_type</a>) -1) ? ((mh.length() - byteoffset) / <span class="keyword">sizeof</span>(T)) : <a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a>) <span class="comment">// NOLINT</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; {</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; }</div><div class="ttc" id="namespacellfio__v2__xxx_html_aa3676f0dd69f4b54cf7e14e3f86d32b9"><div class="ttname"><a href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">llfio_v2_xxx::length</a></div><div class="ttdeci">result&lt; section_handle::extent_type &gt; length(const section_handle &amp;self) noexcept</div><div class="ttdoc">Return the current maximum permitted extent of the memory section. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:675</div></div>
+<div class="fragment"><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; : span&lt;T&gt;(<span class="keyword">reinterpret_cast&lt;</span>T *<span class="keyword">&gt;</span>(mh.address() + byteoffset), (<a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> == (<a class="code" href="classllfio__v2__xxx_1_1map__view.html#a22be05bfdf389ec2fe1e38364a709968">size_type</a>) -1) ? ((mh.length() - byteoffset) / <span class="keyword">sizeof</span>(T)) : <a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a>) <span class="comment">// NOLINT</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; {</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; }</div><div class="ttc" id="namespacellfio__v2__xxx_html_aa3676f0dd69f4b54cf7e14e3f86d32b9"><div class="ttname"><a href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">llfio_v2_xxx::length</a></div><div class="ttdeci">result&lt; section_handle::extent_type &gt; length(const section_handle &amp;self) noexcept</div><div class="ttdoc">Return the current maximum permitted extent of the memory section. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:678</div></div>
<div class="ttc" id="classllfio__v2__xxx_1_1map__view_html_a22be05bfdf389ec2fe1e38364a709968"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__view.html#a22be05bfdf389ec2fe1e38364a709968">llfio_v2_xxx::map_view::size_type</a></div><div class="ttdeci">typename section_handle::size_type size_type</div><div class="ttdoc">The size type. </div><div class="ttdef"><b>Definition:</b> map_view.hpp:47</div></div>
</div><!-- fragment -->
</div>
@@ -294,7 +294,7 @@ template&lt;class T &gt; </div>
</table>
</dd>
</dl>
-<div class="fragment"><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; : span&lt;T&gt;(<span class="keyword">reinterpret_cast&lt;</span>T *<span class="keyword">&gt;</span>(mfh.address() + byteoffset), (<a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> == (<a class="code" href="classllfio__v2__xxx_1_1map__view.html#a22be05bfdf389ec2fe1e38364a709968">size_type</a>) -1) ? ((mfh.maximum_extent().value() - byteoffset) / <span class="keyword">sizeof</span>(T)) : <a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a>) <span class="comment">// NOLINT</span></div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; {</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; }</div><div class="ttc" id="namespacellfio__v2__xxx_html_aa3676f0dd69f4b54cf7e14e3f86d32b9"><div class="ttname"><a href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">llfio_v2_xxx::length</a></div><div class="ttdeci">result&lt; section_handle::extent_type &gt; length(const section_handle &amp;self) noexcept</div><div class="ttdoc">Return the current maximum permitted extent of the memory section. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:675</div></div>
+<div class="fragment"><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; : span&lt;T&gt;(<span class="keyword">reinterpret_cast&lt;</span>T *<span class="keyword">&gt;</span>(mfh.address() + byteoffset), (<a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> == (<a class="code" href="classllfio__v2__xxx_1_1map__view.html#a22be05bfdf389ec2fe1e38364a709968">size_type</a>) -1) ? ((mfh.maximum_extent().value() - byteoffset) / <span class="keyword">sizeof</span>(T)) : <a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a>) <span class="comment">// NOLINT</span></div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; {</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; }</div><div class="ttc" id="namespacellfio__v2__xxx_html_aa3676f0dd69f4b54cf7e14e3f86d32b9"><div class="ttname"><a href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">llfio_v2_xxx::length</a></div><div class="ttdeci">result&lt; section_handle::extent_type &gt; length(const section_handle &amp;self) noexcept</div><div class="ttdoc">Return the current maximum permitted extent of the memory section. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:678</div></div>
<div class="ttc" id="classllfio__v2__xxx_1_1map__view_html_a22be05bfdf389ec2fe1e38364a709968"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__view.html#a22be05bfdf389ec2fe1e38364a709968">llfio_v2_xxx::map_view::size_type</a></div><div class="ttdeci">typename section_handle::size_type size_type</div><div class="ttdoc">The size type. </div><div class="ttdef"><b>Definition:</b> map_view.hpp:47</div></div>
</div><!-- fragment -->
</div>
diff --git a/classllfio__v2__xxx_1_1mapped.html b/classllfio__v2__xxx_1_1mapped.html
index 5aa6b84d..5f79c044 100644
--- a/classllfio__v2__xxx_1_1mapped.html
+++ b/classllfio__v2__xxx_1_1mapped.html
@@ -192,7 +192,7 @@ template&lt;class T &gt; </div>
</table>
</dd>
</dl>
-<div class="fragment"><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; : _maph(<a class="code" href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">map_handle::map</a>(<a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> * <span class="keyword">sizeof</span>(T), zeroed, _flag).value())</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; {</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; byte *addr = _maph.<a class="code" href="classllfio__v2__xxx_1_1map__handle.html#a7456b95e191ec373af61af6541dd4737">address</a>();</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keyword">static_cast&lt;</span>span&lt;T&gt; &amp;<span class="keyword">&gt;</span>(*this) = span&lt;T&gt;(<span class="keyword">reinterpret_cast&lt;</span>T *<span class="keyword">&gt;</span>(addr), <a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a>); <span class="comment">// NOLINT</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; }</div><div class="ttc" id="namespacellfio__v2__xxx_html_aa3676f0dd69f4b54cf7e14e3f86d32b9"><div class="ttname"><a href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">llfio_v2_xxx::length</a></div><div class="ttdeci">result&lt; section_handle::extent_type &gt; length(const section_handle &amp;self) noexcept</div><div class="ttdoc">Return the current maximum permitted extent of the memory section. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:675</div></div>
+<div class="fragment"><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; : _maph(<a class="code" href="classllfio__v2__xxx_1_1map__handle.html#adf0cad925c9d6accd5bd7fc3aa49884c">map_handle::map</a>(<a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> * <span class="keyword">sizeof</span>(T), zeroed, _flag).value())</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; {</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; byte *addr = _maph.<a class="code" href="classllfio__v2__xxx_1_1map__handle.html#a7456b95e191ec373af61af6541dd4737">address</a>();</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keyword">static_cast&lt;</span>span&lt;T&gt; &amp;<span class="keyword">&gt;</span>(*this) = span&lt;T&gt;(<span class="keyword">reinterpret_cast&lt;</span>T *<span class="keyword">&gt;</span>(addr), <a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a>); <span class="comment">// NOLINT</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; }</div><div class="ttc" id="namespacellfio__v2__xxx_html_aa3676f0dd69f4b54cf7e14e3f86d32b9"><div class="ttname"><a href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">llfio_v2_xxx::length</a></div><div class="ttdeci">result&lt; section_handle::extent_type &gt; length(const section_handle &amp;self) noexcept</div><div class="ttdoc">Return the current maximum permitted extent of the memory section. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:678</div></div>
<div class="ttc" id="classllfio__v2__xxx_1_1map__handle_html_a7456b95e191ec373af61af6541dd4737"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#a7456b95e191ec373af61af6541dd4737">llfio_v2_xxx::map_handle::address</a></div><div class="ttdeci">byte * address() const noexcept</div><div class="ttdoc">The address in memory where this mapped view resides. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:487</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>
</div><!-- fragment -->
@@ -256,7 +256,7 @@ template&lt;class T &gt; </div>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; : <a class="code" href="classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d">mapped</a>((<a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> == 0) ? <a class="code" href="classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d">mapped</a>() : <a class="code" href="classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d">mapped</a>(<span class="keyword">nullptr</span>, 0,</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;#ifdef _WIN32</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; byteoffset &amp; ~65535,</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;#<span class="keywordflow">else</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#a5499feaf6b774e774a26e7decd11e3fa">utils::round_down_to_page_size</a>(byteoffset, <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#a42fc69cae3dbbf66498545cbe358e2ba">utils::page_size</a>()),</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;#endif</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; byteoffset, &amp;sh, (<a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> == (<a class="code" href="classllfio__v2__xxx_1_1mapped.html#a25d56aca213617d530ab3c9cb6f43df5">size_type</a>) -1) ? 0 : <a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> * <span class="keyword">sizeof</span>(T), _flag)) <span class="comment">// NOLINT</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; {</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1mapped_html_a25d56aca213617d530ab3c9cb6f43df5"><div class="ttname"><a href="classllfio__v2__xxx_1_1mapped.html#a25d56aca213617d530ab3c9cb6f43df5">llfio_v2_xxx::mapped::size_type</a></div><div class="ttdeci">typename section_handle::size_type size_type</div><div class="ttdoc">The size type. </div><div class="ttdef"><b>Definition:</b> mapped.hpp:52</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_html_aa3676f0dd69f4b54cf7e14e3f86d32b9"><div class="ttname"><a href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">llfio_v2_xxx::length</a></div><div class="ttdeci">result&lt; section_handle::extent_type &gt; length(const section_handle &amp;self) noexcept</div><div class="ttdoc">Return the current maximum permitted extent of the memory section. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:675</div></div>
+<div class="ttc" id="namespacellfio__v2__xxx_html_aa3676f0dd69f4b54cf7e14e3f86d32b9"><div class="ttname"><a href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">llfio_v2_xxx::length</a></div><div class="ttdeci">result&lt; section_handle::extent_type &gt; length(const section_handle &amp;self) noexcept</div><div class="ttdoc">Return the current maximum permitted extent of the memory section. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:678</div></div>
<div class="ttc" id="namespacellfio__v2__xxx_1_1utils_html_a5499feaf6b774e774a26e7decd11e3fa"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#a5499feaf6b774e774a26e7decd11e3fa">llfio_v2_xxx::utils::round_down_to_page_size</a></div><div class="ttdeci">T round_down_to_page_size(T i, size_t pagesize) noexcept</div><div class="ttdoc">Round a value to its next lowest page size multiple. </div><div class="ttdef"><b>Definition:</b> utils.hpp:51</div></div>
<div class="ttc" id="namespacellfio__v2__xxx_1_1utils_html_a42fc69cae3dbbf66498545cbe358e2ba"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#a42fc69cae3dbbf66498545cbe358e2ba">llfio_v2_xxx::utils::page_size</a></div><div class="ttdeci">size_t page_size() noexcept</div><div class="ttdoc">Returns the smallest page size of this architecture which is useful for calculating direct i/o multip...</div></div>
<div class="ttc" id="classllfio__v2__xxx_1_1mapped_html_a9a6b8b22c06bf6e9362496cdcc3ac40d"><div class="ttname"><a href="classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d">llfio_v2_xxx::mapped::mapped</a></div><div class="ttdeci">constexpr mapped()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> mapped.hpp:77</div></div>
@@ -328,7 +328,7 @@ template&lt;class T &gt; </div>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; : <a class="code" href="classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d">mapped</a>((<a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> == 0) ? <a class="code" href="classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d">mapped</a>() : <a class="code" href="classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d">mapped</a>(&amp;backing, maximum_size,</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;#ifdef _WIN32</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; byteoffset &amp; ~65535,</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;#<span class="keywordflow">else</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#a5499feaf6b774e774a26e7decd11e3fa">utils::round_down_to_page_size</a>(byteoffset, <a class="code" href="namespacellfio__v2__xxx_1_1utils.html#a42fc69cae3dbbf66498545cbe358e2ba">utils::page_size</a>()),</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;#endif</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; byteoffset, <span class="keyword">nullptr</span>, (<a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> == (<a class="code" href="classllfio__v2__xxx_1_1mapped.html#a25d56aca213617d530ab3c9cb6f43df5">size_type</a>) -1) ? 0 : <a class="code" href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">length</a> * <span class="keyword">sizeof</span>(T), _flag)) <span class="comment">// NOLINT</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; {</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1mapped_html_a25d56aca213617d530ab3c9cb6f43df5"><div class="ttname"><a href="classllfio__v2__xxx_1_1mapped.html#a25d56aca213617d530ab3c9cb6f43df5">llfio_v2_xxx::mapped::size_type</a></div><div class="ttdeci">typename section_handle::size_type size_type</div><div class="ttdoc">The size type. </div><div class="ttdef"><b>Definition:</b> mapped.hpp:52</div></div>
-<div class="ttc" id="namespacellfio__v2__xxx_html_aa3676f0dd69f4b54cf7e14e3f86d32b9"><div class="ttname"><a href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">llfio_v2_xxx::length</a></div><div class="ttdeci">result&lt; section_handle::extent_type &gt; length(const section_handle &amp;self) noexcept</div><div class="ttdoc">Return the current maximum permitted extent of the memory section. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:675</div></div>
+<div class="ttc" id="namespacellfio__v2__xxx_html_aa3676f0dd69f4b54cf7e14e3f86d32b9"><div class="ttname"><a href="namespacellfio__v2__xxx.html#aa3676f0dd69f4b54cf7e14e3f86d32b9">llfio_v2_xxx::length</a></div><div class="ttdeci">result&lt; section_handle::extent_type &gt; length(const section_handle &amp;self) noexcept</div><div class="ttdoc">Return the current maximum permitted extent of the memory section. </div><div class="ttdef"><b>Definition:</b> map_handle.hpp:678</div></div>
<div class="ttc" id="namespacellfio__v2__xxx_1_1utils_html_a5499feaf6b774e774a26e7decd11e3fa"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#a5499feaf6b774e774a26e7decd11e3fa">llfio_v2_xxx::utils::round_down_to_page_size</a></div><div class="ttdeci">T round_down_to_page_size(T i, size_t pagesize) noexcept</div><div class="ttdoc">Round a value to its next lowest page size multiple. </div><div class="ttdef"><b>Definition:</b> utils.hpp:51</div></div>
<div class="ttc" id="namespacellfio__v2__xxx_1_1utils_html_a42fc69cae3dbbf66498545cbe358e2ba"><div class="ttname"><a href="namespacellfio__v2__xxx_1_1utils.html#a42fc69cae3dbbf66498545cbe358e2ba">llfio_v2_xxx::utils::page_size</a></div><div class="ttdeci">size_t page_size() noexcept</div><div class="ttdoc">Returns the smallest page size of this architecture which is useful for calculating direct i/o multip...</div></div>
<div class="ttc" id="classllfio__v2__xxx_1_1mapped_html_a9a6b8b22c06bf6e9362496cdcc3ac40d"><div class="ttname"><a href="classllfio__v2__xxx_1_1mapped.html#a9a6b8b22c06bf6e9362496cdcc3ac40d">llfio_v2_xxx::mapped::mapped</a></div><div class="ttdeci">constexpr mapped()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> mapped.hpp:77</div></div>
diff --git a/classllfio__v2__xxx_1_1mapped__file__handle-members.html b/classllfio__v2__xxx_1_1mapped__file__handle-members.html
index fef1bfaf..8c1bb463 100644
--- a/classllfio__v2__xxx_1_1mapped__file__handle-members.html
+++ b/classllfio__v2__xxx_1_1mapped__file__handle-members.html
@@ -110,8 +110,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_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_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><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a771cdde4a208afcd8940c56f6c8c4b07">clone</a>(mode mode_=mode::unchanged, caching caching_=caching::unchanged, deadline d=std::chrono::seconds(30)) 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 bgcolor="#f0f0f0" class="even"><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>
+ <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>
+ <tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8">llfio_v2_xxx::file_handle::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>
<tr class="even"><td class="entry"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a325b7470c78ae88bab851ff054bdbc6c">close</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 bgcolor="#f0f0f0"><td class="entry"><b>const_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>
diff --git a/classllfio__v2__xxx_1_1mapped__file__handle.html b/classllfio__v2__xxx_1_1mapped__file__handle.html
index afd6096f..d640cce0 100644
--- a/classllfio__v2__xxx_1_1mapped__file__handle.html
+++ b/classllfio__v2__xxx_1_1mapped__file__handle.html
@@ -271,8 +271,6 @@ virtual <a class="el" href="structllfio__v2__xxx_1_1native__handle__type.html">n
<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:a771cdde4a208afcd8940c56f6c8c4b07"><td class="memItemLeft" align="right" valign="top">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"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a771cdde4a208afcd8940c56f6c8c4b07">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 override</td></tr>
-<tr class="separator:a771cdde4a208afcd8940c56f6c8c4b07"><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>
@@ -306,6 +304,8 @@ void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<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: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>
<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>
@@ -656,35 +656,8 @@ For portability, you can only assume that barriers write order for a single hand
</div>
</div>
-<a id="aeea4389189021b94dde6d8f2c3ccc5b3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aeea4389189021b94dde6d8f2c3ccc5b3">&#9670;&nbsp;</a></span>clone() <span class="overload">[1/2]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<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_1handle.html">handle</a>&gt; llfio_v2_xxx::handle::clone </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-<p>Clone this handle (copy constructor is disabled to avoid accidental copying)</p>
-<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX dup() or DuplicateHandle() can return. </dd></dl>
-
-</div>
-</div>
-<a id="a771cdde4a208afcd8940c56f6c8c4b07"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a771cdde4a208afcd8940c56f6c8c4b07">&#9670;&nbsp;</a></span>clone() <span class="overload">[2/2]</span></h2>
+<a id="a6b97756d8d46e80da7d0fa04158a71a8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6b97756d8d46e80da7d0fa04158a71a8">&#9670;&nbsp;</a></span>clone() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -693,7 +666,7 @@ For portability, you can only assume that barriers write order for a single hand
<td class="mlabels-left">
<table class="memname">
<tr>
- <td class="memname">virtual result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a>&gt; llfio_v2_xxx::mapped_file_handle::clone </td>
+ <td class="memname">result&lt;<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a>&gt; llfio_v2_xxx::file_handle::clone </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a>&#160;</td>
<td class="paramname"><em>mode_</em> = <code>mode::unchanged</code>, </td>
@@ -718,7 +691,7 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</td>
<td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td>
+<span class="mlabels"><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -727,11 +700,33 @@ For portability, you can only assume that barriers write order for a single hand
<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX dup() or DuplicateHandle() can return. </dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>On POSIX if changing the mode, we must loop calling <code>current_path()</code> and trying to open the path returned. Thus many allocations may occur. </dd></dl>
-<p>Reimplemented from <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#af0b8ea283f0b1c107173ad5768e5301c">llfio_v2_xxx::file_handle</a>.</p>
-<div class="fragment"><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; {</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; OUTCOME_TRY(fh, <a class="code" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">file_handle::clone</a>(mode_, caching_, d));</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a4aa124e03ec6376c70d9e07c548d0d44">mapped_file_handle</a> ret(std::move(fh), _reservation);</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a8f754fdbf69fbb9b989c5aab409f2cb2">file_handle</a> &amp;&amp;<span class="keyword">&gt;</span>(ret);</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a8f754fdbf69fbb9b989c5aab409f2cb2"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a8f754fdbf69fbb9b989c5aab409f2cb2">llfio_v2_xxx::file_handle::file_handle</a></div><div class="ttdeci">constexpr file_handle()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> file_handle.hpp:82</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1mapped__file__handle_html_a4aa124e03ec6376c70d9e07c548d0d44"><div class="ttname"><a href="classllfio__v2__xxx_1_1mapped__file__handle.html#a4aa124e03ec6376c70d9e07c548d0d44">llfio_v2_xxx::mapped_file_handle::mapped_file_handle</a></div><div class="ttdeci">constexpr mapped_file_handle()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:134</div></div>
-<div class="ttc" id="classllfio__v2__xxx_1_1handle_html_aeea4389189021b94dde6d8f2c3ccc5b3"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">llfio_v2_xxx::handle::clone</a></div><div class="ttdeci">result&lt; handle &gt; clone() const noexcept</div></div>
-</div><!-- fragment -->
+</div>
+</div>
+<a id="aeea4389189021b94dde6d8f2c3ccc5b3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeea4389189021b94dde6d8f2c3ccc5b3">&#9670;&nbsp;</a></span>clone() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<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_1handle.html">handle</a>&gt; llfio_v2_xxx::handle::clone </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span><span class="mlabel">inherited</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Clone this handle (copy constructor is disabled to avoid accidental copying)</p>
+<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX dup() or DuplicateHandle() can return. </dd></dl>
+
</div>
</div>
<a id="a00a85eec5a41f7edb2c574d40cf04535"></a>
@@ -969,7 +964,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="l00495"></a><span class="lineno"> 495</span>&#160; {</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; {</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <span class="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; {</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; }</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; bytes += i.size();</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; }</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</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="l00506"></a><span class="lineno"> 506</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="l00500"></a><span class="lineno"> 500</span>&#160; {</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><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="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; {</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; }</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; bytes += i.size();</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; }</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</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="l00511"></a><span class="lineno"> 511</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>
@@ -1007,7 +1002,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="l00509"></a><span class="lineno"> 509</span>&#160; {</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</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">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; {</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; }</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; bytes += i.size();</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; }</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</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="l00520"></a><span class="lineno"> 520</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="l00514"></a><span class="lineno"> 514</span>&#160; {</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> &amp;i : reqs.buffers)</div><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="keywordflow">if</span>(bytes + i.size() &lt; bytes)</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; {</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; }</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; bytes += i.size();</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; }</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</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="l00525"></a><span class="lineno"> 525</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>
@@ -1540,7 +1535,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="l00398"></a><span class="lineno"> 398</span>&#160;{ <span class="keywordflow">return</span> _mh.<a class="code" href="classllfio__v2__xxx_1_1map__handle.html#a073cdca57e3e3718d2eb285be51d5c92">read</a>(reqs, d); }</div><div class="ttc" id="classllfio__v2__xxx_1_1map__handle_html_a073cdca57e3e3718d2eb285be51d5c92"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#a073cdca57e3e3718d2eb285be51d5c92">llfio_v2_xxx::map_handle::read</a></div><div class="ttdeci">virtual io_result&lt; buffers_type &gt; read(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept override</div><div class="ttdoc">Read data from the mapped view. </div></div>
+<div class="fragment"><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;{ <span class="keywordflow">return</span> _mh.<a class="code" href="classllfio__v2__xxx_1_1map__handle.html#a073cdca57e3e3718d2eb285be51d5c92">read</a>(reqs, d); }</div><div class="ttc" id="classllfio__v2__xxx_1_1map__handle_html_a073cdca57e3e3718d2eb285be51d5c92"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#a073cdca57e3e3718d2eb285be51d5c92">llfio_v2_xxx::map_handle::read</a></div><div class="ttdeci">virtual io_result&lt; buffers_type &gt; read(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept override</div><div class="ttdoc">Read data from the mapped view. </div></div>
</div><!-- fragment -->
</div>
</div>
@@ -1855,7 +1850,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="l00492"></a><span class="lineno"> 492</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="l00497"></a><span class="lineno"> 497</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>
@@ -2061,7 +2056,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="l00335"></a><span class="lineno"> 335</span>&#160; {</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</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="l00337"></a><span class="lineno"> 337</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</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="l00339"></a><span class="lineno"> 339</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="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordflow">if</span>(ret)</div><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; <span class="keywordflow">return</span> ret.bytes_transferred();</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; }</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">return</span> ret.error();</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</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:163</div></div>
+<div class="fragment"><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; {</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</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="l00342"></a><span class="lineno"> 342</span>&#160; memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</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="l00344"></a><span class="lineno"> 344</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="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordflow">if</span>(ret)</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; {</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keywordflow">return</span> ret.bytes_transferred();</div><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> std::move(ret).error();</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</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:163</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>
@@ -2112,7 +2107,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>If during the attempt to write the buffers to the map a <code>SIGBUS</code> or <code>EXCEPTION_IN_PAGE_ERROR</code> is raised, an error code comparing equal to <code>errc::no_space_on_device</code> will be returned. This may not always be the cause of the raised signal, but it is by far the most likely. </dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>None if a <code>QUICKCPPLIB_NAMESPACE::signal_guard_install</code> is already instanced. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;{ <span class="keywordflow">return</span> _mh.<a class="code" href="classllfio__v2__xxx_1_1map__handle.html#a90afda5433656ed35a5814e048cc1f1b">write</a>(reqs, d); }</div><div class="ttc" id="classllfio__v2__xxx_1_1map__handle_html_a90afda5433656ed35a5814e048cc1f1b"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#a90afda5433656ed35a5814e048cc1f1b">llfio_v2_xxx::map_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 override</div><div class="ttdoc">Write data to the mapped view. </div></div>
+<div class="fragment"><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160;{ <span class="keywordflow">return</span> _mh.<a class="code" href="classllfio__v2__xxx_1_1map__handle.html#a90afda5433656ed35a5814e048cc1f1b">write</a>(reqs, d); }</div><div class="ttc" id="classllfio__v2__xxx_1_1map__handle_html_a90afda5433656ed35a5814e048cc1f1b"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#a90afda5433656ed35a5814e048cc1f1b">llfio_v2_xxx::map_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 override</div><div class="ttdoc">Write data to the mapped view. </div></div>
</div><!-- fragment -->
</div>
</div>
@@ -2171,7 +2166,7 @@ For portability, you can only assume that barriers write order for a single hand
<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>
<p>Reimplemented from <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a50caa94c51aae1f23e7708d3c6a21364">llfio_v2_xxx::file_handle</a>.</p>
-<div class="fragment"><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; {</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; OUTCOME_TRYV(_mh.<a class="code" href="classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f">zero_memory</a>({_mh.address() + offset, bytes}));</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">return</span> bytes;</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1map__handle_html_a0b87515430eb0220950b4c17a3da745f"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f">llfio_v2_xxx::map_handle::zero_memory</a></div><div class="ttdeci">result&lt; void &gt; zero_memory(buffer_type region) noexcept</div></div>
+<div class="fragment"><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; {</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; OUTCOME_TRYV(_mh.<a class="code" href="classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f">zero_memory</a>({_mh.address() + offset, bytes}));</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <span class="keywordflow">return</span> bytes;</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1map__handle_html_a0b87515430eb0220950b4c17a3da745f"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f">llfio_v2_xxx::map_handle::zero_memory</a></div><div class="ttdeci">result&lt; void &gt; zero_memory(buffer_type region) noexcept</div></div>
</div><!-- fragment -->
</div>
</div>
diff --git a/classllfio__v2__xxx_1_1mapped__file__handle.js b/classllfio__v2__xxx_1_1mapped__file__handle.js
index 7314ef8f..e23ebd70 100644
--- a/classllfio__v2__xxx_1_1mapped__file__handle.js
+++ b/classllfio__v2__xxx_1_1mapped__file__handle.js
@@ -46,8 +46,8 @@ var classllfio__v2__xxx_1_1mapped__file__handle =
[ "barrier", "classllfio__v2__xxx_1_1mapped__file__handle.html#a3af6cc47edd710a60cd7fd7435e8a479", null ],
[ "barrier", "classllfio__v2__xxx_1_1mapped__file__handle.html#aa3ec366f663f85fb4d679542b8c1b41a", 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 ],
- [ "clone", "classllfio__v2__xxx_1_1mapped__file__handle.html#a771cdde4a208afcd8940c56f6c8c4b07", null ],
[ "clone", "classllfio__v2__xxx_1_1mapped__file__handle.html#adc2e847ad7de6d05e9ed95bb1b3aac71", null ],
[ "close", "classllfio__v2__xxx_1_1mapped__file__handle.html#a325b7470c78ae88bab851ff054bdbc6c", null ],
[ "current_path", "classllfio__v2__xxx_1_1mapped__file__handle.html#a00a85eec5a41f7edb2c574d40cf04535", null ],
diff --git a/classllfio__v2__xxx_1_1section__handle.html b/classllfio__v2__xxx_1_1section__handle.html
index 84bc14b8..8ab70166 100644
--- a/classllfio__v2__xxx_1_1section__handle.html
+++ b/classllfio__v2__xxx_1_1section__handle.html
@@ -531,7 +531,7 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
</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:385</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:580</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:585</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -694,7 +694,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="l00143"></a><span class="lineno"> 143</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:159</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:793</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:796</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:270</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/functions_c.html b/functions_c.html
index ca5b8cee..9a54f3fe 100644
--- a/functions_c.html
+++ b/functions_c.html
@@ -112,9 +112,8 @@ $(document).ready(function(){initNavTree('functions_c.html','');});
<li>clone()
: <a class="el" href="classasync__file__handle.html#a67326a2f1e482b6c66b0bb18b67a6826">async_file_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a7c4b83dfd27ddf3c0551fd795d4a5817">llfio_v2_xxx::directory_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#af0b8ea283f0b1c107173ad5768e5301c">llfio_v2_xxx::file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8">llfio_v2_xxx::file_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">llfio_v2_xxx::handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a771cdde4a208afcd8940c56f6c8c4b07">llfio_v2_xxx::mapped_file_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ae260bf811da1b17c142f51fbb53476bf">llfio_v2_xxx::path_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aae07dfa26b75c9b973909c7da4580cf5">llfio_v2_xxx::symlink_handle</a>
</li>
@@ -155,7 +154,7 @@ $(document).ready(function(){initNavTree('functions_c.html','');});
<li>const_buffers_type
: <a class="el" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">llfio_v2_xxx::io_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1io__service.html#a2710d9a96e0aded48977f224b46f14fe">llfio_v2_xxx::io_service</a>
-, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a2f7fc948f4b4c795ef3d9e89a5809d11">llfio_v2_xxx::symlink_handle::const_buffers_type</a>
+, <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#af9830b9a4da9084989113bd7ab98988a">llfio_v2_xxx::symlink_handle::const_buffers_type</a>
</li>
<li>const_iterator
: <a class="el" href="structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a4307b0d40e25aeaab451539f75140f62">llfio_v2_xxx::algorithm::impl::trivial_vector_impl&lt; has_default_construction, T &gt;</a>
diff --git a/functions_func_c.html b/functions_func_c.html
index 9d19d21e..8a98705b 100644
--- a/functions_func_c.html
+++ b/functions_func_c.html
@@ -109,9 +109,8 @@ $(document).ready(function(){initNavTree('functions_func_c.html','');});
<li>clone()
: <a class="el" href="classasync__file__handle.html#a67326a2f1e482b6c66b0bb18b67a6826">async_file_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1directory__handle.html#a7c4b83dfd27ddf3c0551fd795d4a5817">llfio_v2_xxx::directory_handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#af0b8ea283f0b1c107173ad5768e5301c">llfio_v2_xxx::file_handle</a>
+, <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8">llfio_v2_xxx::file_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3">llfio_v2_xxx::handle</a>
-, <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a771cdde4a208afcd8940c56f6c8c4b07">llfio_v2_xxx::mapped_file_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1path__handle.html#ae260bf811da1b17c142f51fbb53476bf">llfio_v2_xxx::path_handle</a>
, <a class="el" href="classllfio__v2__xxx_1_1symlink__handle.html#aae07dfa26b75c9b973909c7da4580cf5">llfio_v2_xxx::symlink_handle</a>
</li>
@@ -138,10 +137,10 @@ $(document).ready(function(){initNavTree('functions_func_c.html','');});
: <a class="el" href="classllfio__v2__xxx_1_1map__handle.html#a9b3f12d17a9fc0cfbe15d389f896caa7">llfio_v2_xxx::map_handle</a>
</li>
<li>compare()
-: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a1c284ac9b48c76ad15d5371d4c8313eb">llfio_v2_xxx::path_view</a>
+: <a class="el" href="classllfio__v2__xxx_1_1path__view.html#a0f19b4fa899ae090c7143946b4349dea">llfio_v2_xxx::path_view</a>
</li>
<li>const_buffer_type()
-: <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#adb471cea17d5f27e64a9ff87a8f12806">llfio_v2_xxx::io_handle::const_buffer_type</a>
+: <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#abd415552a68aa6df0ec7b3ec4f40f31e">llfio_v2_xxx::io_handle::const_buffer_type</a>
</li>
<li>const_buffers_type()
: <a class="el" href="structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a2f7fc948f4b4c795ef3d9e89a5809d11">llfio_v2_xxx::symlink_handle::const_buffers_type</a>
diff --git a/namespacellfio__v2__xxx.html b/namespacellfio__v2__xxx.html
index cf4ae087..f6040c92 100644
--- a/namespacellfio__v2__xxx.html
+++ b/namespacellfio__v2__xxx.html
@@ -500,7 +500,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 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="l00622"></a><span class="lineno"> 622</span>&#160;{</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</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="l00624"></a><span class="lineno"> 624</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160;{</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</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="l00629"></a><span class="lineno"> 629</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a3d02b45677b6189566e862d5bcd4d5c8"></a>
@@ -552,7 +552,7 @@ For portability, you can only assume that barriers write order for a single hand
</dd>
</dl>
<p>Upon return, one knows that memory in the returned buffer has been barriered (it may be empty if there is no support for this operation in LLFIO, or if the current CPU does not support this operation). You may find the <code>is_nvram()</code> observer of particular use here. </p>
-<div class="fragment"><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160;{</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.barrier(std::forward&lt;decltype(req)&gt;(req), std::forward&lt;decltype(evict)&gt;(evict));</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160;{</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.barrier(std::forward&lt;decltype(req)&gt;(req), std::forward&lt;decltype(evict)&gt;(evict));</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a3d112d170c1d485e1120de06eef02375"></a>
@@ -741,7 +741,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="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> <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="l00733"></a><span class="lineno"> 733</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:742</div></div>
+<div class="fragment"><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160;{</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</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="l00736"></a><span class="lineno"> 736</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:745</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -800,8 +800,8 @@ 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="l00743"></a><span class="lineno"> 743</span>&#160;{</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</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="l00745"></a><span class="lineno"> 745</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:742</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:670</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(<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="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:745</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:673</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -882,7 +882,7 @@ For portability, you can only assume that barriers write order for a single hand
</dl>
<p>Note that if the file is currently zero sized, no mapping occurs now, but later when <code>truncate()</code> or <code>update_map()</code> is called.</p>
<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values which the constructors for <code>file_handle</code>, <code>section_handle</code> and <code>map_handle</code> can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160;{</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a1f0ccde00add2f09579151fd71b8f06d">mapped_file_handle::mapped_file</a>(std::forward&lt;decltype(reservation)&gt;(reservation), 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="l00456"></a><span class="lineno"> 456</span>&#160; std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_a1f0ccde00add2f09579151fd71b8f06d"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a1f0ccde00add2f09579151fd71b8f06d">llfio_v2_xxx::mapped_file</a></div><div class="ttdeci">result&lt; mapped_file_handle &gt; mapped_file(const path_handle &amp;base, mapped_file_handle::path_view_type _path, mapped_file_handle::mode _mode=mapped_file_handle::mode::read, mapped_file_handle::creation _creation=mapped_file_handle::creation::open_existing, mapped_file_handle::caching _caching=mapped_file_handle::caching::all, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:459</div></div>
+<div class="fragment"><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="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a1f0ccde00add2f09579151fd71b8f06d">mapped_file_handle::mapped_file</a>(std::forward&lt;decltype(reservation)&gt;(reservation), 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="l00450"></a><span class="lineno"> 450</span>&#160; std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_a1f0ccde00add2f09579151fd71b8f06d"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a1f0ccde00add2f09579151fd71b8f06d">llfio_v2_xxx::mapped_file</a></div><div class="ttdeci">result&lt; mapped_file_handle &gt; mapped_file(const path_handle &amp;base, mapped_file_handle::path_view_type _path, mapped_file_handle::mode _mode=mapped_file_handle::mode::read, mapped_file_handle::creation _creation=mapped_file_handle::creation::open_existing, mapped_file_handle::caching _caching=mapped_file_handle::caching::all, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:453</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -944,7 +944,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="l00461"></a><span class="lineno"> 461</span>&#160;{</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a1f0ccde00add2f09579151fd71b8f06d">mapped_file_handle::mapped_file</a>(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), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_a1f0ccde00add2f09579151fd71b8f06d"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a1f0ccde00add2f09579151fd71b8f06d">llfio_v2_xxx::mapped_file</a></div><div class="ttdeci">result&lt; mapped_file_handle &gt; mapped_file(const path_handle &amp;base, mapped_file_handle::path_view_type _path, mapped_file_handle::mode _mode=mapped_file_handle::mode::read, mapped_file_handle::creation _creation=mapped_file_handle::creation::open_existing, mapped_file_handle::caching _caching=mapped_file_handle::caching::all, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:459</div></div>
+<div class="fragment"><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="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a1f0ccde00add2f09579151fd71b8f06d">mapped_file_handle::mapped_file</a>(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), std::forward&lt;decltype(flags)&gt;(flags));</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_a1f0ccde00add2f09579151fd71b8f06d"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a1f0ccde00add2f09579151fd71b8f06d">llfio_v2_xxx::mapped_file</a></div><div class="ttdeci">result&lt; mapped_file_handle &gt; mapped_file(const path_handle &amp;base, mapped_file_handle::path_view_type _path, mapped_file_handle::mode _mode=mapped_file_handle::mode::read, mapped_file_handle::creation _creation=mapped_file_handle::creation::open_existing, mapped_file_handle::caching _caching=mapped_file_handle::caching::all, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:453</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -1001,7 +1001,7 @@ For portability, you can only assume that barriers write order for a single hand
</div><div class="memdoc">
<p>Create an mapped 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="l00474"></a><span class="lineno"> 474</span>&#160;{</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a6aaeb9bab04b1dd25fca172623df8dfc">mapped_file_handle::mapped_random_file</a>(std::forward&lt;decltype(reservation)&gt;(reservation), 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="l00476"></a><span class="lineno"> 476</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_a6aaeb9bab04b1dd25fca172623df8dfc"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a6aaeb9bab04b1dd25fca172623df8dfc">llfio_v2_xxx::mapped_random_file</a></div><div class="ttdeci">result&lt; mapped_file_handle &gt; mapped_random_file(mapped_file_handle::size_type reservation, const path_handle &amp;dirpath, mapped_file_handle::mode _mode=mapped_file_handle::mode::write, mapped_file_handle::caching _caching=mapped_file_handle::caching::temporary, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:472</div></div>
+<div class="fragment"><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;{</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a6aaeb9bab04b1dd25fca172623df8dfc">mapped_file_handle::mapped_random_file</a>(std::forward&lt;decltype(reservation)&gt;(reservation), 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="l00470"></a><span class="lineno"> 470</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_a6aaeb9bab04b1dd25fca172623df8dfc"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a6aaeb9bab04b1dd25fca172623df8dfc">llfio_v2_xxx::mapped_random_file</a></div><div class="ttdeci">result&lt; mapped_file_handle &gt; mapped_random_file(mapped_file_handle::size_type reservation, const path_handle &amp;dirpath, mapped_file_handle::mode _mode=mapped_file_handle::mode::write, mapped_file_handle::caching _caching=mapped_file_handle::caching::temporary, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:466</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -1065,7 +1065,7 @@ For portability, you can only assume that barriers write order for a single hand
<p>Create a mapped 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>mapped_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="l00494"></a><span class="lineno"> 494</span>&#160;{</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a3eb3e8ef0ddff1270b3d78d4178335c7">mapped_file_handle::mapped_temp_file</a>(std::forward&lt;decltype(reservation)&gt;(reservation), 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="l00496"></a><span class="lineno"> 496</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_a3eb3e8ef0ddff1270b3d78d4178335c7"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a3eb3e8ef0ddff1270b3d78d4178335c7">llfio_v2_xxx::mapped_temp_file</a></div><div class="ttdeci">result&lt; mapped_file_handle &gt; mapped_temp_file(mapped_file_handle::size_type reservation, mapped_file_handle::path_view_type name=mapped_file_handle::path_view_type(), mapped_file_handle::mode _mode=mapped_file_handle::mode::write, mapped_file_handle::creation _creation=mapped_file_handle::creation::if_needed, mapped_file_handle::caching _caching=mapped_file_handle::caching::temporary, mapped_file_handle::flag flags=mapped_file_handle::flag::unlink_on_first_close) noexcept</div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:492</div></div>
+<div class="fragment"><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; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a3eb3e8ef0ddff1270b3d78d4178335c7">mapped_file_handle::mapped_temp_file</a>(std::forward&lt;decltype(reservation)&gt;(reservation), 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="l00490"></a><span class="lineno"> 490</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_a3eb3e8ef0ddff1270b3d78d4178335c7"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a3eb3e8ef0ddff1270b3d78d4178335c7">llfio_v2_xxx::mapped_temp_file</a></div><div class="ttdeci">result&lt; mapped_file_handle &gt; mapped_temp_file(mapped_file_handle::size_type reservation, mapped_file_handle::path_view_type name=mapped_file_handle::path_view_type(), mapped_file_handle::mode _mode=mapped_file_handle::mode::write, mapped_file_handle::creation _creation=mapped_file_handle::creation::if_needed, mapped_file_handle::caching _caching=mapped_file_handle::caching::temporary, mapped_file_handle::flag flags=mapped_file_handle::flag::unlink_on_first_close) noexcept</div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:486</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -1110,7 +1110,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 mapped 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="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> <a class="code" href="namespacellfio__v2__xxx.html#a88517fa902d830cf56c032fa5470c89b">mapped_file_handle::mapped_temp_inode</a>(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="l00510"></a><span class="lineno"> 510</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_a88517fa902d830cf56c032fa5470c89b"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a88517fa902d830cf56c032fa5470c89b">llfio_v2_xxx::mapped_temp_inode</a></div><div class="ttdeci">result&lt; mapped_file_handle &gt; mapped_temp_inode(const path_handle &amp;dir=path_discovery::storage_backed_temporary_files_directory(), mapped_file_handle::mode _mode=mapped_file_handle::mode::write, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:507</div></div>
+<div class="fragment"><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160;{</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a88517fa902d830cf56c032fa5470c89b">mapped_file_handle::mapped_temp_inode</a>(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="l00504"></a><span class="lineno"> 504</span>&#160;}</div><div class="ttc" id="namespacellfio__v2__xxx_html_a88517fa902d830cf56c032fa5470c89b"><div class="ttname"><a href="namespacellfio__v2__xxx.html#a88517fa902d830cf56c032fa5470c89b">llfio_v2_xxx::mapped_temp_inode</a></div><div class="ttdeci">result&lt; mapped_file_handle &gt; mapped_temp_inode(const path_handle &amp;dir=path_discovery::storage_backed_temporary_files_directory(), mapped_file_handle::mode _mode=mapped_file_handle::mode::write, mapped_file_handle::flag flags=mapped_file_handle::flag::none) noexcept</div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:501</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -1413,7 +1413,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="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">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="l00557"></a><span class="lineno"> 557</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160;{</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</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="l00562"></a><span class="lineno"> 562</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="ab993693c98cdb52e2d611f8f9e24e4e2"></a>
@@ -1469,7 +1469,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="l00794"></a><span class="lineno"> 794</span>&#160;{</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</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="l00796"></a><span class="lineno"> 796</span>&#160;}</div></div><!-- fragment -->
+<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>.read(std::forward&lt;decltype(reqs)&gt;(reqs), std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a60fa5c64c83ce05c8287c5379d082e49"></a>
@@ -1590,7 +1590,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 dup(), open() or NtCreateSection() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160;{</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd">section_handle::section</a>(std::forward&lt;decltype(backing)&gt;(backing), std::forward&lt;decltype(maximum_size)&gt;(maximum_size), std::forward&lt;decltype(_flag)&gt;(_flag));</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160;}</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:670</div></div>
+<div class="fragment"><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160;{</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd">section_handle::section</a>(std::forward&lt;decltype(backing)&gt;(backing), std::forward&lt;decltype(maximum_size)&gt;(maximum_size), std::forward&lt;decltype(_flag)&gt;(_flag));</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160;}</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:673</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -1638,7 +1638,7 @@ For portability, you can only assume that barriers write order for a single hand
</dl>
<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="l00660"></a><span class="lineno"> 660</span>&#160;{</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd">section_handle::section</a>(std::forward&lt;decltype(backing)&gt;(backing), std::forward&lt;decltype(bytes)&gt;(bytes));</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160;}</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:670</div></div>
+<div class="fragment"><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160;{</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd">section_handle::section</a>(std::forward&lt;decltype(backing)&gt;(backing), std::forward&lt;decltype(bytes)&gt;(bytes));</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160;}</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:673</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -1692,7 +1692,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 dup(), open() or NtCreateSection() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160;{</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd">section_handle::section</a>(std::forward&lt;decltype(bytes)&gt;(bytes), std::forward&lt;decltype(dirh)&gt;(dirh), std::forward&lt;decltype(_flag)&gt;(_flag));</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160;}</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:670</div></div>
+<div class="fragment"><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160;{</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacellfio__v2__xxx.html#a5323ac4d73623d99f92109a5c184e5dd">section_handle::section</a>(std::forward&lt;decltype(bytes)&gt;(bytes), std::forward&lt;decltype(dirh)&gt;(dirh), std::forward&lt;decltype(_flag)&gt;(_flag));</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160;}</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:673</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -1943,7 +1943,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 <code>NtExtendSection()</code> or <code>ftruncate()</code> can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160;{</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</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="l00689"></a><span class="lineno"> 689</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160;{</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</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="l00692"></a><span class="lineno"> 692</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a8231f6ba00d0d5840b47981ecc148e51"></a>
@@ -1999,7 +1999,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="l00778"></a><span class="lineno"> 778</span>&#160;{</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</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="l00780"></a><span class="lineno"> 780</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160;{</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</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="l00783"></a><span class="lineno"> 783</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a3c20b46beeb225aa63ade3dc42e73362"></a>
@@ -2101,7 +2101,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="l00581"></a><span class="lineno"> 581</span>&#160;{</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</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="l00583"></a><span class="lineno"> 583</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160;{</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</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="l00588"></a><span class="lineno"> 588</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a5ea3d93e8b2c7f6e3fca7a9cde734312"></a>
@@ -2150,7 +2150,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="l00586"></a><span class="lineno"> 586</span>&#160;{</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</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="l00588"></a><span class="lineno"> 588</span>&#160;}</div></div><!-- fragment -->
+<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; <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="l00593"></a><span class="lineno"> 593</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a681ed7e98ac17e6bb336b9287365141b"></a>
@@ -2205,7 +2205,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="l00808"></a><span class="lineno"> 808</span>&#160;{</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</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="l00810"></a><span class="lineno"> 810</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160;{</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</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="l00813"></a><span class="lineno"> 813</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="ad0fb15649a46da0d75b5797bfda8dc2e"></a>
diff --git a/navtreedata.js b/navtreedata.js
index e14e5921..93fc6100 100644
--- a/navtreedata.js
+++ b/navtreedata.js
@@ -40,7 +40,7 @@ var NAVTREEINDEX =
[
"annotated.html",
"classllfio__v2__xxx_1_1algorithm_1_1shared__fs__mutex_1_1shared__fs__mutex_1_1entities__guard.html#a573150086df5bb6db571443b98f08776",
-"classllfio__v2__xxx_1_1file__handle.html#af0b8ea283f0b1c107173ad5768e5301c",
+"classllfio__v2__xxx_1_1file__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3",
"classllfio__v2__xxx_1_1map__handle.html#a5929f46f42112bd805ab5001bfbf9d2aa334c4a4c42fdb79d7ebc3e73b517e6f8",
"classllfio__v2__xxx_1_1path__handle.html#ad397dbfc5cd5eb53f203a2c1c9540a2e",
"config_8hpp.html#a163aaaaa4d238aebd5fb9acec82006dd",
diff --git a/navtreeindex0.js b/navtreeindex0.js
index be7c6943..3420c77b 100644
--- a/navtreeindex0.js
+++ b/navtreeindex0.js
@@ -35,6 +35,7 @@ var NAVTREEINDEX0 =
"classasync__file__handle.html#a2ec710dbe9f6654aff90df7fa6ddd106":[3,0,1,15],
"classasync__file__handle.html#a3189fb435df6f0beab09efbc71effc44":[3,0,1,37],
"classasync__file__handle.html#a34c5410c2bc3277e562800c5a64b5f22":[3,0,1,20],
+"classasync__file__handle.html#a376d80d9b88014ec83c7f3377a6f7f55":[3,0,1,34],
"classasync__file__handle.html#a41a513ecb6883de42a1bfb255e3d3f17":[3,0,1,42],
"classasync__file__handle.html#a4357d0e6d59cf5be3533b6addeaa5206":[3,0,1,12],
"classasync__file__handle.html#a440575efbea782166c833bf6dff9edec":[3,0,1,18],
@@ -55,7 +56,6 @@ var NAVTREEINDEX0 =
"classasync__file__handle.html#a7f1c4c62f4db521a419ee6f97d9f354d":[3,0,1,40],
"classasync__file__handle.html#a7f25701630c4fec0a1df0bc52a1816e3":[3,0,1,28],
"classasync__file__handle.html#a9e8642bf1a0b9cac9bdcdf914022ea13":[3,0,1,5],
-"classasync__file__handle.html#aa388b106a798471c95a91daa40824033":[3,0,1,34],
"classasync__file__handle.html#aa3a4f0617a012520659bf506c9a67a0d":[3,0,1,49],
"classasync__file__handle.html#aa57bf3f93d4f680521815d2d63bf6c0d":[3,0,1,8],
"classasync__file__handle.html#aab74eeda06f83be56406879dda2352df":[3,0,1,31],
diff --git a/navtreeindex1.js b/navtreeindex1.js
index 012656be..6184e1d7 100644
--- a/navtreeindex1.js
+++ b/navtreeindex1.js
@@ -206,6 +206,7 @@ var NAVTREEINDEX1 =
"classllfio__v2__xxx_1_1file__handle.html#a665ddf5aa47e1d8a94580570a0457c8a":[3,0,0,18,32],
"classllfio__v2__xxx_1_1file__handle.html#a68412ff0d490ac8d545ec2766d2da677":[3,0,0,18,13],
"classllfio__v2__xxx_1_1file__handle.html#a695ce0ed1606d540cfa452790ea71632":[3,0,0,18,44],
+"classllfio__v2__xxx_1_1file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8":[3,0,0,18,30],
"classllfio__v2__xxx_1_1file__handle.html#a6e46c6ea379152eb559ab15990f7c467":[3,0,0,18,58],
"classllfio__v2__xxx_1_1file__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[3,0,0,18,25],
"classllfio__v2__xxx_1_1file__handle.html#a72f5dad56f8bb4544d36637892f74ae7":[3,0,0,18,21],
@@ -248,6 +249,5 @@ var NAVTREEINDEX1 =
"classllfio__v2__xxx_1_1file__handle.html#ae0d5de068f71628e9491c5669f89dca0":[3,0,0,18,45],
"classllfio__v2__xxx_1_1file__handle.html#ae1abb705dbe9890e103365bf7c61521e":[3,0,0,18,70],
"classllfio__v2__xxx_1_1file__handle.html#ae68f0cbc7793647a8ae07d72929e8fd6":[3,0,0,18,3],
-"classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a":[3,0,0,18,63],
-"classllfio__v2__xxx_1_1file__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[3,0,0,18,31]
+"classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a":[3,0,0,18,63]
};
diff --git a/navtreeindex2.js b/navtreeindex2.js
index 1622a639..dec182d1 100644
--- a/navtreeindex2.js
+++ b/navtreeindex2.js
@@ -1,6 +1,6 @@
var NAVTREEINDEX2 =
{
-"classllfio__v2__xxx_1_1file__handle.html#af0b8ea283f0b1c107173ad5768e5301c":[3,0,0,18,30],
+"classllfio__v2__xxx_1_1file__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[3,0,0,18,31],
"classllfio__v2__xxx_1_1file__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[3,0,0,18,77],
"classllfio__v2__xxx_1_1fs__handle.html":[3,0,0,19],
"classllfio__v2__xxx_1_1fs__handle.html#a09d3ff8122c08cdbcf876f2e4ee6564b":[3,0,0,19,12],
diff --git a/navtreeindex3.js b/navtreeindex3.js
index 28f352ba..6bc39ae4 100644
--- a/navtreeindex3.js
+++ b/navtreeindex3.js
@@ -145,11 +145,11 @@ var NAVTREEINDEX3 =
"classllfio__v2__xxx_1_1mapped__file__handle.html#a609d84c0abc8efadb678237b48d1011b":[3,0,0,27,4],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a60ebe6a1e7e0831c0c5d3bea9050cc96":[3,0,0,27,14],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a695ce0ed1606d540cfa452790ea71632":[3,0,0,27,48],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8":[3,0,0,27,32],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a6ce10c43cc6fd9fc8e1af6501b265ee9":[3,0,0,27,21],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a6e46c6ea379152eb559ab15990f7c467":[3,0,0,27,65],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a7126a726b2a06e4c1eca1a94c41163ff":[3,0,0,27,26],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a751e912d8dab755ea969a418c1d544eb":[3,0,0,27,70],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#a771cdde4a208afcd8940c56f6c8c4b07":[3,0,0,27,33],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a7751fbb4b1aff527f469412ea33116ed":[3,0,0,27,46],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a7b16c3e3c0645f2d90e0506160419661":[3,0,0,27,97],
"classllfio__v2__xxx_1_1mapped__file__handle.html#a7bff548a619fa73951bf561039915076":[3,0,0,27,3],
@@ -196,7 +196,7 @@ var NAVTREEINDEX3 =
"classllfio__v2__xxx_1_1mapped__file__handle.html#ae7735588338065ede0ab9b7f979bc65a":[3,0,0,27,74],
"classllfio__v2__xxx_1_1mapped__file__handle.html#ae865ab7d7aceab91b9556f6704329e57":[3,0,0,27,61],
"classllfio__v2__xxx_1_1mapped__file__handle.html#aecc5c8f55550a0c83e63b73e50e5ed0b":[3,0,0,27,91],
-"classllfio__v2__xxx_1_1mapped__file__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[3,0,0,27,32],
+"classllfio__v2__xxx_1_1mapped__file__handle.html#aeea4389189021b94dde6d8f2c3ccc5b3":[3,0,0,27,33],
"classllfio__v2__xxx_1_1mapped__file__handle.html#af781e99c23d0a8158c249066214ac49c":[3,0,0,27,25],
"classllfio__v2__xxx_1_1mapped__file__handle.html#affb091ded80ffde7c0c3854e2abc52fd":[3,0,0,27,92],
"classllfio__v2__xxx_1_1path__handle.html":[3,0,0,29],
diff --git a/navtreeindex5.js b/navtreeindex5.js
index 03e45be0..81f9dfa0 100644
--- a/navtreeindex5.js
+++ b/navtreeindex5.js
@@ -105,22 +105,22 @@ var NAVTREEINDEX5 =
"group__config.html":[1,0],
"group__config.html#ga090b0d323b6d7d2496dba7aa42068013":[1,0,15],
"group__config.html#ga090b0d323b6d7d2496dba7aa42068013":[4,0,0,0,2,8],
-"group__config.html#ga18295c2601f9e6cb9e759d57fa0d8ab4":[1,0,16],
"group__config.html#ga18295c2601f9e6cb9e759d57fa0d8ab4":[4,0,0,0,2,9],
-"group__config.html#ga2e45ede29ed7b2aa06eb19aff2485541":[4,0,0,0,0,2,13],
+"group__config.html#ga18295c2601f9e6cb9e759d57fa0d8ab4":[1,0,16],
"group__config.html#ga2e45ede29ed7b2aa06eb19aff2485541":[1,0,6],
+"group__config.html#ga2e45ede29ed7b2aa06eb19aff2485541":[4,0,0,0,0,2,13],
"group__config.html#ga40c15a3fc44361077b478acbfaca18ee":[1,0,3],
"group__config.html#ga40c15a3fc44361077b478acbfaca18ee":[4,0,0,0,0,2,9],
"group__config.html#ga48fcb899a9d482d406f8fdbebc791ba0":[1,0,1],
"group__config.html#ga48fcb899a9d482d406f8fdbebc791ba0":[4,0,0,0,0,2,7],
"group__config.html#ga5365e6c96107a8e7edf6030462562cae":[4,0,0,0,0,2,6],
"group__config.html#ga5365e6c96107a8e7edf6030462562cae":[1,0,0],
-"group__config.html#ga799d6ef19b741b67d019652e4acc271f":[4,0,0,0,0,2,10],
"group__config.html#ga799d6ef19b741b67d019652e4acc271f":[1,0,4],
+"group__config.html#ga799d6ef19b741b67d019652e4acc271f":[4,0,0,0,0,2,10],
"group__config.html#ga84df5d479525cd6b58f873c2f9869b22":[4,0,0,0,0,2,25],
"group__config.html#ga84df5d479525cd6b58f873c2f9869b22":[1,0,11],
-"group__config.html#gaadd4f1f9d1a5c77c3b40d9e1b759b706":[4,0,0,0,2,3],
"group__config.html#gaadd4f1f9d1a5c77c3b40d9e1b759b706":[1,0,7],
+"group__config.html#gaadd4f1f9d1a5c77c3b40d9e1b759b706":[4,0,0,0,2,3],
"group__config.html#gab03294596f77a7717954929a887ca425":[4,0,0,0,2,7],
"group__config.html#gab03294596f77a7717954929a887ca425":[1,0,14],
"group__config.html#gab2f82803f0ce479a2993d3b7696db8d3":[4,0,0,0,0,2,26],
@@ -133,8 +133,8 @@ var NAVTREEINDEX5 =
"group__config.html#gacac3045524a50876c1bc6068bd6237f0":[1,0,13],
"group__config.html#gad270840dbd547a75ad62d48e93412ca7":[1,0,2],
"group__config.html#gad270840dbd547a75ad62d48e93412ca7":[4,0,0,0,0,2,8],
-"group__config.html#gae1eb04a1ef4089291c04f60a66b9849e":[1,0,10],
"group__config.html#gae1eb04a1ef4089291c04f60a66b9849e":[4,0,0,0,0,2,24],
+"group__config.html#gae1eb04a1ef4089291c04f60a66b9849e":[1,0,10],
"group__config.html#gaf958c6b17b345d3b84043bf7352451f2":[4,0,0,0,0,2,12],
"group__config.html#gaf958c6b17b345d3b84043bf7352451f2":[1,0,5],
"handle_8hpp.html":[4,0,0,0,0,7],
diff --git a/navtreeindex7.js b/navtreeindex7.js
index bf92a70a..9e961701 100644
--- a/navtreeindex7.js
+++ b/navtreeindex7.js
@@ -91,10 +91,10 @@ var NAVTREEINDEX7 =
"structllfio__v2__xxx_1_1io__handle_1_1io__result.html":[3,0,0,21,4],
"structllfio__v2__xxx_1_1io__handle_1_1io__result.html#a458ac6f7315d452180e7ed89f9ceba83":[3,0,0,21,4,8],
"structllfio__v2__xxx_1_1io__handle_1_1io__result.html#a58e05cc0f5fe29282c69d44e6797d41a":[3,0,0,21,4,5],
-"structllfio__v2__xxx_1_1io__handle_1_1io__result.html#a5a5c16b320edf9894dfc1f1f9f817d18":[3,0,0,21,4,6],
+"structllfio__v2__xxx_1_1io__handle_1_1io__result.html#a5a5c16b320edf9894dfc1f1f9f817d18":[3,0,0,21,4,7],
"structllfio__v2__xxx_1_1io__handle_1_1io__result.html#a80942d3d1854695f772ec4b12962aa63":[3,0,0,21,4,1],
"structllfio__v2__xxx_1_1io__handle_1_1io__result.html#a90bee69c746e646458e0d255ce18668d":[3,0,0,21,4,3],
-"structllfio__v2__xxx_1_1io__handle_1_1io__result.html#ab4cec8941a442e257aab1f0fd615a8a3":[3,0,0,21,4,7],
+"structllfio__v2__xxx_1_1io__handle_1_1io__result.html#ab4cec8941a442e257aab1f0fd615a8a3":[3,0,0,21,4,6],
"structllfio__v2__xxx_1_1io__handle_1_1io__result.html#acc75d0f4c3003db5eed4d6ef1122e77a":[3,0,0,21,4,0],
"structllfio__v2__xxx_1_1io__handle_1_1io__result.html#ae49f06f0a4b9f268b413181ccf75fd8f":[3,0,0,21,4,2],
"structllfio__v2__xxx_1_1io__handle_1_1io__result.html#aea1d610bc13166971300720b194feb64":[3,0,0,21,4,4],
diff --git a/navtreeindex8.js b/navtreeindex8.js
index 8ec0460e..8aecb6e7 100644
--- a/navtreeindex8.js
+++ b/navtreeindex8.js
@@ -191,8 +191,8 @@ var NAVTREEINDEX8 =
"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html":[3,0,0,35,4],
"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#a33e29e085faf927b441f5bc6432051fd":[3,0,0,35,4,0],
"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#a95d04a85fd6c6de0f0f46ab2f1bbf3c5":[3,0,0,35,4,4],
-"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#ab80d17f7c11535e95b374938d4a89ff7":[3,0,0,35,4,1],
"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#ab80d17f7c11535e95b374938d4a89ff7":[3,0,0,35,4,2],
+"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#ab80d17f7c11535e95b374938d4a89ff7":[3,0,0,35,4,1],
"structllfio__v2__xxx_1_1symlink__handle_1_1io__request_3_01const__buffers__type_00_01_________01_4.html#ac6c62e07618b3d0bb32cfcca328ddb20":[3,0,0,35,4,3],
"structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html":[3,0,0,3,0,0],
"structllfio__v2__xxx_1_1utils_1_1page__allocator_1_1rebind.html#a0093a2a440bd3662b0ec692db4b59748":[3,0,0,3,0,0,0],
@@ -215,8 +215,9 @@ var NAVTREEINDEX8 =
"trivial__vector_8hpp.html#ae0973243c4b58d53d6f11ce5a2535a8c":[4,0,0,0,0,0,2,14],
"unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage.html":[3,0,1,1,0],
"unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage.html#a1fbdb39d02e4b7ca913cce1f5b8d01d5":[3,0,1,1,0,0],
-"unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage.html#a32f240cdcc588396841d0cf21389c939":[3,0,1,1,0,2],
-"unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage.html#acadd98cb8cb31f44f22fee812948e7ff":[3,0,1,1,0,1],
+"unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage.html#a32f240cdcc588396841d0cf21389c939":[3,0,1,1,0,3],
+"unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage.html#acaad1e0b7bc61daf3bdf58821fb597d9":[3,0,1,1,0,1],
+"unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage.html#acadd98cb8cb31f44f22fee812948e7ff":[3,0,1,1,0,2],
"utils_8hpp.html":[4,0,0,0,0,23],
"utils_8hpp.html#a2305cf865b7952f58aba997c4ac95efb":[4,0,0,0,0,23,6],
"utils_8hpp.html#a42fc69cae3dbbf66498545cbe358e2ba":[4,0,0,0,0,23,11],
diff --git a/search/all_3.js b/search/all_3.js
index e5d239a0..f4ffdb55 100644
--- a/search/all_3.js
+++ b/search/all_3.js
@@ -9,7 +9,7 @@ var searchData=
['cbegin',['cbegin',['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a008f53151591d2ff9c73e9189d032205',1,'llfio_v2_xxx::io_handle::buffer_type::cbegin()'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#ac9763b53c5a059851d0e2e4901cb44b2',1,'llfio_v2_xxx::io_handle::const_buffer_type::cbegin()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aca3d0c03e7256af2d2126d47bfc44cd0',1,'llfio_v2_xxx::symlink_handle::buffers_type::cbegin()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a41c96f5f7c229e50b0ec1ed469fc07d9',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::cbegin()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3392be9db54104020b23c2792c63fa53',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::cbegin()']]],
['cend',['cend',['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a7b7778075bc57c224146826fc6624a36',1,'llfio_v2_xxx::io_handle::buffer_type::cend()'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a94bef1f3da434964f250f70721b96554',1,'llfio_v2_xxx::io_handle::const_buffer_type::cend()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aac4581300de0e933397e3bb17daac03d',1,'llfio_v2_xxx::symlink_handle::buffers_type::cend()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#accf47d6df50545ad0f84e5237340a18a',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::cend()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aaf7c20ce48122ee281fffa106e411101',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::cend()']]],
['clear',['clear',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html#aeaca8fe0437080153716297e8dfdbcaa',1,'llfio_v2_xxx::storage_profile::item::clear()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7905509edbdc5e9e9819ffb3f31d6d5c',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::clear()']]],
- ['clone',['clone',['../classasync__file__handle.html#a67326a2f1e482b6c66b0bb18b67a6826',1,'async_file_handle::clone()'],['../classllfio__v2__xxx_1_1directory__handle.html#a7c4b83dfd27ddf3c0551fd795d4a5817',1,'llfio_v2_xxx::directory_handle::clone()'],['../classllfio__v2__xxx_1_1file__handle.html#af0b8ea283f0b1c107173ad5768e5301c',1,'llfio_v2_xxx::file_handle::clone()'],['../classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3',1,'llfio_v2_xxx::handle::clone()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a771cdde4a208afcd8940c56f6c8c4b07',1,'llfio_v2_xxx::mapped_file_handle::clone()'],['../classllfio__v2__xxx_1_1path__handle.html#ae260bf811da1b17c142f51fbb53476bf',1,'llfio_v2_xxx::path_handle::clone()'],['../classllfio__v2__xxx_1_1symlink__handle.html#aae07dfa26b75c9b973909c7da4580cf5',1,'llfio_v2_xxx::symlink_handle::clone()']]],
+ ['clone',['clone',['../classasync__file__handle.html#a67326a2f1e482b6c66b0bb18b67a6826',1,'async_file_handle::clone()'],['../classllfio__v2__xxx_1_1directory__handle.html#a7c4b83dfd27ddf3c0551fd795d4a5817',1,'llfio_v2_xxx::directory_handle::clone()'],['../classllfio__v2__xxx_1_1file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8',1,'llfio_v2_xxx::file_handle::clone()'],['../classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3',1,'llfio_v2_xxx::handle::clone()'],['../classllfio__v2__xxx_1_1path__handle.html#ae260bf811da1b17c142f51fbb53476bf',1,'llfio_v2_xxx::path_handle::clone()'],['../classllfio__v2__xxx_1_1symlink__handle.html#aae07dfa26b75c9b973909c7da4580cf5',1,'llfio_v2_xxx::symlink_handle::clone()']]],
['clone_5fto_5fpath_5fhandle',['clone_to_path_handle',['../classllfio__v2__xxx_1_1directory__handle.html#aa0b7dc541e6188fed2950444089fed6c',1,'llfio_v2_xxx::directory_handle']]],
['close',['close',['../classllfio__v2__xxx_1_1directory__handle.html#a8eb4f8792e37c370d5f53c643699f8b7',1,'llfio_v2_xxx::directory_handle::close()'],['../classllfio__v2__xxx_1_1file__handle.html#a665ddf5aa47e1d8a94580570a0457c8a',1,'llfio_v2_xxx::file_handle::close()'],['../classllfio__v2__xxx_1_1handle.html#a62a75b1a4a24fbc9ad2e98a641167db6',1,'llfio_v2_xxx::handle::close()'],['../classllfio__v2__xxx_1_1section__handle.html#a967031835185e5ba872a4e584d51c40d',1,'llfio_v2_xxx::section_handle::close()'],['../classllfio__v2__xxx_1_1map__handle.html#ab6704788ecc652589c3e155f47b40a5e',1,'llfio_v2_xxx::map_handle::close()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a325b7470c78ae88bab851ff054bdbc6c',1,'llfio_v2_xxx::mapped_file_handle::close()'],['../classllfio__v2__xxx_1_1path__handle.html#ad397dbfc5cd5eb53f203a2c1c9540a2e',1,'llfio_v2_xxx::path_handle::close()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a2a22f51ca307aa30660ed91b26785ec3',1,'llfio_v2_xxx::symlink_handle::close()'],['../namespacellfio__v2__xxx.html#af6109ac3bc59d2b15edcded08060d1b0',1,'llfio_v2_xxx::close(handle &amp;self) noexcept'],['../namespacellfio__v2__xxx.html#a30183de3590a31b5ef3b2952f700b110',1,'llfio_v2_xxx::close(map_handle &amp;self) noexcept']]],
['co_5fread',['co_read',['../classasync__file__handle.html#a51e4032fd025d04213386ed2973fb8c7',1,'async_file_handle::co_read(io_request&lt; buffers_type &gt; reqs) noexcept'],['../classasync__file__handle.html#a7d7c5be5a207988990c73e9a04dbcf45',1,'async_file_handle::co_read(extent_type offset, std::initializer_list&lt; buffer_type &gt; lst) noexcept'],['../async__file__handle_8hpp.html#adca2a1a80aae35f32f8c575db5d22215',1,'co_read(async_file_handle &amp;self, async_file_handle::io_request&lt; async_file_handle::buffers_type &gt; reqs) noexcept:&#160;async_file_handle.hpp'],['../async__file__handle_8hpp.html#a6e58e89423ae965216b7034f436cb596',1,'co_read(async_file_handle &amp;self, async_file_handle::extent_type offset, std::initializer_list&lt; async_file_handle::buffer_type &gt; lst) noexcept:&#160;async_file_handle.hpp']]],
diff --git a/search/functions_3.js b/search/functions_3.js
index dbd48b4c..1f1f7a88 100644
--- a/search/functions_3.js
+++ b/search/functions_3.js
@@ -5,7 +5,7 @@ var searchData=
['cbegin',['cbegin',['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a008f53151591d2ff9c73e9189d032205',1,'llfio_v2_xxx::io_handle::buffer_type::cbegin()'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#ac9763b53c5a059851d0e2e4901cb44b2',1,'llfio_v2_xxx::io_handle::const_buffer_type::cbegin()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aca3d0c03e7256af2d2126d47bfc44cd0',1,'llfio_v2_xxx::symlink_handle::buffers_type::cbegin()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#a41c96f5f7c229e50b0ec1ed469fc07d9',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::cbegin()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a3392be9db54104020b23c2792c63fa53',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::cbegin()']]],
['cend',['cend',['../structllfio__v2__xxx_1_1io__handle_1_1buffer__type.html#a7b7778075bc57c224146826fc6624a36',1,'llfio_v2_xxx::io_handle::buffer_type::cend()'],['../structllfio__v2__xxx_1_1io__handle_1_1const__buffer__type.html#a94bef1f3da434964f250f70721b96554',1,'llfio_v2_xxx::io_handle::const_buffer_type::cend()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1buffers__type.html#aac4581300de0e933397e3bb17daac03d',1,'llfio_v2_xxx::symlink_handle::buffers_type::cend()'],['../structllfio__v2__xxx_1_1symlink__handle_1_1const__buffers__type.html#accf47d6df50545ad0f84e5237340a18a',1,'llfio_v2_xxx::symlink_handle::const_buffers_type::cend()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#aaf7c20ce48122ee281fffa106e411101',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::cend()']]],
['clear',['clear',['../structllfio__v2__xxx_1_1storage__profile_1_1item.html#aeaca8fe0437080153716297e8dfdbcaa',1,'llfio_v2_xxx::storage_profile::item::clear()'],['../structllfio__v2__xxx_1_1algorithm_1_1impl_1_1trivial__vector__impl.html#a7905509edbdc5e9e9819ffb3f31d6d5c',1,'llfio_v2_xxx::algorithm::impl::trivial_vector_impl::clear()']]],
- ['clone',['clone',['../classasync__file__handle.html#a67326a2f1e482b6c66b0bb18b67a6826',1,'async_file_handle::clone()'],['../classllfio__v2__xxx_1_1directory__handle.html#a7c4b83dfd27ddf3c0551fd795d4a5817',1,'llfio_v2_xxx::directory_handle::clone()'],['../classllfio__v2__xxx_1_1file__handle.html#af0b8ea283f0b1c107173ad5768e5301c',1,'llfio_v2_xxx::file_handle::clone()'],['../classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3',1,'llfio_v2_xxx::handle::clone()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a771cdde4a208afcd8940c56f6c8c4b07',1,'llfio_v2_xxx::mapped_file_handle::clone()'],['../classllfio__v2__xxx_1_1path__handle.html#ae260bf811da1b17c142f51fbb53476bf',1,'llfio_v2_xxx::path_handle::clone()'],['../classllfio__v2__xxx_1_1symlink__handle.html#aae07dfa26b75c9b973909c7da4580cf5',1,'llfio_v2_xxx::symlink_handle::clone()']]],
+ ['clone',['clone',['../classasync__file__handle.html#a67326a2f1e482b6c66b0bb18b67a6826',1,'async_file_handle::clone()'],['../classllfio__v2__xxx_1_1directory__handle.html#a7c4b83dfd27ddf3c0551fd795d4a5817',1,'llfio_v2_xxx::directory_handle::clone()'],['../classllfio__v2__xxx_1_1file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8',1,'llfio_v2_xxx::file_handle::clone()'],['../classllfio__v2__xxx_1_1handle.html#aeea4389189021b94dde6d8f2c3ccc5b3',1,'llfio_v2_xxx::handle::clone()'],['../classllfio__v2__xxx_1_1path__handle.html#ae260bf811da1b17c142f51fbb53476bf',1,'llfio_v2_xxx::path_handle::clone()'],['../classllfio__v2__xxx_1_1symlink__handle.html#aae07dfa26b75c9b973909c7da4580cf5',1,'llfio_v2_xxx::symlink_handle::clone()']]],
['clone_5fto_5fpath_5fhandle',['clone_to_path_handle',['../classllfio__v2__xxx_1_1directory__handle.html#aa0b7dc541e6188fed2950444089fed6c',1,'llfio_v2_xxx::directory_handle']]],
['close',['close',['../classllfio__v2__xxx_1_1directory__handle.html#a8eb4f8792e37c370d5f53c643699f8b7',1,'llfio_v2_xxx::directory_handle::close()'],['../classllfio__v2__xxx_1_1file__handle.html#a665ddf5aa47e1d8a94580570a0457c8a',1,'llfio_v2_xxx::file_handle::close()'],['../classllfio__v2__xxx_1_1handle.html#a62a75b1a4a24fbc9ad2e98a641167db6',1,'llfio_v2_xxx::handle::close()'],['../classllfio__v2__xxx_1_1section__handle.html#a967031835185e5ba872a4e584d51c40d',1,'llfio_v2_xxx::section_handle::close()'],['../classllfio__v2__xxx_1_1map__handle.html#ab6704788ecc652589c3e155f47b40a5e',1,'llfio_v2_xxx::map_handle::close()'],['../classllfio__v2__xxx_1_1mapped__file__handle.html#a325b7470c78ae88bab851ff054bdbc6c',1,'llfio_v2_xxx::mapped_file_handle::close()'],['../classllfio__v2__xxx_1_1path__handle.html#ad397dbfc5cd5eb53f203a2c1c9540a2e',1,'llfio_v2_xxx::path_handle::close()'],['../classllfio__v2__xxx_1_1symlink__handle.html#a2a22f51ca307aa30660ed91b26785ec3',1,'llfio_v2_xxx::symlink_handle::close()'],['../namespacellfio__v2__xxx.html#af6109ac3bc59d2b15edcded08060d1b0',1,'llfio_v2_xxx::close(handle &amp;self) noexcept'],['../namespacellfio__v2__xxx.html#a30183de3590a31b5ef3b2952f700b110',1,'llfio_v2_xxx::close(map_handle &amp;self) noexcept']]],
['co_5fread',['co_read',['../classasync__file__handle.html#a51e4032fd025d04213386ed2973fb8c7',1,'async_file_handle::co_read(io_request&lt; buffers_type &gt; reqs) noexcept'],['../classasync__file__handle.html#a7d7c5be5a207988990c73e9a04dbcf45',1,'async_file_handle::co_read(extent_type offset, std::initializer_list&lt; buffer_type &gt; lst) noexcept'],['../async__file__handle_8hpp.html#adca2a1a80aae35f32f8c575db5d22215',1,'co_read(async_file_handle &amp;self, async_file_handle::io_request&lt; async_file_handle::buffers_type &gt; reqs) noexcept:&#160;async_file_handle.hpp'],['../async__file__handle_8hpp.html#a6e58e89423ae965216b7034f436cb596',1,'co_read(async_file_handle &amp;self, async_file_handle::extent_type offset, std::initializer_list&lt; async_file_handle::buffer_type &gt; lst) noexcept:&#160;async_file_handle.hpp']]],
diff --git a/structllfio__v2__xxx_1_1io__handle_1_1io__result-members.html b/structllfio__v2__xxx_1_1io__handle_1_1io__result-members.html
index a7bbb4d6..59800a26 100644
--- a/structllfio__v2__xxx_1_1io__handle_1_1io__result-members.html
+++ b/structllfio__v2__xxx_1_1io__handle_1_1io__result-members.html
@@ -93,8 +93,8 @@ $(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__handle_1_1
<tr bgcolor="#f0f0f0"><td class="entry"><b>io_result</b>()=default (defined in <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><td class="entry"><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><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>io_result</b>(const io_result &amp;)=default (defined in <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><td class="entry"><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><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>io_result</b>(io_result &amp;&amp;)=default (defined in <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><td class="entry"><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><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(const io_result &amp;)=default (defined in <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><td class="entry"><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><td class="entry"></td></tr>
- <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(io_result &amp;&amp;)=default (defined in <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><td class="entry"><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><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(io_result &amp;&amp;)=default (defined in <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><td class="entry"><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><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const io_result &amp;)=default (defined in <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><td class="entry"><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><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~io_result</b>()=default (defined in <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><td class="entry"><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><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
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 59440284..0436a50c 100644
--- a/structllfio__v2__xxx_1_1io__handle_1_1io__result.html
+++ b/structllfio__v2__xxx_1_1io__handle_1_1io__result.html
@@ -111,18 +111,18 @@ using&#160;</td><td class="memItemRight" valign="bottom"><b>Base</b> = llfio_v2_
</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:ab4cec8941a442e257aab1f0fd615a8a3"><td class="memItemLeft" align="right" valign="top"><a id="ab4cec8941a442e257aab1f0fd615a8a3"></a>
+<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a> &amp;&amp;)=default</td></tr>
+<tr class="separator:ab4cec8941a442e257aab1f0fd615a8a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90bee69c746e646458e0d255ce18668d"><td class="memItemLeft" align="right" valign="top"><a id="a90bee69c746e646458e0d255ce18668d"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>io_result</b> (const <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a> &amp;)=default</td></tr>
<tr class="separator:a90bee69c746e646458e0d255ce18668d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aea1d610bc13166971300720b194feb64"><td class="memItemLeft" align="right" valign="top"><a id="aea1d610bc13166971300720b194feb64"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><b>io_result</b> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a> &amp;&amp;)=default</td></tr>
-<tr class="separator:aea1d610bc13166971300720b194feb64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a5c16b320edf9894dfc1f1f9f817d18"><td class="memItemLeft" align="right" valign="top"><a id="a5a5c16b320edf9894dfc1f1f9f817d18"></a>
<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a> &amp;)=default</td></tr>
<tr class="separator:a5a5c16b320edf9894dfc1f1f9f817d18"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab4cec8941a442e257aab1f0fd615a8a3"><td class="memItemLeft" align="right" valign="top"><a id="ab4cec8941a442e257aab1f0fd615a8a3"></a>
-<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a> &amp;&amp;)=default</td></tr>
-<tr class="separator:ab4cec8941a442e257aab1f0fd615a8a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea1d610bc13166971300720b194feb64"><td class="memItemLeft" align="right" valign="top"><a id="aea1d610bc13166971300720b194feb64"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>io_result</b> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a> &amp;&amp;)=default</td></tr>
+<tr class="separator:aea1d610bc13166971300720b194feb64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58e05cc0f5fe29282c69d44e6797d41a"><td class="memItemLeft" align="right" valign="top"><a id="a58e05cc0f5fe29282c69d44e6797d41a"></a>
<a class="el" href="classllfio__v2__xxx_1_1handle.html#aed9587571c3fb932adadddc1beeeed58">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html#a58e05cc0f5fe29282c69d44e6797d41a">bytes_transferred</a> () noexcept</td></tr>
<tr class="memdesc:a58e05cc0f5fe29282c69d44e6797d41a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns bytes transferred. <br /></td></tr>
diff --git a/structllfio__v2__xxx_1_1io__handle_1_1io__result.js b/structllfio__v2__xxx_1_1io__handle_1_1io__result.js
index ca54f08c..a42955fb 100644
--- a/structllfio__v2__xxx_1_1io__handle_1_1io__result.js
+++ b/structllfio__v2__xxx_1_1io__handle_1_1io__result.js
@@ -6,7 +6,7 @@ var structllfio__v2__xxx_1_1io__handle_1_1io__result =
[ "io_result", "structllfio__v2__xxx_1_1io__handle_1_1io__result.html#a90bee69c746e646458e0d255ce18668d", null ],
[ "io_result", "structllfio__v2__xxx_1_1io__handle_1_1io__result.html#aea1d610bc13166971300720b194feb64", null ],
[ "bytes_transferred", "structllfio__v2__xxx_1_1io__handle_1_1io__result.html#a58e05cc0f5fe29282c69d44e6797d41a", null ],
- [ "operator=", "structllfio__v2__xxx_1_1io__handle_1_1io__result.html#a5a5c16b320edf9894dfc1f1f9f817d18", null ],
[ "operator=", "structllfio__v2__xxx_1_1io__handle_1_1io__result.html#ab4cec8941a442e257aab1f0fd615a8a3", null ],
+ [ "operator=", "structllfio__v2__xxx_1_1io__handle_1_1io__result.html#a5a5c16b320edf9894dfc1f1f9f817d18", null ],
[ "_bytes_transferred", "structllfio__v2__xxx_1_1io__handle_1_1io__result.html#a458ac6f7315d452180e7ed89f9ceba83", null ]
]; \ No newline at end of file
diff --git a/unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage-members.html b/unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage-members.html
index 980d7ec7..8c2a4df0 100644
--- a/unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage-members.html
+++ b/unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage-members.html
@@ -90,6 +90,7 @@ $(document).ready(function(){initNavTree('unionasync__file__handle_1_1__erased__
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>read</b> (defined in <a class="el" href="unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage.html">async_file_handle::_erased_io_state_type::result_storage</a>)</td><td class="entry"><a class="el" href="unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage.html">async_file_handle::_erased_io_state_type::result_storage</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>result_storage</b>() (defined in <a class="el" href="unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage.html">async_file_handle::_erased_io_state_type::result_storage</a>)</td><td class="entry"><a class="el" href="unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage.html">async_file_handle::_erased_io_state_type::result_storage</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>write</b> (defined in <a class="el" href="unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage.html">async_file_handle::_erased_io_state_type::result_storage</a>)</td><td class="entry"><a class="el" href="unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage.html">async_file_handle::_erased_io_state_type::result_storage</a></td><td class="entry"></td></tr>
+ <tr bgcolor="#f0f0f0"><td class="entry"><b>~result_storage</b>() (defined in <a class="el" href="unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage.html">async_file_handle::_erased_io_state_type::result_storage</a>)</td><td class="entry"><a class="el" href="unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage.html">async_file_handle::_erased_io_state_type::result_storage</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
diff --git a/unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage.js b/unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage.js
index 0305af25..6e4b41c0 100644
--- a/unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage.js
+++ b/unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage.js
@@ -1,6 +1,7 @@
var unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage =
[
[ "result_storage", "unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage.html#a1fbdb39d02e4b7ca913cce1f5b8d01d5", null ],
+ [ "~result_storage", "unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage.html#acaad1e0b7bc61daf3bdf58821fb597d9", null ],
[ "read", "unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage.html#acadd98cb8cb31f44f22fee812948e7ff", null ],
[ "write", "unionasync__file__handle_1_1__erased__io__state__type_1_1result__storage.html#a32f240cdcc588396841d0cf21389c939", null ]
]; \ No newline at end of file