|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r59126 - sandbox/filesystem-v3/libs/filesystem/doc
From: bdawes_at_[hidden]
Date: 2010-01-18 09:48:51
Author: bemandawes
Date: 2010-01-18 09:48:50 EST (Mon, 18 Jan 2010)
New Revision: 59126
URL: http://svn.boost.org/trac/boost/changeset/59126
Log:
Fix broken and dup links. Update FAQ
Text files modified:
sandbox/filesystem-v3/libs/filesystem/doc/do_list.html | 11 ++
sandbox/filesystem-v3/libs/filesystem/doc/faq.htm | 46 ++++--------
sandbox/filesystem-v3/libs/filesystem/doc/index.htm | 4
sandbox/filesystem-v3/libs/filesystem/doc/reference.html | 147 ++++++++++++++++++---------------------
4 files changed, 95 insertions(+), 113 deletions(-)
Modified: sandbox/filesystem-v3/libs/filesystem/doc/do_list.html
==============================================================================
--- sandbox/filesystem-v3/libs/filesystem/doc/do_list.html (original)
+++ sandbox/filesystem-v3/libs/filesystem/doc/do_list.html 2010-01-18 09:48:50 EST (Mon, 18 Jan 2010)
@@ -23,7 +23,6 @@
<li>Reorganize files</li>
<li>Fix broken links.</li>
<li>Create Jamfile for examples</li>
- <li>Review FAQ.</li>
<li>Review Index.html</li>
<li>Should minimal.css be changed to used relative font sizes? See
<a href="http://www.w3schools.com/CSS/pr_font_font-size.asp/">http://www.w3schools.com/CSS/pr_font_font-size.asp\</a></li>
@@ -81,8 +80,18 @@
<li>Two argument recursive_directory_iterator ctor isn't recognizing throws().
Would it be better to fold into a single two argument ctor with default?</li>
<li>Add the push_directory class from tools/release/required_files.cpp</li>
+ <li>directory_entry needs relational operators?</li>
</ul>
+<hr>
+<p>© Copyright Beman Dawes, 2010</p>
+<p>Distributed under the Boost Software License, Version 1.0. See
+www.boost.org/LICENSE_1_0.txt</p>
+<p>Revised
+<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B %Y" startspan -->18 January 2010<!--webbot bot="Timestamp" endspan i-checksum="32149" --></p>
+
+<p> </p>
+
</body>
</html>
\ No newline at end of file
Modified: sandbox/filesystem-v3/libs/filesystem/doc/faq.htm
==============================================================================
--- sandbox/filesystem-v3/libs/filesystem/doc/faq.htm (original)
+++ sandbox/filesystem-v3/libs/filesystem/doc/faq.htm 2010-01-18 09:48:50 EST (Mon, 18 Jan 2010)
@@ -36,20 +36,15 @@
<h2>General questions</h2>
<p><b>Why not support a concept of specific kinds of file systems, such as posix_file_system or windows_file_system.</b></p>
<p>Portability is one of the most important requirements for the
-library. Gaining some advantage by using features specific to particular
-operating systems is not a requirement. There doesn't appear to be much need for
-the ability to manipulate, say, a classic Mac OS path while running on an
-OpenVMS machine.</p>
-<p>Furthermore, concepts like "file system"
-are very slippery. What happens when a NTFS or FAT file system is mounted
-in directory on a machine running a POSIX-like operating system, for example?
-Some of the POSIX API's may return very un-POSIX like results.</p>
+library. Features specific to a particular operating system or file system
+can always be accessed by using the operating system's API.</p>
<h2 dir="ltr">
Class <code><font size="6">path</font></code> questions </h2>
-<p><b>Why base the generic-path string format on POSIX?</b></p>
-<p>[POSIX-01] is an ISO Standard. It is the basis for the most familiar path-string formats,
-not just for POSIX systems but also for the native Windows format and the
+<p><b>Why base the generic pathname format on POSIX?</b></p>
+<p>POSIX is an ISO Standard. It is the basis for the most familiar
+pathname formats,
+not just for POSIX-based operating systems but also for Windows and the
URL portion of URI's. It is ubiquitous and
familiar. On many systems, it is very easy to implement because it is
either the native operating system format (Unix and Windows) or via a
@@ -64,7 +59,7 @@
<i>file_path</i> classes?</b></p>
<p>Why bother? The behavior of all three classes is essentially identical.
Several early versions did require users to identify each path as a file or
-directory path, and this seemed to increase errors and decrease code
+directory path, and this seemed to increase coding errors and decrease code
readability. There was no apparent upside benefit.</p>
<p><b>Why do path decomposition functions yielding a single element return a
path rather than a string?</b></p>
@@ -98,10 +93,10 @@
toolkit functions. See <a href="design.htm#Abandoned_Designs">Failed
Attempts</a>.</p>
<p><b>Isn't it inconsistent then to provide a few convenience functions?</b></p>
-<p>Yes, but experience with both this library, POSIX, and Windows indicates
+<p>Yes, but experience with both this library, POSIX, and Windows, indicates
the utility of certain convenience functions, and that it is possible to provide
-simple, yet widely acceptable, semantics for them. For example, remove_all.</p>
-<p><b>Why are there basic_directory_iterator<> overloads for operations.hpp
+simple, yet widely acceptable, semantics for them. For example, <code>remove_all()</code>.</p>
+<p><b>Why are there directory_iterator overloads for operations.hpp
predicate functions? Isn't two ways to do the same thing poor design?</b></p>
<p>Yes, two ways to do the same thing is often a poor design practice. But the
iterator versions are often much more efficient. Calling status() during
@@ -110,18 +105,11 @@
machine. Times were .90 seconds and .30 seconds, for tests after prior use of
the directory. This performance gain is large enough to justify deviating from
preferred design practices. Neither overload alone meets all needs.</p>
-<p><b>Why are library functions so picky about errors?</b></p>
+<p><b>Why are the operations functions so picky about errors?</b></p>
<p>Safety. The default is to be safe rather than sorry. This is particularly
important given the reality that on many computer systems files and directories
-are globally shared resources, and thus subject to
-unexpected errors.</p>
-<p><b>Why are errors reported by exception rather than return code or error
-notification variable?</b></p>
-<p>Safety. Return codes or error notification variables are often ignored
-by programmers. Exceptions are much harder to ignore, provided desired
-default behavior (program termination) if not caught, yet allow error recovery
-if desired. Non-throwing versions of functions are provided where experience
-indicates the need.</p>
+are globally shared resources, and thus subject to
+race conditions.</p>
<p><b>Why are attributes accessed via named functions rather than property maps?</b></p>
<p>For commonly used attributes (existence, directory or file, emptiness),
simple syntax and guaranteed presence outweigh other considerations. Because
@@ -130,10 +118,6 @@
better design to provide such functionality in a separate library. (Historical
note: even the apparently simple attribute "read-only" turned out to be so
system depend as to be disqualified as a "guaranteed presence" operation.)</p>
-<p><b>Why aren't <a name="wide-character_names">wide-character names</a> supported? Why not std::wstring or even
-a templated type?</b></p>
-<p>They <u>are</u> supported, starting with version 1.33. See
-Internationalization.</p>
<p><b>Why isn't automatic name portability error detection provided?</b></p>
<p>A number (at least six) of designs for name validity error
detection were evaluated, including at least four complete implementations.
@@ -145,12 +129,12 @@
<p><b>Why are paths sometimes manipulated by member functions and sometimes by
non-member functions?</b></p>
<p>The design rule is that purely lexical operations are supplied as <i>class
-basic_path</i> member
+path</i> member
functions, while operations performed by the operating system are provided as
free functions.</p>
<hr>
<p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->03 January, 2010<!--webbot bot="Timestamp" endspan i-checksum="38250" --></p>
+<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->18 January, 2010<!--webbot bot="Timestamp" endspan i-checksum="38261" --></p>
<p>© Copyright Beman Dawes, 2002</p>
<p> Use, modification, and distribution are subject to the Boost Software
License, Version 1.0. See <a href="http://www.boost.org/LICENSE_1_0.txt">
Modified: sandbox/filesystem-v3/libs/filesystem/doc/index.htm
==============================================================================
--- sandbox/filesystem-v3/libs/filesystem/doc/index.htm (original)
+++ sandbox/filesystem-v3/libs/filesystem/doc/index.htm 2010-01-18 09:48:50 EST (Mon, 18 Jan 2010)
@@ -64,7 +64,7 @@
<a href="design.htm">Library Design</a><br>
<a href="faq.htm">FAQ</a><br>
<a href="portability_guide.htm">Portability Guide</a><br>
- Do-list
+ Do-list
</td>
</tr>
</table>
@@ -802,7 +802,7 @@
<hr>
<p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->22 December, 2009<!--webbot bot="Timestamp" endspan i-checksum="38515" --></p>
+<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->17 January, 2010<!--webbot bot="Timestamp" endspan i-checksum="38259" --></p>
<p>© Copyright Beman Dawes, 2002-2005</p>
<p> Use, modification, and distribution are subject to the Boost Software
Modified: sandbox/filesystem-v3/libs/filesystem/doc/reference.html
==============================================================================
--- sandbox/filesystem-v3/libs/filesystem/doc/reference.html (original)
+++ sandbox/filesystem-v3/libs/filesystem/doc/reference.html 2010-01-18 09:48:50 EST (Mon, 18 Jan 2010)
@@ -39,29 +39,27 @@
<h1>Reference Documentation</h1>
-<p>dummy</p>
-
<h2><a name="TOC">Table of Contents</a></h2>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
<tr>
<td width="33%" valign="top">Introduction<br>
<a href="#Definitions">Definitions</a><br>
+ Conformance<br>
<a href="#Header-filesystem-synopsis">
Header <filesystem> synopsis</a><br>
<a href="#Error-reporting">Error reporting</a><br>
<a href="#class-path">Class path</a><br>
-
-Pathname formats<br>
-
-Pathname grammar<br>
-
-Filename conversion<br>
path constructors<br>
path assignments<br>
path appends<br>
path modifiers<br>
- path observers<br>
+ <a href="#path-native-format-observers">path native
+ format observers</a><br>
+ <a href="#path-generic-format-observers">path generic
+ format observers</a><br>
+ path decomposition<br>
+ path query<br>
path iterators<br>
path deprecated functions<br>
path non-member functions<br>
@@ -77,7 +75,6 @@
<a href="#directory_entry-constructors">directory_entry constructors</a><br>
directory_entry modifiers<br>
directory_entry observers<br>
- directory_entry comparisons<br>
<a href="#Class-directory_iterator">Class directory_iterator</a><br>
<a href="#directory_iterator-members">directory_iterator
members</a><br>
@@ -155,7 +152,7 @@
<p><b><i><a name="Path">Path</a>:</i></b> A sequence of elements that identify
a location within a filesystem. The elements are the <i>root-name<sub>opt</sub></i>, <i>
root-directory<sub>opt</sub></i>, and an optional sequence of filenames. [<i>Note:</i>
-A pathname is the concrete representation of a path. <i>--end note</i>]</p>
+A pathname is the concrete representation of a path. <i>--end note</i>]</p>
<p><b><i><a name="Absolute-path">Absolute path</a>:</i></b> A path that uniquely
identifies a file. The format is implementation defined. </p>
<blockquote>
@@ -287,7 +284,7 @@
{
namespace filesystem
{
- class path;
+ class path;
void swap(path& lhs, path& rhs);
bool lexicographical_compare(path::iterator first1, path::iterator last1,
@@ -364,9 +361,9 @@
void current_path(const path& p);
void current_path(const path& p, system::error_code& ec);
- bool exists(file_status s);
- bool exists(const path& p);
- bool exists(const path& p, system::error_code& ec);
+ bool exists(file_status s);
+ bool exists(const path& p);
+ bool exists(const path& p, system::error_code& ec);
bool equivalent(const path& p1, const path& p2);
bool equivalent(const path& p1, const path& p2, system::error_code& ec);
@@ -534,7 +531,7 @@
path& replace_extension(const path& new_extension = path());
path& localize(); // POSIX: no effect. Windows: convert slashes to backslashes
- // native format observers
+ // native format observers
const string_type& native() const; // native format, encoding
const value_type* c_str() const; // native().c_str()
@@ -546,7 +543,7 @@
const u16string u16string() const; // ditto
const u32string u32string() const; // ditto
- // generic format observers
+ // generic format observers
template <class String>
String generic_string() const;
@@ -634,7 +631,7 @@
wchar_t</code>, <code>char16_t</code>, or <code>char32_t</code>.</li>
<li>A <code>boost::filesystem::directory_entry</code>.</li>
</ul>
-<p>Iteration over <code><a name="ContiguousIterator">ContiguousIterator</a></code>
+<p>Iteration over <code>ContiguousIterator</code>
and <code>Source</code> arguments shall result in generic pathname format or
native pathname format strings.</p>
<p>The specifications for certain <code>path</code> functions require that
@@ -719,8 +716,7 @@
or <code>source</code> is not <code>value_type</code>, the contents are
converted by <code>codecvt()</code>.</p>
</blockquote>
-<h3> <code><font size="4"> <a name="path-appends">path</a></font></code><a name="path-appends">
-appends</a></h3>
+<h3> <a name="path-appends"><code><font size="4"> path</font></code> appends</a></h3>
<p>The append operations use <code>operator/=</code> to denote their semantic
effect of appending the platform's preferred directory separator when needed. The
preferred
@@ -817,9 +813,10 @@
<p><i>Returns:</i> <code>*this</code></p>
</blockquote>
-<h3><code><font size="4">path</font></code><font size="4"> <a name="path-native-format-observers">
-native format</a></font><a name="path-native-format-observers"> observers</a></h3>
-<p>The string returned by all native format observers is in the native pathname format.</p>
+<h3> <a name="path-native-format-observers"><code><font size="4">path</font></code>
+native format observers</a></h3>
+<p>The string returned by all native format observers is in the
+native pathname format.</p>
<pre>const string_type& native() const;</pre>
<blockquote>
<p><i>Returns:</i> <code>pathname</code>.</p>
@@ -852,9 +849,8 @@
<code>string()</code>, for Windows, <code>wstring()</code>. <i>--end note</i>]</p>
</blockquote>
-<h3><code><font size="4">path</font></code><font size="4">
-<a name="path-generic-format-observers">generic format</a></font><a name="path-native-format-observers">
-observers</a></h3>
+<h3> <a name="path-generic-format-observers"><code><font size="4">path</font></code>
+generic format observers</a></h3>
<p>The string returned by all generic format observers is in the
<a href="#generic-pathname-format">generic pathname format</a>.</p>
<p>[<i>Note:</i> For POSIX, no conversion occurs, since the native format and
@@ -1020,8 +1016,7 @@
<blockquote>
<p><i>Returns:</i> The end iterator.</p>
</blockquote>
-<h3> <code><font size="4"> <a name="path-deprecated-functions">path</a></font></code><a name="path-deprecated-functions">
-deprecated functions</a></h3>
+<h3> <a name="path-deprecated-functions"><code><font size="4"> path</font></code> deprecated functions</a></h3>
<p> <i> <span style="background-color: #FFFF00">index.htm
also has a section (see macros) partially duplicating this material. Change to
reference this.</span></i></p>
@@ -1110,8 +1105,7 @@
representations only. Thus <code>path("foo") == "bar"</code> is never
<code>true</code>.</p>
<p>Equivalence is determined by the equivalent()
- non-member function, which determines if two paths
- resolve to the same file system entity.
+ non-member function, which determines if two paths resolve to the same file system entity.
Thus <code>equivalent("foo", "bar")</code> will be <code>true</code>
when both paths resolve to the same file.</p>
<p>Programmers wishing to determine if two paths are "the same" must decide if
@@ -1693,8 +1687,8 @@
<p><i>Returns:</i> <code>m_no_push_request</code>.</p>
<p><i>Throws:</i> Nothing.</p>
</blockquote>
-<pre><code>recursive_</code>directory_iterator& <a name="directory_iterator-increment">operator++</a>();
-<code>recursive_</code>directory_iterator& increment(system::error_code& ec);</pre>
+<pre><code>recursive_directory_iterator</code>& <a name="recursive_directory_iterator-increment">operator++</a>();
+recursive_directory_iterator& increment(system::error_code& ec);</pre>
<blockquote>
<p><i>Effects:</i> As specified by the C++ Standard, 24.1.1 Input iterators [input.iterators],
@@ -1844,7 +1838,7 @@
</blockquote>
<pre>void <a name="copy_file">copy_file</a>(const path& from, const path& to, BOOST_SCOPED_ENUM(copy_option) option);
-void <a name="copy_file">copy_file</a>(const path& from, const path& to, BOOST_SCOPED_ENUM(copy_option) option, system::error_code& ec);</pre>
+void <a name="copy_file2">copy_file</a>(const path& from, const path& to, BOOST_SCOPED_ENUM(copy_option) option, system::error_code& ec);</pre>
<blockquote>
<p><i>Effects:</i> If <code>option == copy_option::</code><span style="background-color: #FFFFFF"><code>fail_if_exists
&& exists(to)</code>, an error is reported. Otherwise, t</span>he contents and attributes of the file <code>from</code>
@@ -1854,7 +1848,7 @@
Error reporting</a>.</p>
</blockquote>
<pre>bool <a name="create_directories">create_directories</a>(const path& p);
-bool <a name="create_directories">create_directories</a>(const path& p, system::error_code& ec);</pre>
+bool <a name="create_directories2">create_directories</a>(const path& p, system::error_code& ec);</pre>
<blockquote>
<p><i>Requires:</i> <code>p.empty() || <br>
forall px: px == p || is_parent(px, p): is_directory(px) || !exists( px )</code>
@@ -1867,7 +1861,7 @@
Error reporting</a>.</p>
</blockquote>
<pre>bool <a name="create_directory">create_directory</a>(const path& p);
-bool <a name="create_directory">create_directory</a>(const path& p, system::error_code& ec);</pre>
+bool <a name="create_directory2">create_directory</a>(const path& p, system::error_code& ec);</pre>
<blockquote>
<p><i>Effects:</i> Attempts to create the directory <code>p</code> resolves to,
as if by<i> POSIX </i><code>
@@ -1880,7 +1874,7 @@
Error reporting</a>.</p>
</blockquote>
<pre><span style="background-color: #FFFFFF">void <a name="create_hard_link">create_hard_link</a>(const path& to, const path& from);
-void <a name="create_hard_link">create_hard_link</a>(const path& to, const path& from, system::error_code& ec);</span></pre>
+void <a name="create_hard_link2">create_hard_link</a>(const path& to, const path& from, system::error_code& ec);</span></pre>
<blockquote>
<p><i><span style="background-color: #FFFFFF">Effects:</span></i><span style="background-color: #FFFFFF"> Establishes the postcondition, as if by
</span> <i><span style="background-color: #FFFFFF">POSIX</span></i><span style="background-color: #FFFFFF">
@@ -1907,7 +1901,7 @@
situations are not concerns, or if workarounds are provided. </span> <i><span style="background-color: #FFFFFF">-- end note</span></i><span style="background-color: #FFFFFF">]</span></p>
</blockquote>
<pre><span style="background-color: #FFFFFF">void <a name="create_symlink">create_symlink</a>(const path& to, const path& from);
-void <a name="create_symlink">create_symlink</a>(const path& to, const path& from, system::error_code& ec);</span></pre>
+void <a name="create_symlink2">create_symlink</a>(const path& to, const path& from, system::error_code& ec);</span></pre>
<blockquote style="font-size: 10pt">
<p style="font-size: 10pt"><i><span style="background-color: #FFFFFF">Effects:</span></i><span style="background-color: #FFFFFF">
Establishes the postcondition, as if by </span><i>
@@ -1933,7 +1927,7 @@
not concerns, or if workarounds are provided. </span> <i><span style="background-color: #FFFFFF">-- end note</span></i><span style="background-color: #FFFFFF">]</span></p>
</blockquote>
<pre>path <a name="current_path">current_path</a>();
-path <a name="current_path">current_path</a>(system::error_code& ec);</pre>
+path <a name="current_path2">current_path</a>(system::error_code& ec);</pre>
<blockquote>
<p><i>Returns:</i> The current working directory path, as if by <i>POSIX</i>
<code>
@@ -1963,14 +1957,14 @@
<a href="#Error-reporting">
Error reporting</a>.</p>
</blockquote>
-<pre><span style="background-color: #FFFFFF">bool <a name="exists-file_status">exists</a>(file_status s);</span></pre>
+<pre><span style="background-color: #FFFFFF">bool <a name="exists">exists</a>(file_status s);</span></pre>
<blockquote>
<p><i><span style="background-color: #FFFFFF">Returns:</span></i><span style="background-color: #FFFFFF">
<code>status_known(s) && s.type() != file_not_found</code></span></p>
<p><i>Throws:</i> Nothing.</p>
</blockquote>
-<pre>bool <a name="exists-path">exists</a>(const path& p);
-bool <a name="exists2">exists</a>(const path& p, system::error_code& ec);</pre>
+<pre>bool <a name="exists2">exists</a>(const path& p);
+bool <a name="exists3">exists</a>(const path& p, system::error_code& ec);</pre>
<blockquote>
<p><i>Returns:</i> <code>exists(status(p))</code> or <code>exists(status(p, ec))</code>,
respectively.</p>
@@ -1978,7 +1972,7 @@
nothing.</p>
</blockquote>
<pre><code>bool <a name="equivalent">equivalent</a>(const path& p1, const path& p2);
-bool <a name="equivalent">equivalent</a>(const path& p1, const path& p2, system::error_code& ec);</code></pre>
+bool <a name="equivalent2">equivalent</a>(const path& p1, const path& p2, system::error_code& ec);</code></pre>
<blockquote style="font-size: 10pt">
<p style="font-size: 10pt"><i>Effects:</i> Determines <code>file_status s1</code>
and <code>s2</code>, as if by <code>status(p1)</code> and <code>status(p2)</code>,
@@ -2013,7 +2007,7 @@
Error reporting</a>.</p>
</blockquote>
<pre><span style="background-color: #FFFFFF; ">uintmax_t</span> <a name="file_size">file_size</a>(const path& p);<span style="background-color: #FFFFFF; ">
-uintmax_t</span> <a name="file_size">file_size</a>(const path& p, system::error_code& ec);</pre>
+uintmax_t</span> <a name="file_size2">file_size</a>(const path& p, system::error_code& ec);</pre>
<blockquote>
<p><span style="background-color: #FFFF00">Remarks: </span></p>
<p><i>Returns:</i> If <code>exists(p) && is_regular_file(p)</code>, the size
@@ -2029,7 +2023,7 @@
Error reporting</a>.</p>
</blockquote>
<pre>const path& <a name="initial_path">initial_path</a>();
-const path& <a name="initial_path">initial_path</a>(system::error_code& ec);</pre>
+const path& <a name="initial_path2">initial_path</a>(system::error_code& ec);</pre>
<blockquote>
<p><i>Returns:</i> <code>current_path()</code> at the time of entry to <code>
main()</code>.</p>
@@ -2039,9 +2033,9 @@
<p>[<i>Note:</i> Full implementation requires runtime library support.
Implementations which cannot provide runtime library support are encouraged to
instead store the value of <code>current_path()</code> at the first call of
- <a name="initial_path"><code>initial_path</code></a><code>()</code>, and
+ <code>initial_path</code><code>()</code>, and
return this value for all subsequent calls. Programs using
- <a name="initial_path"><code>initial_path</code></a><code>()</code> are
+ <code>initial_path</code><code>()</code> are
encouraged to call it immediately on entrance to <code>main()</code> so that
they will work correctly with such partial implementations. <i>--end note</i>]</p>
</blockquote>
@@ -2052,25 +2046,22 @@
<p><i>Throws:</i> Nothing.</p>
</blockquote>
<pre><code>bool <a name="is_directory2">is_directory</a>(const path& p);
-bool <a name="is_directory2">is_directory</a>(const path& p, system::error_code& ec);</code></pre>
+bool <a name="is_directory3">is_directory</a>(const path& p, system::error_code& ec);</code></pre>
<blockquote>
- <p dir="ltr"><i>Returns:</i> <code>is_<a name="is_directory2">directory</a>(status(p))</code> or <code>is_directory(status(p, ec))</code>,
+ <p dir="ltr"><i>Returns:</i> <code>is_directory(status(p))</code> or <code>is_directory(status(p, ec))</code>,
respectively.</p>
<p><i>Throws:</i> <code>filesystem_error</code>; overload with <code>error_code&</code> throws
nothing.</p>
</blockquote>
-<pre><code><span style="background-color: #FFFF00">bool </span><span style="background-color: #FFFF00; text-decoration:underline"><a name="is_empty">is_</a></span><span style="background-color: #FFFF00"><a name="is_empty">empty</a>(const path& p);
-bool </span><span style="background-color: #FFFF00; text-decoration:underline"><a name="is_empty">is_</a></span><span style="background-color: #FFFF00"><a name="is_empty">empty</a>(const path& p, system::error_code& ec);</span></code></pre>
+<pre><code>bool <a name="is_empty">is_empty</a>(const path& p);
+bool <a name="is_empty2">is_empty</a></a>(const path& p, system::error_code& ec);</code></pre>
<blockquote>
- <p><i><span style="background-color: #FFFF00">Effects:</span></i><span style="background-color: #FFFF00"> Determines
- </span> <code><span style="background-color: #FFFF00">file_status s</span></code><span style="background-color: #FFFF00">, as if by
- </span> <code>
- <span style="background-color: #FFFF00">status(p, ec)</span></code><span style="background-color: #FFFF00">.</span></p>
- <p><i><span style="background-color: #FFFF00">Returns:</span></i><span style="background-color: #FFFF00">
- </span> <code><span style="background-color: #FFFF00">is_directory(s)<br>
+ <p><i>Effects:</i> Determines <code>file_status s</code>, as if by <code>
+ status(p, ec)</code>.</p>
+ <p><i>Returns:</i> <code>is_directory(s)<br>
?
directory_iterator(p) == directory_iterator()<br>
- : file_size(p) == 0;</span></code></p>
+ : file_size(p) == 0;</code></p>
</blockquote>
<pre>bool <code><a name="is_regular_file">is_regular_file</a></code>(file_status s);</pre>
<blockquote>
@@ -2084,7 +2075,7 @@
<p><i>Throws:</i> <code>filesystem_error</code>
if <code>status(p)</code> would throw <code>filesystem_error.</code></p>
</blockquote>
-<pre><code>bool <a name="is_regular_file2">is_regular_file</a>(const path& p, system::error_code& ec);</code></pre>
+<pre><code>bool <a name="is_regular_file3">is_regular_file</a>(const path& p, system::error_code& ec);</code></pre>
<blockquote>
<p><i>Effects:</i> Sets <code>ec</code> as if by <code>status(p, ec)</code>.
<span style="background-color: #FFFF00">[</span><i><span style="background-color: #FFFF00">Note:</span></i><span style="background-color: #FFFF00">
@@ -2109,7 +2100,7 @@
<p><i>Throws:</i> Nothing.</p>
</blockquote>
<pre><code>bool <a name="is_other2">is_other</a>(const path& p);
-bool <a name="is_other2">is_other</a>(const path& p, system::error_code& ec);</code></pre>
+bool <a name="is_other3">is_other</a>(const path& p, system::error_code& ec);</code></pre>
<blockquote>
<p><i>Returns:</i> <code>is_other(status(p))</code> or <code>is_other(status(p, ec))</code>,
respectively.</p>
@@ -2123,7 +2114,7 @@
<p><i>Throws:</i> Nothing.</p>
</blockquote>
<pre><code>bool <a name="is_symlink2">is_symlink</a>(const path& p);
-bool <a name="is_symlink2">is_symlink</a>(const path& p, system::error_code& ec);</code></pre>
+bool <a name="is_symlink3">is_symlink</a>(const path& p, system::error_code& ec);</code></pre>
<blockquote>
<p><i>Returns:</i> <code>is_symlink(symlink_status(p))</code> or <code>is_symlink(symlink_status(p, ec))</code>,
respectively.</p>
@@ -2131,7 +2122,7 @@
nothing.</p>
</blockquote>
<pre>std::time_t <a name="last_write_time">last_write_time</a>(const path& p);
-std::time_t <a name="last_write_time">last_write_time</a>(const path& p<code>, system::error_code& ec</code>);</pre>
+std::time_t <a name="last_write_time2">last_write_time</a>(const path& p<code>, system::error_code& ec</code>);</pre>
<blockquote>
<p><i>Returns:</i> The time of last data modification of <code>p</code>, determined as if by the
value of the <i>POSIX</i> <code>
@@ -2139,8 +2130,8 @@
as if by <i>POSIX</i> <code>
<a href="http://www.opengroup.org/onlinepubs/000095399/functions/stat.html">stat()</a></code>.</p>
</blockquote>
-<pre>void <a name="last_write_time2">last_write_time</a>(const path& p, const std::time_t new_time);
-void <a name="last_write_time2">last_write_time</a>(const path& p, const std::time_t new_time<code>, system::error_code& ec</code>);</pre>
+<pre>void <a name="last_write_time3">last_write_time</a>(const path& p, const std::time_t new_time);
+void <a name="last_write_time4">last_write_time</a>(const path& p, const std::time_t new_time<code>, system::error_code& ec</code>);</pre>
<blockquote>
<p><i>Effects:</i> Sets the time of last data modification of the file
resolved to by <code>p</code>
@@ -2168,7 +2159,7 @@
resolve to a symbolic link. <i>-- end note</i>]</p>
</blockquote>
<pre>bool <a name="remove">remove</a>(const path& p);
-bool <a name="remove">remove</a>(const path& p, system::error_code& ec);</pre>
+bool <a name="remove2">remove</a>(const path& p, system::error_code& ec);</pre>
<blockquote>
<p><i>Effects:</i> If <code>exists(symlink_status(p,ec))</code>, it is
removed
@@ -2186,7 +2177,7 @@
Error reporting</a>.</p>
</blockquote>
<pre>uintmax_t <a name="remove_all">remove_all</a>(const path& p);
-uintmax_t <a name="remove_all">remove_all</a>(const path& p, system::error_code& ec);</pre>
+uintmax_t <a name="remove_all2">remove_all</a>(const path& p, system::error_code& ec);</pre>
<blockquote>
<p><i>Effects:</i> Recursively deletes the contents of p if it exists,
then deletes file <code>p</code> itself,
@@ -2203,7 +2194,7 @@
Error reporting</a>.</p>
</blockquote>
<pre>void <a name="rename">rename</a>(const path& old_p, const path& new_p);
-void <a name="rename">rename</a>(const path& old_p, const path& new_p, system::error_code& ec);</pre>
+void <a name="rename2">rename</a>(const path& old_p, const path& new_p, system::error_code& ec);</pre>
<blockquote>
<p><i>Effects:</i> Renames <code>old_p</code> to <code>new_p</code>, as if by
<i>POSIX</i> <code>
@@ -2221,7 +2212,7 @@
Error reporting</a>.</p>
</blockquote>
<pre>void <a name="resize_file">resize_file</a>(const path& p, <span style="background-color: #FFFFFF; ">uintmax_t new_size</span>);
-void <a name="resize_file">resize_file</a>(const path& p, <span style="background-color: #FFFFFF; ">uintmax_t new_size, </span>system::error_code& ec);</pre>
+void <a name="resize_file2">resize_file</a>(const path& p, <span style="background-color: #FFFFFF; ">uintmax_t new_size, </span>system::error_code& ec);</pre>
<blockquote>
<p><i>Postconditions:</i> <code>file_size() == new_size</code>.</p>
<p><i>Throws:</i> As specified in
@@ -2233,7 +2224,7 @@
truncate()</a></code>.</p>
</blockquote>
<pre><span style="background-color: #FFFFFF">space_info <a name="space">space</a>(const path& p);
-space_info <a name="space">space</a>(const path& p</span>, system::error_code& ec<span style="background-color: #FFFFFF">);</span></pre>
+space_info <a name="space2">space</a>(const path& p</span>, system::error_code& ec<span style="background-color: #FFFFFF">);</span></pre>
<blockquote>
<p><span style="background-color: #FFFFFF"><i>Returns:</i> An object of type <code>
<a href="#space_info">space_info</a></code>. The value of the <code>space_info</code> object is determined as if by
@@ -2268,7 +2259,7 @@
cause an exception to be
thrown.<i> -- end note</i>] </p>
</blockquote>
-<pre>file_status <a name="status">status</a>(const path& p, system::error_code& ec);</pre>
+<pre>file_status <a name="status2">status</a>(const path& p, system::error_code& ec);</pre>
<blockquote>
<p><i>Effects: </i></p>
<blockquote>
@@ -2369,7 +2360,7 @@
<p><i>Throws:</i> Nothing.</p>
</blockquote>
<pre><span style="background-color: #FFFF00">file_status</span><span style="background-color: #FFFF00"> </span><a name="symlink_status"><span style="background-color: #FFFF00">symlink_status</span></a><span style="background-color: #FFFF00">(const</span><span style="background-color: #FFFF00"> path& p);
-</span><span style="background-color: #FFFF00">file_status</span><span style="background-color: #FFFF00"> </span><a name="symlink_status"><span style="background-color: #FFFF00">symlink_status</span></a><span style="background-color: #FFFF00">(const</span><span style="background-color: #FFFF00"> path& p, </span><span style="background-color: #FFFF00">system::error_code</span><span style="background-color: #FFFF00">& </span><span style="background-color: #FFFF00">ec</span><span style="background-color: #FFFF00">);</span></pre>
+</span><span style="background-color: #FFFF00">file_status</span><span style="background-color: #FFFF00"> </span><a name="symlink_status2"><span style="background-color: #FFFF00">symlink_status</span></a><span style="background-color: #FFFF00">(const</span><span style="background-color: #FFFF00"> path& p, </span><span style="background-color: #FFFF00">system::error_code</span><span style="background-color: #FFFF00">& </span><span style="background-color: #FFFF00">ec</span><span style="background-color: #FFFF00">);</span></pre>
<blockquote>
<p><i>Effects:</i> Same as status(), above,
except that the attributes
@@ -2389,7 +2380,7 @@
nothing.</p>
</blockquote>
<pre>path <a name="system_complete">system_complete</a>(const path& p);
-path <a name="system_complete">system_complete</a>(const path& p, system::error_code& ec);</pre>
+path <a name="system_complete2">system_complete</a>(const path& p, system::error_code& ec);</pre>
<blockquote>
<p><i>Effects:</i> Composes an absolute path from <code>p</code>, using the
same rules used by the operating system to resolve a path passed as the
@@ -2508,8 +2499,7 @@
techniques to avoid breaking existing code in other environments, particularly
on operating systems allowing slashes in filenames.</span></i></p>
<p><span style="background-color: #FFFFFF">[<i>Note:</i> The
-"do-the-right-thing" rule from <a href="#Requirements-on-implementations">
-Requirements on implementations</a> does apply to header <code><fstream></code>.</span></p>
+"do-the-right-thing" rule in the conformance section does apply to header <code><fstream></code>.</span></p>
<p><span style="background-color: #FFFFFF">The overloads
below are specified as additions rather than replacements for existing
functions. This preserves existing code (perhaps
@@ -2526,14 +2516,14 @@
sentence:</i></span></p>
<blockquote>
<p><span style="background-color: #FFFFFF">It then opens a file, if possible,
-whose name is the NTBS s (ââ¬Åas ifââ¬Â by calling <code>std::fopen(s ,<i>modstr</i>
+whose name is the NTBS s (as if by calling <code>std::fopen(s ,<i>modstr</i>
))</code>.</span></p>
</blockquote>
<p><span style="background-color: #FFFFFF"><i>with:</i></span></p>
<blockquote>
<p><span style="background-color: #FFFFFF">It then opens, if possible, the file
that
-<code>p</code> or <code>path(s)</code> resolves to, ââ¬Åas ifââ¬Â by calling <code>std::fopen()</code> with a
+<code>p</code> or <code>path(s)</code> resolves to, as if by calling <code>std::fopen()</code> with a
second argument of <i>modstr</i>.</span></p>
</blockquote>
<p><span style="background-color: #FFFFFF"><i>In 27.8.1.5 Class template
@@ -3132,8 +3122,7 @@
implementations</h2>
<p><span style="background-color: #FFFFFF">The change in semantics to functions
taking <code>const char*</code> arguments can break existing code, but only on
-operating systems where implementations don't
-implicitly accept native format pathnames or
+operating systems where implementations don't implicitly accept native format pathnames or
operating systems that allow slashes in filenames. Thus on <i>POSIX</i>,
<i>Windows,</i> and <i>OpenVMS</i>, for example, there is no problem if the
implementation follows encouraged behavior.</span></p>
@@ -3196,11 +3185,11 @@
</tr>
</table>
<hr>
-<p>© Copyright Beman Dawes, 2002, 2006, 2007, 2009</p>
+<p>© Copyright Beman Dawes, 2002, 2006, 2007, 2009</p>
<p>Distributed under the Boost Software License, Version 1.0. See
<a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a></p>
<p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B %Y" startspan -->17 January 2010<!--webbot bot="Timestamp" endspan i-checksum="32147" --></p>
+<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B %Y" startspan -->18 January 2010<!--webbot bot="Timestamp" endspan i-checksum="32149" --></p>
</body>
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk