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-06-19 12:05:21 +0300
committerJenkins nedprod CI <foo@nowhere>2018-06-19 12:05:21 +0300
commita71b41c90824e14d67a200990d4acdf42c6b6460 (patch)
tree61313b887a8d28edcad53dd927a1c6a66d3a53df
parent6bce60ea3a3e6e8f1e1ffad250422669a3da20ac (diff)
Travis CI updates documentation
-rw-r--r--classafio__v2__xxx_1_1algorithm_1_1mapped__span.html8
-rw-r--r--classafio__v2__xxx_1_1map__handle.html9
-rw-r--r--classafio__v2__xxx_1_1section__handle.html2
-rw-r--r--namespaceafio__v2__xxx.html22
4 files changed, 21 insertions, 20 deletions
diff --git a/classafio__v2__xxx_1_1algorithm_1_1mapped__span.html b/classafio__v2__xxx_1_1algorithm_1_1mapped__span.html
index d027e69f..f2b2a522 100644
--- a/classafio__v2__xxx_1_1algorithm_1_1mapped__span.html
+++ b/classafio__v2__xxx_1_1algorithm_1_1mapped__span.html
@@ -179,7 +179,7 @@ template&lt;class T &gt; </div>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; : _mapping(<a class="code" href="classafio__v2__xxx_1_1map__handle.html#a9c43d182b257682d320f12f6e6be30b3">map_handle::map</a>(<a class="code" href="namespaceafio__v2__xxx.html#afc6d4594196e16ac67b25d91e48d09ee">length</a> * <span class="keyword">sizeof</span>(T), _flag).value())</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; {</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; byte *addr = _mapping.<a class="code" href="classafio__v2__xxx_1_1map__handle.html#a6f203a9bb0bee94ac6b395ac5f3a2270">address</a>();</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</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="namespaceafio__v2__xxx.html#afc6d4594196e16ac67b25d91e48d09ee">length</a>); <span class="comment">// NOLINT</span></div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; }</div><div class="ttc" id="classafio__v2__xxx_1_1map__handle_html_a9c43d182b257682d320f12f6e6be30b3"><div class="ttname"><a href="classafio__v2__xxx_1_1map__handle.html#a9c43d182b257682d320f12f6e6be30b3">afio_v2_xxx::map_handle::map</a></div><div class="ttdeci">static result&lt; map_handle &gt; map(size_type bytes, section_handle::flag _flag=section_handle::flag::readwrite) noexcept</div></div>
-<div class="ttc" id="namespaceafio__v2__xxx_html_afc6d4594196e16ac67b25d91e48d09ee"><div class="ttname"><a href="namespaceafio__v2__xxx.html#afc6d4594196e16ac67b25d91e48d09ee">afio_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:585</div></div>
+<div class="ttc" id="namespaceafio__v2__xxx_html_afc6d4594196e16ac67b25d91e48d09ee"><div class="ttname"><a href="namespaceafio__v2__xxx.html#afc6d4594196e16ac67b25d91e48d09ee">afio_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:594</div></div>
<div class="ttc" id="classafio__v2__xxx_1_1map__handle_html_a6f203a9bb0bee94ac6b395ac5f3a2270"><div class="ttname"><a href="classafio__v2__xxx_1_1map__handle.html#a6f203a9bb0bee94ac6b395ac5f3a2270">afio_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:411</div></div>
</div><!-- fragment -->
</div>
@@ -242,7 +242,7 @@ template&lt;class T &gt; </div>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; : <a class="code" href="classafio__v2__xxx_1_1algorithm_1_1mapped__span.html#aa5b20642220613876d8be474003785e9">mapped_span</a>((<a class="code" href="namespaceafio__v2__xxx.html#afc6d4594196e16ac67b25d91e48d09ee">length</a> == 0) ? <a class="code" href="classafio__v2__xxx_1_1algorithm_1_1mapped__span.html#aa5b20642220613876d8be474003785e9">mapped_span</a>() : <a class="code" href="classafio__v2__xxx_1_1algorithm_1_1mapped__span.html#aa5b20642220613876d8be474003785e9">mapped_span</a>(</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;#ifdef _WIN32</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; byteoffset &amp; ~65535,</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;#<span class="keywordflow">else</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="namespaceafio__v2__xxx_1_1utils.html#a7e0604f2e7f98b94ddb09989184968f5">utils::round_down_to_page_size</a>(byteoffset),</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;#endif</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; byteoffset, sh, (<a class="code" href="namespaceafio__v2__xxx.html#afc6d4594196e16ac67b25d91e48d09ee">length</a> == (<a class="code" href="classafio__v2__xxx_1_1algorithm_1_1mapped__span.html#aa33d0ce0be15b0738c6b36341843ccb5">size_type</a>) -1) ? 0 : <a class="code" href="namespaceafio__v2__xxx.html#afc6d4594196e16ac67b25d91e48d09ee">length</a> * <span class="keyword">sizeof</span>(T), _flag)) <span class="comment">// NOLINT</span></div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; {</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; }</div><div class="ttc" id="classafio__v2__xxx_1_1algorithm_1_1mapped__span_html_aa5b20642220613876d8be474003785e9"><div class="ttname"><a href="classafio__v2__xxx_1_1algorithm_1_1mapped__span.html#aa5b20642220613876d8be474003785e9">afio_v2_xxx::algorithm::mapped_span::mapped_span</a></div><div class="ttdeci">constexpr mapped_span()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> mapped_span.hpp:69</div></div>
-<div class="ttc" id="namespaceafio__v2__xxx_html_afc6d4594196e16ac67b25d91e48d09ee"><div class="ttname"><a href="namespaceafio__v2__xxx.html#afc6d4594196e16ac67b25d91e48d09ee">afio_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:585</div></div>
+<div class="ttc" id="namespaceafio__v2__xxx_html_afc6d4594196e16ac67b25d91e48d09ee"><div class="ttname"><a href="namespaceafio__v2__xxx.html#afc6d4594196e16ac67b25d91e48d09ee">afio_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:594</div></div>
<div class="ttc" id="classafio__v2__xxx_1_1algorithm_1_1mapped__span_html_aa33d0ce0be15b0738c6b36341843ccb5"><div class="ttname"><a href="classafio__v2__xxx_1_1algorithm_1_1mapped__span.html#aa33d0ce0be15b0738c6b36341843ccb5">afio_v2_xxx::algorithm::mapped_span::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_span.hpp:50</div></div>
<div class="ttc" id="namespaceafio__v2__xxx_1_1utils_html_a7e0604f2e7f98b94ddb09989184968f5"><div class="ttname"><a href="namespaceafio__v2__xxx_1_1utils.html#a7e0604f2e7f98b94ddb09989184968f5">afio_v2_xxx::utils::round_down_to_page_size</a></div><div class="ttdeci">T round_down_to_page_size(T i) 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><!-- fragment -->
@@ -298,7 +298,7 @@ template&lt;class T &gt; </div>
</table>
</dd>
</dl>
-<div class="fragment"><div class="line"><a name="l00106"></a><span class="lineno"> 106</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="namespaceafio__v2__xxx.html#afc6d4594196e16ac67b25d91e48d09ee">length</a> == (<a class="code" href="classafio__v2__xxx_1_1algorithm_1_1mapped__span.html#aa33d0ce0be15b0738c6b36341843ccb5">size_type</a>) -1) ? ((mh.length() - byteoffset) / <span class="keyword">sizeof</span>(T)) : <a class="code" href="namespaceafio__v2__xxx.html#afc6d4594196e16ac67b25d91e48d09ee">length</a>) <span class="comment">// NOLINT</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; {</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; }</div><div class="ttc" id="namespaceafio__v2__xxx_html_afc6d4594196e16ac67b25d91e48d09ee"><div class="ttname"><a href="namespaceafio__v2__xxx.html#afc6d4594196e16ac67b25d91e48d09ee">afio_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:585</div></div>
+<div class="fragment"><div class="line"><a name="l00106"></a><span class="lineno"> 106</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="namespaceafio__v2__xxx.html#afc6d4594196e16ac67b25d91e48d09ee">length</a> == (<a class="code" href="classafio__v2__xxx_1_1algorithm_1_1mapped__span.html#aa33d0ce0be15b0738c6b36341843ccb5">size_type</a>) -1) ? ((mh.length() - byteoffset) / <span class="keyword">sizeof</span>(T)) : <a class="code" href="namespaceafio__v2__xxx.html#afc6d4594196e16ac67b25d91e48d09ee">length</a>) <span class="comment">// NOLINT</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; {</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; }</div><div class="ttc" id="namespaceafio__v2__xxx_html_afc6d4594196e16ac67b25d91e48d09ee"><div class="ttname"><a href="namespaceafio__v2__xxx.html#afc6d4594196e16ac67b25d91e48d09ee">afio_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:594</div></div>
<div class="ttc" id="classafio__v2__xxx_1_1algorithm_1_1mapped__span_html_aa33d0ce0be15b0738c6b36341843ccb5"><div class="ttname"><a href="classafio__v2__xxx_1_1algorithm_1_1mapped__span.html#aa33d0ce0be15b0738c6b36341843ccb5">afio_v2_xxx::algorithm::mapped_span::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_span.hpp:50</div></div>
</div><!-- fragment -->
</div>
@@ -353,7 +353,7 @@ template&lt;class T &gt; </div>
</table>
</dd>
</dl>
-<div class="fragment"><div class="line"><a name="l00116"></a><span class="lineno"> 116</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="namespaceafio__v2__xxx.html#afc6d4594196e16ac67b25d91e48d09ee">length</a> == (<a class="code" href="classafio__v2__xxx_1_1algorithm_1_1mapped__span.html#aa33d0ce0be15b0738c6b36341843ccb5">size_type</a>) -1) ? ((mfh.maximum_extent().value() - byteoffset) / <span class="keyword">sizeof</span>(T)) : <a class="code" href="namespaceafio__v2__xxx.html#afc6d4594196e16ac67b25d91e48d09ee">length</a>) <span class="comment">// NOLINT</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; {</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; }</div><div class="ttc" id="namespaceafio__v2__xxx_html_afc6d4594196e16ac67b25d91e48d09ee"><div class="ttname"><a href="namespaceafio__v2__xxx.html#afc6d4594196e16ac67b25d91e48d09ee">afio_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:585</div></div>
+<div class="fragment"><div class="line"><a name="l00116"></a><span class="lineno"> 116</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="namespaceafio__v2__xxx.html#afc6d4594196e16ac67b25d91e48d09ee">length</a> == (<a class="code" href="classafio__v2__xxx_1_1algorithm_1_1mapped__span.html#aa33d0ce0be15b0738c6b36341843ccb5">size_type</a>) -1) ? ((mfh.maximum_extent().value() - byteoffset) / <span class="keyword">sizeof</span>(T)) : <a class="code" href="namespaceafio__v2__xxx.html#afc6d4594196e16ac67b25d91e48d09ee">length</a>) <span class="comment">// NOLINT</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; {</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; }</div><div class="ttc" id="namespaceafio__v2__xxx_html_afc6d4594196e16ac67b25d91e48d09ee"><div class="ttname"><a href="namespaceafio__v2__xxx.html#afc6d4594196e16ac67b25d91e48d09ee">afio_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:594</div></div>
<div class="ttc" id="classafio__v2__xxx_1_1algorithm_1_1mapped__span_html_aa33d0ce0be15b0738c6b36341843ccb5"><div class="ttname"><a href="classafio__v2__xxx_1_1algorithm_1_1mapped__span.html#aa33d0ce0be15b0738c6b36341843ccb5">afio_v2_xxx::algorithm::mapped_span::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_span.hpp:50</div></div>
</div><!-- fragment -->
</div>
diff --git a/classafio__v2__xxx_1_1map__handle.html b/classafio__v2__xxx_1_1map__handle.html
index cc680e31..cdfdec1e 100644
--- a/classafio__v2__xxx_1_1map__handle.html
+++ b/classafio__v2__xxx_1_1map__handle.html
@@ -1148,8 +1148,8 @@ For portability, you can only assume that barriers write order for a single hand
</div><div class="memdoc">
<p>Read data from the mapped view. </p>
-<dl class="section note"><dt>Note</dt><dd>Because this implementation never copies memory, you can pass in buffers with a null address.</dd></dl>
-<dl class="section return"><dt>Returns</dt><dd>The buffers read, which will never be the buffers input because they will point into the mapped view. The size of each scatter-gather buffer is updated with the number of bytes of that buffer transferred. </dd></dl>
+<dl class="section note"><dt>Note</dt><dd>Because this implementation never copies memory, you can pass in buffers with a null address. As this function never reads any memory, no attempt to trap signal raises can be made, this falls onto the user of this function. See <code>QUICKCPPLIB_NAMESPACE::signal_guard</code> for a helper function.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>The buffers read, which will never be the buffers input, because they will point into the mapped view. The size of each scatter-gather buffer is updated with the number of bytes of that buffer transferred. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">reqs</td><td>A scatter-gather and offset request. </td></tr>
@@ -1461,6 +1461,7 @@ For portability, you can only assume that barriers write order for a single hand
</div><div class="memdoc">
<p>Write data to the mapped view. </p>
+<dl class="section note"><dt>Note</dt><dd>This call traps signals and structured exception throws using <code>QUICKCPPLIB_NAMESPACE::signal_guard</code>. Instantiating a <code>QUICKCPPLIB_NAMESPACE::signal_guard_install</code> somewhere much higher up in the call stack will improve performance enormously. The signal guard may cost less than 100 CPU cycles depending on how you configure it. If you don't want the guard, you can write memory directly using <code>address()</code>.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>The buffers written, which will never be the buffers input because they will point at where the data was copied into the mapped view. The size of each scatter-gather buffer is updated with the number of bytes of that buffer transferred. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
@@ -1469,8 +1470,8 @@ For portability, you can only assume that barriers write order for a single hand
</table>
</dd>
</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>
+<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>
</div>
diff --git a/classafio__v2__xxx_1_1section__handle.html b/classafio__v2__xxx_1_1section__handle.html
index d6fca608..f1217fe7 100644
--- a/classafio__v2__xxx_1_1section__handle.html
+++ b/classafio__v2__xxx_1_1section__handle.html
@@ -678,7 +678,7 @@ flag&#160;</td><td class="memItemRight" valign="bottom"><b>_flags</b> {flag::non
</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="l00139"></a><span class="lineno"> 139</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classafio__v2__xxx_1_1section__handle.html#a7e69ae5094da2517f2ed0bd046d18302">section</a>(<a class="code" href="classafio__v2__xxx_1_1section__handle.html#acdebf8de23e97950968d3fba84141366">backing</a>, bytes, <a class="code" href="classafio__v2__xxx_1_1section__handle.html#acdebf8de23e97950968d3fba84141366">backing</a>.<a class="code" href="classafio__v2__xxx_1_1handle.html#a5be9a526bc5c1be758b0cfc36a262f6e">is_writable</a>() ? (flag::readwrite) : (<a class="code" href="namespaceafio__v2__xxx.html#ac89289d85eff137c40d3d0084c410656">flag::read</a>)); }</div><div class="ttc" id="namespaceafio__v2__xxx_html_ac89289d85eff137c40d3d0084c410656"><div class="ttname"><a href="namespaceafio__v2__xxx.html#ac89289d85eff137c40d3d0084c410656">afio_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:703</div></div>
+<div class="fragment"><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="classafio__v2__xxx_1_1section__handle.html#a7e69ae5094da2517f2ed0bd046d18302">section</a>(<a class="code" href="classafio__v2__xxx_1_1section__handle.html#acdebf8de23e97950968d3fba84141366">backing</a>, bytes, <a class="code" href="classafio__v2__xxx_1_1section__handle.html#acdebf8de23e97950968d3fba84141366">backing</a>.<a class="code" href="classafio__v2__xxx_1_1handle.html#a5be9a526bc5c1be758b0cfc36a262f6e">is_writable</a>() ? (flag::readwrite) : (<a class="code" href="namespaceafio__v2__xxx.html#ac89289d85eff137c40d3d0084c410656">flag::read</a>)); }</div><div class="ttc" id="namespaceafio__v2__xxx_html_ac89289d85eff137c40d3d0084c410656"><div class="ttname"><a href="namespaceafio__v2__xxx.html#ac89289d85eff137c40d3d0084c410656">afio_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:712</div></div>
<div class="ttc" id="classafio__v2__xxx_1_1section__handle_html_acdebf8de23e97950968d3fba84141366"><div class="ttname"><a href="classafio__v2__xxx_1_1section__handle.html#acdebf8de23e97950968d3fba84141366">afio_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:155</div></div>
<div class="ttc" id="classafio__v2__xxx_1_1handle_html_a5be9a526bc5c1be758b0cfc36a262f6e"><div class="ttname"><a href="classafio__v2__xxx_1_1handle.html#a5be9a526bc5c1be758b0cfc36a262f6e">afio_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:269</div></div>
<div class="ttc" id="classafio__v2__xxx_1_1section__handle_html_a7e69ae5094da2517f2ed0bd046d18302"><div class="ttname"><a href="classafio__v2__xxx_1_1section__handle.html#a7e69ae5094da2517f2ed0bd046d18302">afio_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>
diff --git a/namespaceafio__v2__xxx.html b/namespaceafio__v2__xxx.html
index fab485da..01ea6e9f 100644
--- a/namespaceafio__v2__xxx.html
+++ b/namespaceafio__v2__xxx.html
@@ -1046,7 +1046,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 AFIO, 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="l00626"></a><span class="lineno"> 626</span>&#160;{</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</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="l00628"></a><span class="lineno"> 628</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160;{</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</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="l00637"></a><span class="lineno"> 637</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a37590ba383783ccfca30404318eb1114"></a>
@@ -1479,7 +1479,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="l00641"></a><span class="lineno"> 641</span>&#160;{</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceafio__v2__xxx.html#accb0ec68871a9c3e3e7aeadc0f31e009">map_handle::map</a>(std::forward&lt;decltype(bytes)&gt;(bytes), std::forward&lt;decltype(_flag)&gt;(_flag));</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160;}</div><div class="ttc" id="namespaceafio__v2__xxx_html_accb0ec68871a9c3e3e7aeadc0f31e009"><div class="ttname"><a href="namespaceafio__v2__xxx.html#accb0ec68871a9c3e3e7aeadc0f31e009">afio_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:652</div></div>
+<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="namespaceafio__v2__xxx.html#accb0ec68871a9c3e3e7aeadc0f31e009">map_handle::map</a>(std::forward&lt;decltype(bytes)&gt;(bytes), std::forward&lt;decltype(_flag)&gt;(_flag));</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160;}</div><div class="ttc" id="namespaceafio__v2__xxx_html_accb0ec68871a9c3e3e7aeadc0f31e009"><div class="ttname"><a href="namespaceafio__v2__xxx.html#accb0ec68871a9c3e3e7aeadc0f31e009">afio_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:661</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -1538,8 +1538,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="l00653"></a><span class="lineno"> 653</span>&#160;{</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceafio__v2__xxx.html#accb0ec68871a9c3e3e7aeadc0f31e009">map_handle::map</a>(std::forward&lt;decltype(<a class="code" href="namespaceafio__v2__xxx.html#a42622b31d96b1098e37d9c527abd097d">section</a>)&gt;(<a class="code" href="namespaceafio__v2__xxx.html#a42622b31d96b1098e37d9c527abd097d">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="l00655"></a><span class="lineno"> 655</span>&#160;}</div><div class="ttc" id="namespaceafio__v2__xxx_html_accb0ec68871a9c3e3e7aeadc0f31e009"><div class="ttname"><a href="namespaceafio__v2__xxx.html#accb0ec68871a9c3e3e7aeadc0f31e009">afio_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:652</div></div>
-<div class="ttc" id="namespaceafio__v2__xxx_html_a42622b31d96b1098e37d9c527abd097d"><div class="ttname"><a href="namespaceafio__v2__xxx.html#a42622b31d96b1098e37d9c527abd097d">afio_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:580</div></div>
+<div class="fragment"><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160;{</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceafio__v2__xxx.html#accb0ec68871a9c3e3e7aeadc0f31e009">map_handle::map</a>(std::forward&lt;decltype(<a class="code" href="namespaceafio__v2__xxx.html#a42622b31d96b1098e37d9c527abd097d">section</a>)&gt;(<a class="code" href="namespaceafio__v2__xxx.html#a42622b31d96b1098e37d9c527abd097d">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="l00664"></a><span class="lineno"> 664</span>&#160;}</div><div class="ttc" id="namespaceafio__v2__xxx_html_accb0ec68871a9c3e3e7aeadc0f31e009"><div class="ttname"><a href="namespaceafio__v2__xxx.html#accb0ec68871a9c3e3e7aeadc0f31e009">afio_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:661</div></div>
+<div class="ttc" id="namespaceafio__v2__xxx_html_a42622b31d96b1098e37d9c527abd097d"><div class="ttname"><a href="namespaceafio__v2__xxx.html#a42622b31d96b1098e37d9c527abd097d">afio_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:589</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -2207,7 +2207,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="l00704"></a><span class="lineno"> 704</span>&#160;{</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</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="l00706"></a><span class="lineno"> 706</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><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>.read(std::forward&lt;decltype(reqs)&gt;(reqs), std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="aea0fac310f773ae58f672ec4b506887d"></a>
@@ -2328,7 +2328,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="l00558"></a><span class="lineno"> 558</span>&#160;{</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceafio__v2__xxx.html#a42622b31d96b1098e37d9c527abd097d">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="l00560"></a><span class="lineno"> 560</span>&#160;}</div><div class="ttc" id="namespaceafio__v2__xxx_html_a42622b31d96b1098e37d9c527abd097d"><div class="ttname"><a href="namespaceafio__v2__xxx.html#a42622b31d96b1098e37d9c527abd097d">afio_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:580</div></div>
+<div class="fragment"><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160;{</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceafio__v2__xxx.html#a42622b31d96b1098e37d9c527abd097d">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="l00569"></a><span class="lineno"> 569</span>&#160;}</div><div class="ttc" id="namespaceafio__v2__xxx_html_a42622b31d96b1098e37d9c527abd097d"><div class="ttname"><a href="namespaceafio__v2__xxx.html#a42622b31d96b1098e37d9c527abd097d">afio_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:589</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -2376,7 +2376,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="l00570"></a><span class="lineno"> 570</span>&#160;{</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceafio__v2__xxx.html#a42622b31d96b1098e37d9c527abd097d">section_handle::section</a>(std::forward&lt;decltype(backing)&gt;(backing), std::forward&lt;decltype(bytes)&gt;(bytes));</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160;}</div><div class="ttc" id="namespaceafio__v2__xxx_html_a42622b31d96b1098e37d9c527abd097d"><div class="ttname"><a href="namespaceafio__v2__xxx.html#a42622b31d96b1098e37d9c527abd097d">afio_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:580</div></div>
+<div class="fragment"><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160;{</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceafio__v2__xxx.html#a42622b31d96b1098e37d9c527abd097d">section_handle::section</a>(std::forward&lt;decltype(backing)&gt;(backing), std::forward&lt;decltype(bytes)&gt;(bytes));</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160;}</div><div class="ttc" id="namespaceafio__v2__xxx_html_a42622b31d96b1098e37d9c527abd097d"><div class="ttname"><a href="namespaceafio__v2__xxx.html#a42622b31d96b1098e37d9c527abd097d">afio_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:589</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -2430,7 +2430,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="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> <a class="code" href="namespaceafio__v2__xxx.html#a42622b31d96b1098e37d9c527abd097d">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="l00583"></a><span class="lineno"> 583</span>&#160;}</div><div class="ttc" id="namespaceafio__v2__xxx_html_a42622b31d96b1098e37d9c527abd097d"><div class="ttname"><a href="namespaceafio__v2__xxx.html#a42622b31d96b1098e37d9c527abd097d">afio_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:580</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; <span class="keywordflow">return</span> <a class="code" href="namespaceafio__v2__xxx.html#a42622b31d96b1098e37d9c527abd097d">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="l00592"></a><span class="lineno"> 592</span>&#160;}</div><div class="ttc" id="namespaceafio__v2__xxx_html_a42622b31d96b1098e37d9c527abd097d"><div class="ttname"><a href="namespaceafio__v2__xxx.html#a42622b31d96b1098e37d9c527abd097d">afio_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:589</div></div>
</div><!-- fragment -->
</div>
</div>
@@ -2681,7 +2681,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="l00597"></a><span class="lineno"> 597</span>&#160;{</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</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="l00599"></a><span class="lineno"> 599</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160;{</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</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="l00608"></a><span class="lineno"> 608</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a7da47c9f5665b4c9b1c44c035bf2571c"></a>
@@ -2737,7 +2737,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="l00688"></a><span class="lineno"> 688</span>&#160;{</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</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="l00690"></a><span class="lineno"> 690</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160;{</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</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="l00699"></a><span class="lineno"> 699</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="abefe1503efb01ea89200b829bcd87713"></a>
@@ -2943,7 +2943,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="l00718"></a><span class="lineno"> 718</span>&#160;{</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; <span class="keywordflow">return</span> <span class="keyword">self</span>.write(std::forward&lt;decltype(reqs)&gt;(reqs), std::forward&lt;decltype(d)&gt;(d));</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160;{</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</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="l00729"></a><span class="lineno"> 729</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="ae412aa7c9e37601d1814e75d09795185"></a>