You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by gi...@apache.org on 2018/03/10 03:20:37 UTC

mesos-site git commit: Updated the website built from mesos SHA: ffc45b3.

Repository: mesos-site
Updated Branches:
  refs/heads/asf-site dcdcd7945 -> 873b056b9


Updated the website built from mesos SHA: ffc45b3.


Project: http://git-wip-us.apache.org/repos/asf/mesos-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos-site/commit/873b056b
Tree: http://git-wip-us.apache.org/repos/asf/mesos-site/tree/873b056b
Diff: http://git-wip-us.apache.org/repos/asf/mesos-site/diff/873b056b

Branch: refs/heads/asf-site
Commit: 873b056b9d8ed87dca8543f27d09cbc4cb8698c6
Parents: dcdcd79
Author: jenkins <bu...@apache.org>
Authored: Sat Mar 10 03:20:34 2018 +0000
Committer: jenkins <bu...@apache.org>
Committed: Sat Mar 10 03:20:34 2018 +0000

----------------------------------------------------------------------
 ...include_2stout_2windows_2fs_8hpp_source.html |   2 +-
 .../latest/c++/reparsepoint_8hpp_source.html    | 374 ++++++++++---------
 content/api/latest/c++/symlink_8hpp_source.html |   4 +-
 .../latest/c++/windows_2stat_8hpp_source.html   |   2 +-
 content/blog/feed.xml                           |   2 +-
 .../index.html                                  |   2 +-
 6 files changed, 196 insertions(+), 190 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos-site/blob/873b056b/content/api/latest/c++/3rdparty_2stout_2include_2stout_2windows_2fs_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/3rdparty_2stout_2include_2stout_2windows_2fs_8hpp_source.html b/content/api/latest/c++/3rdparty_2stout_2include_2stout_2windows_2fs_8hpp_source.html
index 957b865..49084ba 100644
--- a/content/api/latest/c++/3rdparty_2stout_2include_2stout_2windows_2fs_8hpp_source.html
+++ b/content/api/latest/c++/3rdparty_2stout_2include_2stout_2windows_2fs_8hpp_source.html
@@ -212,7 +212,7 @@
 <div class="ttc" id="namespaceinternal_1_1windows_html_abd7dbdbc8d95626d0c66455078380aa1"><div class="ttname"><a href="namespaceinternal_1_1windows.html#abd7dbdbc8d95626d0c66455078380aa1">internal::windows::longpath</a></div><div class="ttdeci">std::wstring longpath(const std::string &amp;path)</div><div class="ttdef"><b>Definition:</b> longpath.hpp:38</div></div>
 <div class="ttc" id="classBytes_html"><div class="ttname"><a href="classBytes.html">Bytes</a></div><div class="ttdef"><b>Definition:</b> bytes.hpp:30</div></div>
 <div class="ttc" id="namespacens_html_a28116b46e6543597a11733424cd1aa20"><div class="ttname"><a href="namespacens.html#a28116b46e6543597a11733424cd1aa20">ns::stringify</a></div><div class="ttdeci">std::string stringify(int flags)</div></div>
-<div class="ttc" id="namespaceinternal_1_1windows_html_aeb3eff223f2ea4c2899bcc82d8818334"><div class="ttname"><a href="namespaceinternal_1_1windows.html#aeb3eff223f2ea4c2899bcc82d8818334">internal::windows::create_symbolic_link</a></div><div class="ttdeci">Try&lt; Nothing &gt; create_symbolic_link(const std::string &amp;target, const std::string &amp;reparse_point)</div><div class="ttdef"><b>Definition:</b> reparsepoint.hpp:315</div></div>
+<div class="ttc" id="namespaceinternal_1_1windows_html_aeb3eff223f2ea4c2899bcc82d8818334"><div class="ttname"><a href="namespaceinternal_1_1windows.html#aeb3eff223f2ea4c2899bcc82d8818334">internal::windows::create_symbolic_link</a></div><div class="ttdeci">Try&lt; Nothing &gt; create_symbolic_link(const std::string &amp;target, const std::string &amp;reparse_point)</div><div class="ttdef"><b>Definition:</b> reparsepoint.hpp:321</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/873b056b/content/api/latest/c++/reparsepoint_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/reparsepoint_8hpp_source.html b/content/api/latest/c++/reparsepoint_8hpp_source.html
index 24528e2..7a687c3 100644
--- a/content/api/latest/c++/reparsepoint_8hpp_source.html
+++ b/content/api/latest/c++/reparsepoint_8hpp_source.html
@@ -233,193 +233,199 @@
 <div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;  <span class="comment">// can be found in MSDN[2].</span></div>
 <div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;  <span class="comment">//</span></div>
 <div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;  <span class="comment">// The `GENERIC_READ` flag is being used because it&#39;s the most common way of</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;  <span class="comment">// opening a file for reading only. The `FILE_SHARE_READ` allows other</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;  <span class="comment">// processes to read the file at the same time. MSDN[1] provides a more</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;  <span class="comment">// detailed explanation of these flags.</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;  <span class="comment">//</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;  <span class="comment">// [1] https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx // NOLINT(whitespace/line_length)</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;  <span class="comment">// [2] https://msdn.microsoft.com/en-us/library/windows/desktop/aa364399(v=vs.85).aspx // NOLINT(whitespace/line_length)</span></div>
-<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;  <span class="keyword">const</span> DWORD access_flags = resolved_path_is_directory</div>
-<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;    ? FILE_FLAG_BACKUP_SEMANTICS</div>
-<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    : FILE_ATTRIBUTE_NORMAL;</div>
-<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;</div>
-<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;  <span class="keyword">const</span> <a class="code" href="namespacerouting_1_1queueing_1_1ingress.html#a934208b6017d0a9aed90b6594bb8292f">HANDLE</a> handle = ::CreateFileW(</div>
-<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;      <a class="code" href="namespaceinternal_1_1windows.html#abd7dbdbc8d95626d0c66455078380aa1">longpath</a>(absolute_path).data(),</div>
-<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;      GENERIC_READ,     <span class="comment">// Open the file for reading only.</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;      FILE_SHARE_READ,  <span class="comment">// Just reading this file, allow others to do the same.</span></div>
-<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;      <span class="keyword">nullptr</span>,          <span class="comment">// Ignored.</span></div>
-<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;      OPEN_EXISTING,    <span class="comment">// Open existing file.</span></div>
-<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;      access_flags,     <span class="comment">// Open file, not the symlink itself.</span></div>
-<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;      <span class="keyword">nullptr</span>);         <span class="comment">// Ignored.</span></div>
-<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;</div>
-<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;  <span class="keywordflow">if</span> (handle == INVALID_HANDLE_VALUE) {</div>
-<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classWindowsError.html">WindowsError</a>();</div>
-<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;  }</div>
-<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;</div>
-<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="classSharedHandle.html">SharedHandle</a>(handle, ::CloseHandle);</div>
-<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;}</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;  <span class="comment">// opening a file for reading only. The `SHARE` flags allow other processes</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;  <span class="comment">// to read the file at the same time, as well as allow this process to read</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;  <span class="comment">// files that were also opened with these flags. MSDN[1] provides a more</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;  <span class="comment">// detailed explanation of these flags.</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;  <span class="comment">//</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;  <span class="comment">// [1] https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx // NOLINT(whitespace/line_length)</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;  <span class="comment">// [2] https://msdn.microsoft.com/en-us/library/windows/desktop/aa364399(v=vs.85).aspx // NOLINT(whitespace/line_length)</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;  <span class="keyword">const</span> DWORD access_flags = resolved_path_is_directory</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    ? FILE_FLAG_BACKUP_SEMANTICS</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;    : FILE_ATTRIBUTE_NORMAL;</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;  <span class="keyword">const</span> <a class="code" href="namespacerouting_1_1queueing_1_1ingress.html#a934208b6017d0a9aed90b6594bb8292f">HANDLE</a> handle = ::CreateFileW(</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;      <a class="code" href="namespaceinternal_1_1windows.html#abd7dbdbc8d95626d0c66455078380aa1">longpath</a>(absolute_path).data(),</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;      GENERIC_READ,     <span class="comment">// Open the file for reading only.</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;      <span class="comment">// Must pass in all SHARE flags below, in case file is already open.</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;      <span class="comment">// Otherwise, we may get an access denied error.</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;      FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;      <span class="keyword">nullptr</span>,          <span class="comment">// Ignored.</span></div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;      OPEN_EXISTING,    <span class="comment">// Open existing file.</span></div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;      access_flags,     <span class="comment">// Open file, not the symlink itself.</span></div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;      <span class="keyword">nullptr</span>);         <span class="comment">// Ignored.</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;  <span class="keywordflow">if</span> (handle == INVALID_HANDLE_VALUE) {</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classWindowsError.html">WindowsError</a>();</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;  }</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;</div>
-<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="comment">// Attempts to get a file or folder handle for an absolute path, and does not</span></div>
-<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;<span class="comment">// follow symlinks. That is, if the path points at a symlink, the handle will</span></div>
-<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;<span class="comment">// refer to the symlink rather than the file or folder the symlink points at.</span></div>
-<div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="namespaceinternal_1_1windows.html#a8ee4f75d803d8ed56ce760d8e1dfac14">  212</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classTry.html">Try&lt;SharedHandle&gt;</a> <a class="code" href="namespaceinternal_1_1windows.html#a8ee4f75d803d8ed56ce760d8e1dfac14">get_handle_no_follow</a>(<span class="keyword">const</span> std::string&amp; absolute_path)</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="keyword">const</span> <a class="code" href="classTry.html">Try&lt;DWORD&gt;</a> attributes = <a class="code" href="namespaceinternal_1_1windows.html#adb5b8a8afe285eb66a0a551f2382d113">get_file_attributes</a>(<a class="code" href="namespaceinternal_1_1windows.html#abd7dbdbc8d95626d0c66455078380aa1">longpath</a>(absolute_path));</div>
-<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</div>
-<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;  <span class="keywordflow">if</span> (attributes.<a class="code" href="classTry.html#a0b98f95163b8a38daafd1651b043a276">isError</a>()) {</div>
-<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classError.html">Error</a>(attributes.<a class="code" href="classTry.html#aec4a11ddd3c036e889d90b7eb6258ba7">error</a>());</div>
-<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;  }</div>
-<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div>
-<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;  <span class="keywordtype">bool</span> resolved_path_is_directory = attributes.<a class="code" href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>() &amp; FILE_ATTRIBUTE_DIRECTORY;</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;  <span class="comment">// NOTE: According to the `CreateFile` documentation[1], the `OPEN_EXISTING`</span></div>
-<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;  <span class="comment">// and `FILE_FLAG_OPEN_REPARSE_POINT` flags need to be used when getting a</span></div>
-<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;  <span class="comment">// handle for the symlink.</span></div>
-<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;  <span class="comment">//</span></div>
-<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;  <span class="comment">// Note also that `CreateFile` will appropriately generate a handle for</span></div>
-<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;  <span class="comment">// either a folder or a file, as long as the appropriate flag is being set:</span></div>
-<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;  <span class="comment">// `FILE_FLAG_BACKUP_SEMANTICS` or `FILE_FLAG_OPEN_REPARSE_POINT`.</span></div>
-<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;  <span class="comment">//</span></div>
-<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;  <span class="comment">// The `FILE_FLAG_BACKUP_SEMANTICS` flag is being set whenever the target is</span></div>
-<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;  <span class="comment">// a directory. According to MSDN[1]: &quot;You must set this flag to obtain a</span></div>
-<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;  <span class="comment">// handle to a directory. A directory handle can be passed to some functions</span></div>
-<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;  <span class="comment">// instead of a file handle&quot;. More `FILE_FLAG_BACKUP_SEMANTICS` documentation</span></div>
-<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;  <span class="comment">// can be found in MSDN[2].</span></div>
-<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;  <span class="comment">//</span></div>
-<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;  <span class="comment">// The `GENERIC_READ` flag is being used because it&#39;s the most common way of</span></div>
-<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;  <span class="comment">// opening a file for reading only. The `FILE_SHARE_READ` allows other</span></div>
-<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;  <span class="comment">// processes to read the file at the same time. MSDN[1] provides a more</span></div>
-<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;  <span class="comment">// detailed explanation of these flags.</span></div>
-<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;  <span class="comment">//</span></div>
-<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;  <span class="comment">// [1] https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx // NOLINT(whitespace/line_length)</span></div>
-<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;  <span class="comment">// [2] https://msdn.microsoft.com/en-us/library/windows/desktop/aa364399(v=vs.85).aspx // NOLINT(whitespace/line_length)</span></div>
-<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;  <span class="keyword">const</span> DWORD access_flags = resolved_path_is_directory</div>
-<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;    ? (FILE_FLAG_OPEN_REPARSE_POINT | FILE_FLAG_BACKUP_SEMANTICS)</div>
-<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;    : FILE_FLAG_OPEN_REPARSE_POINT;</div>
-<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div>
-<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;  <span class="keyword">const</span> <a class="code" href="namespacerouting_1_1queueing_1_1ingress.html#a934208b6017d0a9aed90b6594bb8292f">HANDLE</a> handle = ::CreateFileW(</div>
-<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;      <a class="code" href="namespaceinternal_1_1windows.html#abd7dbdbc8d95626d0c66455078380aa1">longpath</a>(absolute_path).data(),</div>
-<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;      GENERIC_READ,     <span class="comment">// Open the file for reading only.</span></div>
-<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;      FILE_SHARE_READ,  <span class="comment">// Just reading this file, allow others to do the same.</span></div>
-<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;      <span class="keyword">nullptr</span>,          <span class="comment">// Ignored.</span></div>
-<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;      OPEN_EXISTING,    <span class="comment">// Open existing symlink.</span></div>
-<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;      access_flags,     <span class="comment">// Open symlink, not the file it points to.</span></div>
-<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;      <span class="keyword">nullptr</span>);         <span class="comment">// Ignored.</span></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="keywordflow">if</span> (handle == INVALID_HANDLE_VALUE) {</div>
-<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classWindowsError.html">WindowsError</a>();</div>
-<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;  }</div>
-<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;</div>
-<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="classSharedHandle.html">SharedHandle</a>(handle, ::CloseHandle);</div>
-<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;}</div>
-<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;</div>
-<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;</div>
-<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;<span class="comment">// Attempts to get the symlink data for a file or folder handle.</span></div>
-<div class="line"><a name="l00265"></a><span class="lineno"><a class="line" href="namespaceinternal_1_1windows.html#a85f7e5d0197eeb93bde525379b8e14d6">  265</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classTry.html">Try&lt;SymbolicLink&gt;</a> <a class="code" href="namespaceinternal_1_1windows.html#a85f7e5d0197eeb93bde525379b8e14d6">get_symbolic_link_data</a>(<span class="keyword">const</span> <a class="code" href="namespacerouting_1_1queueing_1_1ingress.html#a934208b6017d0a9aed90b6594bb8292f">HANDLE</a> handle)</div>
-<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;{</div>
-<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;  <span class="comment">// To get the symlink data, we call `DeviceIoControl`. This function is part</span></div>
-<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;  <span class="comment">// of the Device Driver Kit (DDK)[1] and, along with `FSCTL_GET_REPARSE_POINT`</span></div>
-<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;  <span class="comment">// is used to emit information about reparse points (and, thus, symlinks,</span></div>
-<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;  <span class="comment">// since symlinks are implemented with reparse points). This technique is</span></div>
-<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;  <span class="comment">// being used in Boost FS code as well[2].</span></div>
-<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;  <span class="comment">//</span></div>
-<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;  <span class="comment">// Summarized, the documentation tells us that we need to pass in</span></div>
-<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;  <span class="comment">// `FSCTL_GET_REPARSE_POINT` to get the function to populate a</span></div>
-<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;  <span class="comment">// `REPARSE_DATA_BUFFER` struct with data about a reparse point.</span></div>
-<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;  <span class="comment">// The `REPARSE_DATA_BUFFER` struct is defined in a DDK header file,</span></div>
-<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;  <span class="comment">// so to avoid bringing in a multitude of DDK headers we take a cue from</span></div>
-<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;  <span class="comment">// Boost FS, and copy the struct into this header (see above).</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;  <span class="comment">// Finally, for context, it may be worth looking at the MSDN</span></div>
-<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;  <span class="comment">// documentation[3] for `DeviceIoControl` itself.</span></div>
-<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;  <span class="comment">//</span></div>
-<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;  <span class="comment">// [1] https://msdn.microsoft.com/en-us/library/windows/desktop/aa364571(v=vs.85).aspx // NOLINT(whitespace/line_length)</span></div>
-<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;  <span class="comment">// [2] https://svn.boost.org/trac/boost/ticket/4663</span></div>
-<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;  <span class="comment">// [3] https://msdn.microsoft.com/en-us/library/windows/desktop/aa363216(v=vs.85).aspx // NOLINT(whitespace/line_length)</span></div>
-<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;  <a class="code" href="structinternal_1_1windows_1_1__REPARSE__DATA__BUFFER.html">REPARSE_DATA_BUFFER</a> buffer;</div>
-<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;  DWORD ignored = 0;</div>
-<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;</div>
-<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;  <span class="comment">// The semantics of this function are: get the reparse data associated with</span></div>
-<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;  <span class="comment">// the `handle` of some open directory or file, and that data in</span></div>
-<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;  <span class="comment">// `reparse_point_data`.</span></div>
-<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;  <span class="keyword">const</span> BOOL reparse_data_obtained = ::DeviceIoControl(</div>
-<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;      handle,                   <span class="comment">// Handle to file or directory.</span></div>
-<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;      FSCTL_GET_REPARSE_POINT,  <span class="comment">// Gets reparse point data for file/folder.</span></div>
-<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;      <span class="keyword">nullptr</span>,                  <span class="comment">// Ignored.</span></div>
-<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;      0,                        <span class="comment">// Ignored.</span></div>
-<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;      &amp;buffer,</div>
-<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;      <span class="keyword">sizeof</span>(buffer),</div>
-<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;      &amp;ignored,                 <span class="comment">// Ignored.</span></div>
-<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;      <span class="keyword">nullptr</span>);                 <span class="comment">// Ignored.</span></div>
-<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;</div>
-<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;  <span class="keywordflow">if</span> (!reparse_data_obtained) {</div>
-<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classWindowsError.html">WindowsError</a>(</div>
-<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;        <span class="stringliteral">&quot;&#39;internal::windows::get_symbolic_link_data&#39;: &#39;DeviceIoControl&#39; call &quot;</span></div>
-<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;        <span class="stringliteral">&quot;failed&quot;</span>);</div>
-<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;  }</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="classSharedHandle.html">SharedHandle</a>(handle, ::CloseHandle);</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;</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="comment">// Attempts to get a file or folder handle for an absolute path, and does not</span></div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="comment">// follow symlinks. That is, if the path points at a symlink, the handle will</span></div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<span class="comment">// refer to the symlink rather than the file or folder the symlink points at.</span></div>
+<div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="namespaceinternal_1_1windows.html#a8ee4f75d803d8ed56ce760d8e1dfac14">  215</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classTry.html">Try&lt;SharedHandle&gt;</a> <a class="code" href="namespaceinternal_1_1windows.html#a8ee4f75d803d8ed56ce760d8e1dfac14">get_handle_no_follow</a>(<span class="keyword">const</span> std::string&amp; absolute_path)</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;{</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;  <span class="keyword">const</span> <a class="code" href="classTry.html">Try&lt;DWORD&gt;</a> attributes = <a class="code" href="namespaceinternal_1_1windows.html#adb5b8a8afe285eb66a0a551f2382d113">get_file_attributes</a>(<a class="code" href="namespaceinternal_1_1windows.html#abd7dbdbc8d95626d0c66455078380aa1">longpath</a>(absolute_path));</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;  <span class="keywordflow">if</span> (attributes.<a class="code" href="classTry.html#a0b98f95163b8a38daafd1651b043a276">isError</a>()) {</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classError.html">Error</a>(attributes.<a class="code" href="classTry.html#aec4a11ddd3c036e889d90b7eb6258ba7">error</a>());</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;</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;  <span class="keywordtype">bool</span> resolved_path_is_directory = attributes.<a class="code" href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>() &amp; FILE_ATTRIBUTE_DIRECTORY;</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;  <span class="comment">// NOTE: According to the `CreateFile` documentation[1], the `OPEN_EXISTING`</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;  <span class="comment">// and `FILE_FLAG_OPEN_REPARSE_POINT` flags need to be used when getting a</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;  <span class="comment">// handle for the symlink.</span></div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;  <span class="comment">//</span></div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;  <span class="comment">// Note also that `CreateFile` will appropriately generate a handle for</span></div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;  <span class="comment">// either a folder or a file, as long as the appropriate flag is being set:</span></div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;  <span class="comment">// `FILE_FLAG_BACKUP_SEMANTICS` or `FILE_FLAG_OPEN_REPARSE_POINT`.</span></div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;  <span class="comment">//</span></div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;  <span class="comment">// The `FILE_FLAG_BACKUP_SEMANTICS` flag is being set whenever the target is</span></div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;  <span class="comment">// a directory. According to MSDN[1]: &quot;You must set this flag to obtain a</span></div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;  <span class="comment">// handle to a directory. A directory handle can be passed to some functions</span></div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;  <span class="comment">// instead of a file handle&quot;. More `FILE_FLAG_BACKUP_SEMANTICS` documentation</span></div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;  <span class="comment">// can be found in MSDN[2].</span></div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;  <span class="comment">//</span></div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;  <span class="comment">// The `GENERIC_READ` flag is being used because it&#39;s the most common way of</span></div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;  <span class="comment">// opening a file for reading only. The `SHARE` flags allow other processes</span></div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;  <span class="comment">// to read the file at the same time, as well as allow this process to read</span></div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;  <span class="comment">// files that were also opened with these flags. MSDN[1] provides a more</span></div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;  <span class="comment">// detailed explanation of these flags.</span></div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;  <span class="comment">//</span></div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;  <span class="comment">// [1] https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx // NOLINT(whitespace/line_length)</span></div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;  <span class="comment">// [2] https://msdn.microsoft.com/en-us/library/windows/desktop/aa364399(v=vs.85).aspx // NOLINT(whitespace/line_length)</span></div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;  <span class="keyword">const</span> DWORD access_flags = resolved_path_is_directory</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;    ? (FILE_FLAG_OPEN_REPARSE_POINT | FILE_FLAG_BACKUP_SEMANTICS)</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;    : FILE_FLAG_OPEN_REPARSE_POINT;</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;  <span class="keyword">const</span> <a class="code" href="namespacerouting_1_1queueing_1_1ingress.html#a934208b6017d0a9aed90b6594bb8292f">HANDLE</a> handle = ::CreateFileW(</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;      <a class="code" href="namespaceinternal_1_1windows.html#abd7dbdbc8d95626d0c66455078380aa1">longpath</a>(absolute_path).data(),</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;      GENERIC_READ,     <span class="comment">// Open the file for reading only.</span></div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;      <span class="comment">// Must pass in all SHARE flags below, in case file is already open.</span></div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;      <span class="comment">// Otherwise, we may get an access denied error.</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;      FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;      <span class="keyword">nullptr</span>,          <span class="comment">// Ignored.</span></div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;      OPEN_EXISTING,    <span class="comment">// Open existing symlink.</span></div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;      access_flags,     <span class="comment">// Open symlink, not the file it points to.</span></div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;      <span class="keyword">nullptr</span>);         <span class="comment">// Ignored.</span></div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;  <span class="keywordflow">if</span> (handle == INVALID_HANDLE_VALUE) {</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classWindowsError.html">WindowsError</a>();</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;  }</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="classSharedHandle.html">SharedHandle</a>(handle, ::CloseHandle);</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;}</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;<span class="comment">// Attempts to get the symlink data for a file or folder handle.</span></div>
+<div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="namespaceinternal_1_1windows.html#a85f7e5d0197eeb93bde525379b8e14d6">  271</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classTry.html">Try&lt;SymbolicLink&gt;</a> <a class="code" href="namespaceinternal_1_1windows.html#a85f7e5d0197eeb93bde525379b8e14d6">get_symbolic_link_data</a>(<span class="keyword">const</span> <a class="code" href="namespacerouting_1_1queueing_1_1ingress.html#a934208b6017d0a9aed90b6594bb8292f">HANDLE</a> handle)</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;{</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;  <span class="comment">// To get the symlink data, we call `DeviceIoControl`. This function is part</span></div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;  <span class="comment">// of the Device Driver Kit (DDK)[1] and, along with `FSCTL_GET_REPARSE_POINT`</span></div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;  <span class="comment">// is used to emit information about reparse points (and, thus, symlinks,</span></div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;  <span class="comment">// since symlinks are implemented with reparse points). This technique is</span></div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;  <span class="comment">// being used in Boost FS code as well[2].</span></div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;  <span class="comment">//</span></div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;  <span class="comment">// Summarized, the documentation tells us that we need to pass in</span></div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;  <span class="comment">// `FSCTL_GET_REPARSE_POINT` to get the function to populate a</span></div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;  <span class="comment">// `REPARSE_DATA_BUFFER` struct with data about a reparse point.</span></div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;  <span class="comment">// The `REPARSE_DATA_BUFFER` struct is defined in a DDK header file,</span></div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;  <span class="comment">// so to avoid bringing in a multitude of DDK headers we take a cue from</span></div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;  <span class="comment">// Boost FS, and copy the struct into this header (see above).</span></div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;  <span class="comment">//</span></div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;  <span class="comment">// Finally, for context, it may be worth looking at the MSDN</span></div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;  <span class="comment">// documentation[3] for `DeviceIoControl` itself.</span></div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;  <span class="comment">//</span></div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;  <span class="comment">// [1] https://msdn.microsoft.com/en-us/library/windows/desktop/aa364571(v=vs.85).aspx // NOLINT(whitespace/line_length)</span></div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;  <span class="comment">// [2] https://svn.boost.org/trac/boost/ticket/4663</span></div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;  <span class="comment">// [3] https://msdn.microsoft.com/en-us/library/windows/desktop/aa363216(v=vs.85).aspx // NOLINT(whitespace/line_length)</span></div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;  <a class="code" href="structinternal_1_1windows_1_1__REPARSE__DATA__BUFFER.html">REPARSE_DATA_BUFFER</a> buffer;</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;  DWORD ignored = 0;</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;  <span class="comment">// The semantics of this function are: get the reparse data associated with</span></div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;  <span class="comment">// the `handle` of some open directory or file, and that data in</span></div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;  <span class="comment">// `reparse_point_data`.</span></div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;  <span class="keyword">const</span> BOOL reparse_data_obtained = ::DeviceIoControl(</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;      handle,                   <span class="comment">// Handle to file or directory.</span></div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;      FSCTL_GET_REPARSE_POINT,  <span class="comment">// Gets reparse point data for file/folder.</span></div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;      <span class="keyword">nullptr</span>,                  <span class="comment">// Ignored.</span></div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;      0,                        <span class="comment">// Ignored.</span></div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;      &amp;buffer,</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;      <span class="keyword">sizeof</span>(buffer),</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;      &amp;ignored,                 <span class="comment">// Ignored.</span></div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;      <span class="keyword">nullptr</span>);                 <span class="comment">// Ignored.</span></div>
 <div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;</div>
-<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="namespaceinternal_1_1windows.html#afd9a4ce68b9e02355cf2a92c49828081">build_symbolic_link</a>(buffer);</div>
-<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;}</div>
-<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;</div>
-<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;</div>
-<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;<span class="comment">// Creates a reparse point with the specified target. The target can be either</span></div>
-<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;<span class="comment">// a file (in which case a junction is created), or a folder (in which case a</span></div>
-<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="comment">// mount point is created).</span></div>
-<div class="line"><a name="l00315"></a><span class="lineno"><a class="line" href="namespaceinternal_1_1windows.html#aeb3eff223f2ea4c2899bcc82d8818334">  315</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classTry.html">Try&lt;Nothing&gt;</a> <a class="code" href="namespaceinternal_1_1windows.html#aeb3eff223f2ea4c2899bcc82d8818334">create_symbolic_link</a>(</div>
-<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;    <span class="keyword">const</span> std::string&amp; target,</div>
-<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;    <span class="keyword">const</span> std::string&amp; reparse_point)</div>
-<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;{</div>
-<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;  <span class="comment">// Determine if target is a folder or a file. This makes a difference</span></div>
-<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;  <span class="comment">// in the way we call `create_symbolic_link`.</span></div>
-<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;  <span class="keyword">const</span> <a class="code" href="classTry.html">Try&lt;DWORD&gt;</a> attributes = <a class="code" href="namespaceinternal_1_1windows.html#adb5b8a8afe285eb66a0a551f2382d113">get_file_attributes</a>(<a class="code" href="namespaceinternal_1_1windows.html#abd7dbdbc8d95626d0c66455078380aa1">longpath</a>(target));</div>
-<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;</div>
-<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;  <span class="keywordtype">bool</span> target_is_folder = <span class="keyword">false</span>;</div>
-<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;  <span class="keywordflow">if</span> (attributes.<a class="code" href="classTry.html#a6543d7d5db4f298bcd673bf3cd509acc">isSome</a>()) {</div>
-<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;    target_is_folder = attributes.<a class="code" href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>() &amp; FILE_ATTRIBUTE_DIRECTORY;</div>
-<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;  }</div>
-<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;</div>
-<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;  <span class="comment">// Bail out if target is already a reparse point.</span></div>
-<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;  <a class="code" href="classTry.html">Try&lt;bool&gt;</a> attribute_set = <a class="code" href="namespaceinternal_1_1windows.html#a9205fe9be7dc028375cd24338483152b">reparse_point_attribute_set</a>(<a class="code" href="namespaceinternal_1_1windows.html#abd7dbdbc8d95626d0c66455078380aa1">longpath</a>(target));</div>
-<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;  <span class="keywordflow">if</span> (attribute_set.<a class="code" href="classTry.html#a6543d7d5db4f298bcd673bf3cd509acc">isSome</a>() &amp;&amp; attribute_set.<a class="code" href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>()) {</div>
-<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classError.html">Error</a>(<span class="stringliteral">&quot;Path &#39;&quot;</span> + target + <span class="stringliteral">&quot;&#39; is already a reparse point&quot;</span>);</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;  <span class="keywordflow">if</span> (!reparse_data_obtained) {</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classWindowsError.html">WindowsError</a>(</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;        <span class="stringliteral">&quot;&#39;internal::windows::get_symbolic_link_data&#39;: &#39;DeviceIoControl&#39; call &quot;</span></div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;        <span class="stringliteral">&quot;failed&quot;</span>);</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;  }</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="namespaceinternal_1_1windows.html#afd9a4ce68b9e02355cf2a92c49828081">build_symbolic_link</a>(buffer);</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;}</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;<span class="comment">// Creates a reparse point with the specified target. The target can be either</span></div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;<span class="comment">// a file (in which case a junction is created), or a folder (in which case a</span></div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="comment">// mount point is created).</span></div>
+<div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="namespaceinternal_1_1windows.html#aeb3eff223f2ea4c2899bcc82d8818334">  321</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classTry.html">Try&lt;Nothing&gt;</a> <a class="code" href="namespaceinternal_1_1windows.html#aeb3eff223f2ea4c2899bcc82d8818334">create_symbolic_link</a>(</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;    <span class="keyword">const</span> std::string&amp; target,</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;    <span class="keyword">const</span> std::string&amp; reparse_point)</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;{</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;  <span class="comment">// Determine if target is a folder or a file. This makes a difference</span></div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;  <span class="comment">// in the way we call `create_symbolic_link`.</span></div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;  <span class="keyword">const</span> <a class="code" href="classTry.html">Try&lt;DWORD&gt;</a> attributes = <a class="code" href="namespaceinternal_1_1windows.html#adb5b8a8afe285eb66a0a551f2382d113">get_file_attributes</a>(<a class="code" href="namespaceinternal_1_1windows.html#abd7dbdbc8d95626d0c66455078380aa1">longpath</a>(target));</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;  <span class="keywordtype">bool</span> target_is_folder = <span class="keyword">false</span>;</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;  <span class="keywordflow">if</span> (attributes.<a class="code" href="classTry.html#a6543d7d5db4f298bcd673bf3cd509acc">isSome</a>()) {</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;    target_is_folder = attributes.<a class="code" href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>() &amp; FILE_ATTRIBUTE_DIRECTORY;</div>
 <div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;  }</div>
 <div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;</div>
-<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;  DWORD <a class="code" href="decoder_8hpp.html#abb0829cce9dd20a40ae0d86890ae85c6">flags</a> = target_is_folder ? SYMBOLIC_LINK_FLAG_DIRECTORY : 0;</div>
-<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;  <span class="comment">// Lambda to create symlink with given flags.</span></div>
-<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;  <span class="keyword">auto</span> link = [&amp;reparse_point, &amp;target](<span class="keyword">const</span> DWORD <a class="code" href="decoder_8hpp.html#abb0829cce9dd20a40ae0d86890ae85c6">flags</a>) {</div>
-<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;    return ::CreateSymbolicLinkW(</div>
-<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;        <span class="comment">// Path to link.</span></div>
-<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;        <a class="code" href="namespaceinternal_1_1windows.html#abd7dbdbc8d95626d0c66455078380aa1">longpath</a>(reparse_point).data(),</div>
-<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;        <span class="comment">// Path to target.</span></div>
-<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;        <a class="code" href="namespaceinternal_1_1windows.html#abd7dbdbc8d95626d0c66455078380aa1">longpath</a>(target).data(),</div>
-<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;        flags);</div>
-<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;  };</div>
-<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div>
-<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;  <span class="comment">// `CreateSymbolicLink` normally adjusts the process token&#39;s privileges to</span></div>
-<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;  <span class="comment">// allow for symlink creation; however, we explicitly avoid this with the</span></div>
-<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;  <span class="comment">// following flag to not require administrative privileges.</span></div>
-<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;  <span class="keywordflow">if</span> (link(flags | SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE)) {</div>
-<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div>
-<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;  }</div>
-<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;</div>
-<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;  <span class="comment">// If this failed because the non-symbolic link feature was not supported,</span></div>
-<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;  <span class="comment">// try again without the feature. This is for legacy support.</span></div>
-<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;  <span class="keywordflow">if</span> (::GetLastError() == ERROR_INVALID_PARAMETER) {</div>
-<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;    <span class="keywordflow">if</span> (link(flags)) {</div>
-<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div>
-<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;    }</div>
-<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;  }</div>
-<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;</div>
-<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="classWindowsError.html">WindowsError</a>();</div>
-<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;}</div>
-<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;</div>
-<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;} <span class="comment">// namespace windows {</span></div>
-<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;} <span class="comment">// namespace internal {</span></div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;  <span class="comment">// Bail out if target is already a reparse point.</span></div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;  <a class="code" href="classTry.html">Try&lt;bool&gt;</a> attribute_set = <a class="code" href="namespaceinternal_1_1windows.html#a9205fe9be7dc028375cd24338483152b">reparse_point_attribute_set</a>(<a class="code" href="namespaceinternal_1_1windows.html#abd7dbdbc8d95626d0c66455078380aa1">longpath</a>(target));</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;  <span class="keywordflow">if</span> (attribute_set.<a class="code" href="classTry.html#a6543d7d5db4f298bcd673bf3cd509acc">isSome</a>() &amp;&amp; attribute_set.<a class="code" href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">get</a>()) {</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classError.html">Error</a>(<span class="stringliteral">&quot;Path &#39;&quot;</span> + target + <span class="stringliteral">&quot;&#39; is already a reparse point&quot;</span>);</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;  }</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;  DWORD <a class="code" href="decoder_8hpp.html#abb0829cce9dd20a40ae0d86890ae85c6">flags</a> = target_is_folder ? SYMBOLIC_LINK_FLAG_DIRECTORY : 0;</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="comment">// Lambda to create symlink with given flags.</span></div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;  <span class="keyword">auto</span> link = [&amp;reparse_point, &amp;target](<span class="keyword">const</span> DWORD <a class="code" href="decoder_8hpp.html#abb0829cce9dd20a40ae0d86890ae85c6">flags</a>) {</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;    return ::CreateSymbolicLinkW(</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;        <span class="comment">// Path to link.</span></div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;        <a class="code" href="namespaceinternal_1_1windows.html#abd7dbdbc8d95626d0c66455078380aa1">longpath</a>(reparse_point).data(),</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;        <span class="comment">// Path to target.</span></div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;        <a class="code" href="namespaceinternal_1_1windows.html#abd7dbdbc8d95626d0c66455078380aa1">longpath</a>(target).data(),</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;        flags);</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;  };</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;  <span class="comment">// `CreateSymbolicLink` normally adjusts the process token&#39;s privileges to</span></div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;  <span class="comment">// allow for symlink creation; however, we explicitly avoid this with the</span></div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;  <span class="comment">// following flag to not require administrative privileges.</span></div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;  <span class="keywordflow">if</span> (link(flags | SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE)) {</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;  }</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;  <span class="comment">// If this failed because the non-symbolic link feature was not supported,</span></div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;  <span class="comment">// try again without the feature. This is for legacy support.</span></div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;  <span class="keywordflow">if</span> (::GetLastError() == ERROR_INVALID_PARAMETER) {</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;    <span class="keywordflow">if</span> (link(flags)) {</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="structNothing.html">Nothing</a>();</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;    }</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;  }</div>
 <div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;</div>
-<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;<span class="preprocessor">#endif // __STOUT_INTERNAL_WINDOWS_REPARSEPOINT_HPP__</span></div>
-<div class="ttc" id="namespaceinternal_1_1windows_html_a8ee4f75d803d8ed56ce760d8e1dfac14"><div class="ttname"><a href="namespaceinternal_1_1windows.html#a8ee4f75d803d8ed56ce760d8e1dfac14">internal::windows::get_handle_no_follow</a></div><div class="ttdeci">Try&lt; SharedHandle &gt; get_handle_no_follow(const std::string &amp;absolute_path)</div><div class="ttdef"><b>Definition:</b> reparsepoint.hpp:212</div></div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="classWindowsError.html">WindowsError</a>();</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;}</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;} <span class="comment">// namespace windows {</span></div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;} <span class="comment">// namespace internal {</span></div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;<span class="preprocessor">#endif // __STOUT_INTERNAL_WINDOWS_REPARSEPOINT_HPP__</span></div>
+<div class="ttc" id="namespaceinternal_1_1windows_html_a8ee4f75d803d8ed56ce760d8e1dfac14"><div class="ttname"><a href="namespaceinternal_1_1windows.html#a8ee4f75d803d8ed56ce760d8e1dfac14">internal::windows::get_handle_no_follow</a></div><div class="ttdeci">Try&lt; SharedHandle &gt; get_handle_no_follow(const std::string &amp;absolute_path)</div><div class="ttdef"><b>Definition:</b> reparsepoint.hpp:215</div></div>
 <div class="ttc" id="structNothing_html"><div class="ttname"><a href="structNothing.html">Nothing</a></div><div class="ttdef"><b>Definition:</b> nothing.hpp:16</div></div>
 <div class="ttc" id="classError_html"><div class="ttname"><a href="classError.html">Error</a></div><div class="ttdef"><b>Definition:</b> errorbase.hpp:35</div></div>
 <div class="ttc" id="classTry_html_a8bc7f43e75a47111ea18e9c83b007be5"><div class="ttname"><a href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">Try::get</a></div><div class="ttdeci">T &amp; get()&amp;</div><div class="ttdef"><b>Definition:</b> try.hpp:73</div></div>
@@ -440,7 +446,7 @@
 <div class="ttc" id="3rdparty_2stout_2include_2stout_2windows_8hpp_html"><div class="ttname"><a href="3rdparty_2stout_2include_2stout_2windows_8hpp.html">windows.hpp</a></div></div>
 <div class="ttc" id="namespaceinternal_1_1windows_html_afd9a4ce68b9e02355cf2a92c49828081"><div class="ttname"><a href="namespaceinternal_1_1windows.html#afd9a4ce68b9e02355cf2a92c49828081">internal::windows::build_symbolic_link</a></div><div class="ttdeci">Try&lt; SymbolicLink &gt; build_symbolic_link(const REPARSE_DATA_BUFFER &amp;data)</div><div class="ttdef"><b>Definition:</b> reparsepoint.hpp:124</div></div>
 <div class="ttc" id="structinternal_1_1windows_1_1__REPARSE__DATA__BUFFER_html_a7a7397a1d339f687d5fd5a5f7b2f6457"><div class="ttname"><a href="structinternal_1_1windows_1_1__REPARSE__DATA__BUFFER.html#a7a7397a1d339f687d5fd5a5f7b2f6457">internal::windows::_REPARSE_DATA_BUFFER::SymbolicLinkReparseBuffer</a></div><div class="ttdeci">struct internal::windows::_REPARSE_DATA_BUFFER::@13 SymbolicLinkReparseBuffer</div></div>
-<div class="ttc" id="namespaceinternal_1_1windows_html_a85f7e5d0197eeb93bde525379b8e14d6"><div class="ttname"><a href="namespaceinternal_1_1windows.html#a85f7e5d0197eeb93bde525379b8e14d6">internal::windows::get_symbolic_link_data</a></div><div class="ttdeci">Try&lt; SymbolicLink &gt; get_symbolic_link_data(const HANDLE handle)</div><div class="ttdef"><b>Definition:</b> reparsepoint.hpp:265</div></div>
+<div class="ttc" id="namespaceinternal_1_1windows_html_a85f7e5d0197eeb93bde525379b8e14d6"><div class="ttname"><a href="namespaceinternal_1_1windows.html#a85f7e5d0197eeb93bde525379b8e14d6">internal::windows::get_symbolic_link_data</a></div><div class="ttdeci">Try&lt; SymbolicLink &gt; get_symbolic_link_data(const HANDLE handle)</div><div class="ttdef"><b>Definition:</b> reparsepoint.hpp:271</div></div>
 <div class="ttc" id="nothing_8hpp_html"><div class="ttname"><a href="nothing_8hpp.html">nothing.hpp</a></div></div>
 <div class="ttc" id="structinternal_1_1windows_1_1__REPARSE__DATA__BUFFER_html_a77bd10c591a84eb780db48a5195140a5"><div class="ttname"><a href="structinternal_1_1windows_1_1__REPARSE__DATA__BUFFER.html#a77bd10c591a84eb780db48a5195140a5">internal::windows::_REPARSE_DATA_BUFFER::PathBuffer</a></div><div class="ttdeci">WCHAR PathBuffer[MAXIMUM_REPARSE_DATA_BUFFER_SIZE]</div><div class="ttdef"><b>Definition:</b> reparsepoint.hpp:92</div></div>
 <div class="ttc" id="namespacerouting_1_1queueing_1_1ingress_html_a934208b6017d0a9aed90b6594bb8292f"><div class="ttname"><a href="namespacerouting_1_1queueing_1_1ingress.html#a934208b6017d0a9aed90b6594bb8292f">routing::queueing::ingress::HANDLE</a></div><div class="ttdeci">constexpr Handle HANDLE</div><div class="ttdef"><b>Definition:</b> ingress.hpp:37</div></div>
@@ -463,7 +469,7 @@
 <div class="ttc" id="namespaceinternal_1_1windows_html_ac3625d90ddd93b6c9a889610263990c1"><div class="ttname"><a href="namespaceinternal_1_1windows.html#ac3625d90ddd93b6c9a889610263990c1">internal::windows::REPARSE_DATA_BUFFER</a></div><div class="ttdeci">struct internal::windows::_REPARSE_DATA_BUFFER REPARSE_DATA_BUFFER</div></div>
 <div class="ttc" id="namespaceinternal_1_1windows_html_abd7dbdbc8d95626d0c66455078380aa1"><div class="ttname"><a href="namespaceinternal_1_1windows.html#abd7dbdbc8d95626d0c66455078380aa1">internal::windows::longpath</a></div><div class="ttdeci">std::wstring longpath(const std::string &amp;path)</div><div class="ttdef"><b>Definition:</b> longpath.hpp:38</div></div>
 <div class="ttc" id="structinternal_1_1windows_1_1__REPARSE__DATA__BUFFER_html"><div class="ttname"><a href="structinternal_1_1windows_1_1__REPARSE__DATA__BUFFER.html">internal::windows::_REPARSE_DATA_BUFFER</a></div><div class="ttdef"><b>Definition:</b> reparsepoint.hpp:58</div></div>
-<div class="ttc" id="namespaceinternal_1_1windows_html_aeb3eff223f2ea4c2899bcc82d8818334"><div class="ttname"><a href="namespaceinternal_1_1windows.html#aeb3eff223f2ea4c2899bcc82d8818334">internal::windows::create_symbolic_link</a></div><div class="ttdeci">Try&lt; Nothing &gt; create_symbolic_link(const std::string &amp;target, const std::string &amp;reparse_point)</div><div class="ttdef"><b>Definition:</b> reparsepoint.hpp:315</div></div>
+<div class="ttc" id="namespaceinternal_1_1windows_html_aeb3eff223f2ea4c2899bcc82d8818334"><div class="ttname"><a href="namespaceinternal_1_1windows.html#aeb3eff223f2ea4c2899bcc82d8818334">internal::windows::create_symbolic_link</a></div><div class="ttdeci">Try&lt; Nothing &gt; create_symbolic_link(const std::string &amp;target, const std::string &amp;reparse_point)</div><div class="ttdef"><b>Definition:</b> reparsepoint.hpp:321</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/873b056b/content/api/latest/c++/symlink_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/symlink_8hpp_source.html b/content/api/latest/c++/symlink_8hpp_source.html
index b101282..faa9f72 100644
--- a/content/api/latest/c++/symlink_8hpp_source.html
+++ b/content/api/latest/c++/symlink_8hpp_source.html
@@ -168,7 +168,7 @@
 <div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div>
 <div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="preprocessor">#endif // __STOUT_INTERNAL_WINDOWS_SYMLINK_HPP__</span></div>
 <div class="ttc" id="namespaceinternal_1_1windows_html_a9a06fe58fd74d8f9fdcea8c061c70cc5"><div class="ttname"><a href="namespaceinternal_1_1windows.html#a9a06fe58fd74d8f9fdcea8c061c70cc5">internal::windows::fullpath</a></div><div class="ttdeci">Result&lt; std::string &gt; fullpath(const std::string &amp;path)</div><div class="ttdef"><b>Definition:</b> symlink.hpp:30</div></div>
-<div class="ttc" id="namespaceinternal_1_1windows_html_a8ee4f75d803d8ed56ce760d8e1dfac14"><div class="ttname"><a href="namespaceinternal_1_1windows.html#a8ee4f75d803d8ed56ce760d8e1dfac14">internal::windows::get_handle_no_follow</a></div><div class="ttdeci">Try&lt; SharedHandle &gt; get_handle_no_follow(const std::string &amp;absolute_path)</div><div class="ttdef"><b>Definition:</b> reparsepoint.hpp:212</div></div>
+<div class="ttc" id="namespaceinternal_1_1windows_html_a8ee4f75d803d8ed56ce760d8e1dfac14"><div class="ttname"><a href="namespaceinternal_1_1windows.html#a8ee4f75d803d8ed56ce760d8e1dfac14">internal::windows::get_handle_no_follow</a></div><div class="ttdeci">Try&lt; SharedHandle &gt; get_handle_no_follow(const std::string &amp;absolute_path)</div><div class="ttdef"><b>Definition:</b> reparsepoint.hpp:215</div></div>
 <div class="ttc" id="classError_html"><div class="ttname"><a href="classError.html">Error</a></div><div class="ttdef"><b>Definition:</b> errorbase.hpp:35</div></div>
 <div class="ttc" id="classTry_html_a8bc7f43e75a47111ea18e9c83b007be5"><div class="ttname"><a href="classTry.html#a8bc7f43e75a47111ea18e9c83b007be5">Try::get</a></div><div class="ttdeci">T &amp; get()&amp;</div><div class="ttdef"><b>Definition:</b> try.hpp:73</div></div>
 <div class="ttc" id="classSharedHandle_html_a800385e17e17cb826147968e748fd8fa"><div class="ttname"><a href="classSharedHandle.html#a800385e17e17cb826147968e748fd8fa">SharedHandle::get_handle</a></div><div class="ttdeci">HANDLE get_handle() const </div><div class="ttdef"><b>Definition:</b> windows.hpp:96</div></div>
@@ -181,7 +181,7 @@
 <div class="ttc" id="classResult_html"><div class="ttname"><a href="classResult.html">Result</a></div><div class="ttdef"><b>Definition:</b> check.hpp:30</div></div>
 <div class="ttc" id="reparsepoint_8hpp_html"><div class="ttname"><a href="reparsepoint_8hpp.html">reparsepoint.hpp</a></div></div>
 <div class="ttc" id="namespacestrings_html_a3fbaeb4d589c49ac115fab3412073ca7"><div class="ttname"><a href="namespacestrings.html#a3fbaeb4d589c49ac115fab3412073ca7">strings::remove</a></div><div class="ttdeci">std::string remove(const std::string &amp;from, const std::string &amp;substring, Mode mode=ANY)</div><div class="ttdef"><b>Definition:</b> strings.hpp:40</div></div>
-<div class="ttc" id="namespaceinternal_1_1windows_html_a85f7e5d0197eeb93bde525379b8e14d6"><div class="ttname"><a href="namespaceinternal_1_1windows.html#a85f7e5d0197eeb93bde525379b8e14d6">internal::windows::get_symbolic_link_data</a></div><div class="ttdeci">Try&lt; SymbolicLink &gt; get_symbolic_link_data(const HANDLE handle)</div><div class="ttdef"><b>Definition:</b> reparsepoint.hpp:265</div></div>
+<div class="ttc" id="namespaceinternal_1_1windows_html_a85f7e5d0197eeb93bde525379b8e14d6"><div class="ttname"><a href="namespaceinternal_1_1windows.html#a85f7e5d0197eeb93bde525379b8e14d6">internal::windows::get_symbolic_link_data</a></div><div class="ttdeci">Try&lt; SymbolicLink &gt; get_symbolic_link_data(const HANDLE handle)</div><div class="ttdef"><b>Definition:</b> reparsepoint.hpp:271</div></div>
 <div class="ttc" id="longpath_8hpp_html"><div class="ttname"><a href="longpath_8hpp.html">longpath.hpp</a></div></div>
 <div class="ttc" id="classResult_html_aedf79f3b14dcda5791b84a64ada4d412"><div class="ttname"><a href="classResult.html#aedf79f3b14dcda5791b84a64ada4d412">Result::get</a></div><div class="ttdeci">const T &amp; get() const </div><div class="ttdef"><b>Definition:</b> result.hpp:115</div></div>
 <div class="ttc" id="classTry_html_aec4a11ddd3c036e889d90b7eb6258ba7"><div class="ttname"><a href="classTry.html#aec4a11ddd3c036e889d90b7eb6258ba7">Try::error</a></div><div class="ttdeci">static Try error(const E &amp;e)</div><div class="ttdef"><b>Definition:</b> try.hpp:42</div></div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/873b056b/content/api/latest/c++/windows_2stat_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/windows_2stat_8hpp_source.html b/content/api/latest/c++/windows_2stat_8hpp_source.html
index 2f4195c..15f5caa 100644
--- a/content/api/latest/c++/windows_2stat_8hpp_source.html
+++ b/content/api/latest/c++/windows_2stat_8hpp_source.html
@@ -264,7 +264,7 @@
 <div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;} <span class="comment">// namespace os {</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="preprocessor">#endif // __STOUT_OS_WINDOWS_STAT_HPP__</span></div>
-<div class="ttc" id="namespaceinternal_1_1windows_html_a8ee4f75d803d8ed56ce760d8e1dfac14"><div class="ttname"><a href="namespaceinternal_1_1windows.html#a8ee4f75d803d8ed56ce760d8e1dfac14">internal::windows::get_handle_no_follow</a></div><div class="ttdeci">Try&lt; SharedHandle &gt; get_handle_no_follow(const std::string &amp;absolute_path)</div><div class="ttdef"><b>Definition:</b> reparsepoint.hpp:212</div></div>
+<div class="ttc" id="namespaceinternal_1_1windows_html_a8ee4f75d803d8ed56ce760d8e1dfac14"><div class="ttname"><a href="namespaceinternal_1_1windows.html#a8ee4f75d803d8ed56ce760d8e1dfac14">internal::windows::get_handle_no_follow</a></div><div class="ttdeci">Try&lt; SharedHandle &gt; get_handle_no_follow(const std::string &amp;absolute_path)</div><div class="ttdef"><b>Definition:</b> reparsepoint.hpp:215</div></div>
 <div class="ttc" id="namespaceos_1_1stat_html_a178d1c99fc88dae58f9a5fc4fc3167d5"><div class="ttname"><a href="namespaceos_1_1stat.html#a178d1c99fc88dae58f9a5fc4fc3167d5">os::stat::isfile</a></div><div class="ttdeci">bool isfile(const std::string &amp;path, const FollowSymlink follow=FollowSymlink::FOLLOW_SYMLINK)</div><div class="ttdef"><b>Definition:</b> stat.hpp:87</div></div>
 <div class="ttc" id="classError_html"><div class="ttname"><a href="classError.html">Error</a></div><div class="ttdef"><b>Definition:</b> errorbase.hpp:35</div></div>
 <div class="ttc" id="namespaceos_1_1stat_html_a7a116891923bc8b5d8c50f78da8657be"><div class="ttname"><a href="namespaceos_1_1stat.html#a7a116891923bc8b5d8c50f78da8657be">os::stat::size</a></div><div class="ttdeci">Try&lt; Bytes &gt; size(const std::string &amp;path, const FollowSymlink follow=FollowSymlink::FOLLOW_SYMLINK)</div><div class="ttdef"><b>Definition:</b> stat.hpp:100</div></div>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/873b056b/content/blog/feed.xml
----------------------------------------------------------------------
diff --git a/content/blog/feed.xml b/content/blog/feed.xml
index 6869765..2cc1e6b 100644
--- a/content/blog/feed.xml
+++ b/content/blog/feed.xml
@@ -295,7 +295,7 @@ To learn more about CSI work in Mesos, you can dig into the design document &lt;
 &lt;/ul&gt;
 
 
-&lt;p&gt;If you are a user and would like to suggest some areas for performance improvement, please let us know by emailing &lt;a href=&quot;&amp;#x6d;&amp;#97;&amp;#105;&amp;#108;&amp;#x74;&amp;#x6f;&amp;#58;&amp;#100;&amp;#101;&amp;#118;&amp;#64;&amp;#x61;&amp;#x70;&amp;#97;&amp;#x63;&amp;#x68;&amp;#x65;&amp;#x2e;&amp;#x6d;&amp;#x65;&amp;#115;&amp;#111;&amp;#x73;&amp;#x2e;&amp;#x6f;&amp;#114;&amp;#x67;&quot;&gt;&amp;#100;&amp;#x65;&amp;#x76;&amp;#64;&amp;#97;&amp;#x70;&amp;#97;&amp;#x63;&amp;#104;&amp;#x65;&amp;#x2e;&amp;#109;&amp;#x65;&amp;#x73;&amp;#x6f;&amp;#115;&amp;#x2e;&amp;#x6f;&amp;#114;&amp;#103;&lt;/a&gt;.&lt;/p&gt;
+&lt;p&gt;If you are a user and would like to suggest some areas for performance improvement, please let us know by emailing &lt;a href=&quot;&amp;#109;&amp;#x61;&amp;#105;&amp;#108;&amp;#116;&amp;#x6f;&amp;#x3a;&amp;#x64;&amp;#101;&amp;#118;&amp;#x40;&amp;#x61;&amp;#x70;&amp;#x61;&amp;#x63;&amp;#x68;&amp;#x65;&amp;#x2e;&amp;#x6d;&amp;#101;&amp;#115;&amp;#x6f;&amp;#x73;&amp;#46;&amp;#111;&amp;#114;&amp;#x67;&quot;&gt;&amp;#100;&amp;#x65;&amp;#118;&amp;#64;&amp;#x61;&amp;#112;&amp;#97;&amp;#x63;&amp;#104;&amp;#101;&amp;#46;&amp;#109;&amp;#101;&amp;#115;&amp;#x6f;&amp;#x73;&amp;#x2e;&amp;#111;&amp;#114;&amp;#x67;&lt;/a&gt;.&lt;/p&gt;
 
 	</content>
   </entry>

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/873b056b/content/blog/performance-working-group-progress-report/index.html
----------------------------------------------------------------------
diff --git a/content/blog/performance-working-group-progress-report/index.html b/content/blog/performance-working-group-progress-report/index.html
index 81ee019..947a896 100644
--- a/content/blog/performance-working-group-progress-report/index.html
+++ b/content/blog/performance-working-group-progress-report/index.html
@@ -248,7 +248,7 @@
 </ul>
 
 
-<p>If you are a user and would like to suggest some areas for performance improvement, please let us know by emailing <a href="&#x6d;&#97;&#105;&#108;&#x74;&#x6f;&#58;&#100;&#101;&#118;&#64;&#x61;&#x70;&#97;&#x63;&#x68;&#x65;&#x2e;&#x6d;&#x65;&#115;&#111;&#x73;&#x2e;&#x6f;&#114;&#x67;">&#100;&#x65;&#x76;&#64;&#97;&#x70;&#97;&#x63;&#104;&#x65;&#x2e;&#109;&#x65;&#x73;&#x6f;&#115;&#x2e;&#x6f;&#114;&#103;</a>.</p>
+<p>If you are a user and would like to suggest some areas for performance improvement, please let us know by emailing <a href="&#109;&#x61;&#105;&#108;&#116;&#x6f;&#x3a;&#x64;&#101;&#118;&#x40;&#x61;&#x70;&#x61;&#x63;&#x68;&#x65;&#x2e;&#x6d;&#101;&#115;&#x6f;&#x73;&#46;&#111;&#114;&#x67;">&#100;&#x65;&#118;&#64;&#x61;&#112;&#97;&#x63;&#104;&#101;&#46;&#109;&#101;&#115;&#x6f;&#x73;&#x2e;&#111;&#114;&#x67;</a>.</p>
 
   </div>
 </div>