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 <[email protected]>
Authored: Sat Mar 10 03:20:34 2018 +0000
Committer: jenkins <[email protected]>
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>

Reply via email to