Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r74966 - trunk/libs/filesystem/v3/doc
From: bdawes_at_[hidden]
Date: 2011-10-16 08:49:13


Author: bemandawes
Date: 2011-10-16 08:49:12 EDT (Sun, 16 Oct 2011)
New Revision: 74966
URL: http://svn.boost.org/trac/boost/changeset/74966

Log:
file_status docs work-in-progress
Text files modified:
   trunk/libs/filesystem/v3/doc/reference.html | 218 ++++++++++++++++++++++++++++-----------
   1 files changed, 156 insertions(+), 62 deletions(-)

Modified: trunk/libs/filesystem/v3/doc/reference.html
==============================================================================
--- trunk/libs/filesystem/v3/doc/reference.html (original)
+++ trunk/libs/filesystem/v3/doc/reference.html 2011-10-16 08:49:12 EDT (Sun, 16 Oct 2011)
@@ -59,46 +59,52 @@
     <a href="#Definitions">Definitions</a><br>
     <a href="#Conformance">Conformance</a><br>
     <a href="#Header-filesystem-synopsis">
- Header &lt;boost/filesystem.hpp&gt; synopsis</a><br>
+ Header <code>&lt;boost/filesystem.hpp&gt;</code> synopsis</a><br>
     <a href="#Error-reporting">Error reporting</a><br>
- Class path<br>
- &nbsp;&nbsp;&nbsp; path constructors<br>
-&nbsp;&nbsp;&nbsp; path assignments<br>
-&nbsp;&nbsp;&nbsp;&nbsp;path appends<br>
-&nbsp;&nbsp;&nbsp;&nbsp;path modifiers<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#path-native-format-observers">path native
+ Class path<br>
+ &nbsp;&nbsp;&nbsp; path constructors<br>
+&nbsp;&nbsp;&nbsp; path assignments<br>
+&nbsp;&nbsp;&nbsp;&nbsp;path appends<br>
+&nbsp;&nbsp;&nbsp;&nbsp;path modifiers<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#path-native-format-observers"><code>path</code> native
     format observers</a><br>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#path-generic-format-observers">path generic
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#path-generic-format-observers"><code>path</code> generic
     format observers</a><br>
-&nbsp;&nbsp;&nbsp; path decomposition<br>
-&nbsp;&nbsp;&nbsp; path query<br>
-&nbsp;&nbsp;&nbsp;&nbsp;path iterators<br>
-&nbsp;&nbsp;&nbsp;&nbsp;path deprecated functions<br>
-&nbsp;&nbsp;&nbsp;&nbsp;path non-member functions<br>
-&nbsp;&nbsp;&nbsp;&nbsp;path inserters and extractors<br>
- &nbsp;Class filesystem_error<br>
-&nbsp;&nbsp;&nbsp; <a href="#filesystem_error-members">filesystem_error
+&nbsp;&nbsp;&nbsp; path decomposition<br>
+&nbsp;&nbsp;&nbsp; path query<br>
+&nbsp;&nbsp;&nbsp;&nbsp;path iterators<br>
+&nbsp;&nbsp;&nbsp;&nbsp;path deprecated functions<br>
+&nbsp;&nbsp;&nbsp;&nbsp;path non-member functions<br>
+&nbsp;&nbsp;&nbsp;&nbsp;path inserters and extractors<br>
+ &nbsp;Class filesystem_error<br>
+&nbsp;&nbsp;&nbsp; <a href="#filesystem_error-members"><code>filesystem_error</code>
     constructors</a><br>
-&nbsp;&nbsp;&nbsp; filesystem_error path1<br>
-&nbsp;&nbsp;&nbsp; filesystem_error path2<br>
-&nbsp;&nbsp;&nbsp; filesystem_error what<br>
+&nbsp;&nbsp;&nbsp; <code>f</code>ilesystem_error path1<br>
+&nbsp;&nbsp;&nbsp; filesystem_error path2<br>
+&nbsp;&nbsp;&nbsp; <a href="#filesystem_error-what"><code>filesystem_error</code><code>
+ </code>what</a></td>
+ <td width="33%" valign="top">
+ Enum file_type<br>
+ Enum perms<br>
     <a href="#file_status">Class
- file_status</a><br>
-Class directory_entry<br>
+ <code>file_status</code></a><br>
+&nbsp;&nbsp;&nbsp;
+ <a href="#file_status">
+ <code>file_status</code></a> constructors<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<code>file_status-modifiers</code> observers<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<code>file_status-observers</code> modifiers<br>
+Class directory_entry<br>
 &nbsp;&nbsp;&nbsp;
-directory_entry constructors<br>
-&nbsp;&nbsp;&nbsp;&nbsp;directory_entry modifiers<br>
-&nbsp;&nbsp;&nbsp;&nbsp;directory_entry observers<br>
-Class directory_iterator<br>
-&nbsp;&nbsp;&nbsp; <a href="#directory_iterator-members">directory_iterator
+directory_entry constructors<br>
+&nbsp;&nbsp;&nbsp;&nbsp;directory_entry observers<br>
+&nbsp;&nbsp;&nbsp;&nbsp;directory_entry modifiers<br>
+Class directory_iterator<br>
+&nbsp;&nbsp;&nbsp; <a href="#directory_iterator-members"><code>directory_iterator</code>
     members</a><br>
-Class recursive_directory_iterator<br>
- <br>
- &nbsp;</td>
- <td width="33%" valign="top">
+Class recursive_directory_iterator<br>
     <a href="#Operational-functions">
     Operational functions</a><br>
-&nbsp;&nbsp;&nbsp;&nbsp absolute<br>
+ <code>&nbsp;&nbsp;&nbsp;&nbsp absolute<br>
 &nbsp;&nbsp;&nbsp;&nbsp; canonical<br>
 &nbsp;&nbsp;&nbsp;&nbsp; copy<br>
 &nbsp;&nbsp;&nbsp;&nbsp; copy_directory<br>
@@ -112,14 +118,16 @@
 &nbsp;&nbsp;&nbsp;&nbsp exists<br>
 &nbsp;&nbsp;&nbsp;&nbsp equivalent<br>
 &nbsp;&nbsp;&nbsp;&nbsp file_size<br>
-&nbsp;&nbsp;&nbsp;&nbsp; hard_link_count<br>
-&nbsp;&nbsp;&nbsp;&nbsp; initial_path<br>
+&nbsp;&nbsp;&nbsp;&nbsp; hard_link_count</code></td>
+ <td width="34%" valign="top">
+ <code>&nbsp;&nbsp;&nbsp;&nbsp; initial_path<br>
 &nbsp;&nbsp;&nbsp;&nbsp is_directory<br>
 &nbsp;&nbsp;&nbsp;&nbsp is_empty<br>
 &nbsp;&nbsp;&nbsp;&nbsp is_other<br>
 &nbsp;&nbsp;&nbsp;&nbsp is_regular_file<br>
 &nbsp;&nbsp;&nbsp;&nbsp is_symlink<br>
 &nbsp;&nbsp;&nbsp;&nbsp last_write_time<br>
+&nbsp;&nbsp;&nbsp;&nbsp; permissions<br>
 &nbsp;&nbsp;&nbsp;&nbsp; read_symlink<br>
 &nbsp;&nbsp;&nbsp;&nbsp remove<br>
 &nbsp;&nbsp;&nbsp;&nbsp remove_all<br>
@@ -131,8 +139,7 @@
 &nbsp;&nbsp;&nbsp;&nbsp symlink_status<br>
 &nbsp;&nbsp;&nbsp;&nbsp system_complete<br>
 &nbsp;&nbsp;&nbsp;&nbsp temp_directory_path<br>
-&nbsp;&nbsp;&nbsp;&nbsp; unique_path</td>
- <td width="34%" valign="top">
+&nbsp;&nbsp;&nbsp;&nbsp; </code> <code> unique_path</code><br>
     <a href="#File-streams">File streams</a><br>
 <a href="#Path-decomposition-table">Path decomposition table</a><br>
     <a href="#long-path-warning">Warning: Long paths on Windows and the
@@ -338,10 +345,23 @@
 
       class recursive_directory_iterator;
 
- enum <a name="file_type">file_type</a> { status_error, file_not_found, regular_file, directory_file,
- symlink_file, block_file, character_file, fifo_file, socket_file,
- type_unknown
- };
+ enum <a name="file_type" href="#Enum-file_type">file_type</a>
+ {
+ status_error, file_not_found, regular_file, directory_file,
+ symlink_file, block_file, character_file, fifo_file, socket_file,
+ type_unknown
+ };
+
+ enum perms
+ {
+ no_perms,
+ owner_read, owner_write, owner_exe, owner_all,
+ group_read, group_write, group_exe, group_all,
+ others_read, others_write, others_exe, others_all, all_all,
+ set_uid_on_exe, set_gid_on_exe, sticky_bit,
+ perms_mask, perms_not_known,
+ add_perms, remove_perms, symlink_perms
+ };
 
       class file_status;
 
@@ -1420,9 +1440,58 @@
   string.</p>
 </blockquote>
 <h3><a name="Enum-file_type">Enum file_type</a></h3>
-<p>&nbsp;</p>
+<p>This enum specifies constants uses to identify file types.</p>
+<table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
+ <tr>
+ <td><b>Constant Name</b></td>
+ <td><b>Meaning</b></td>
+ </tr>
+ <tr>
+ <td><code>status_error</code></td>
+ <td>An error occurred while trying to obtain the status of the file. The
+ file simply not being found is <b><u>not</u></b> considered a status error.
+ </td>
+ </tr>
+ <tr>
+ <td><code>file_not_found</code></td>
+ <td>The file could not be found</td>
+ </tr>
+ <tr>
+ <td><code>regular_file</code></td>
+ <td>Regular file</td>
+ </tr>
+ <tr>
+ <td><code>directory_file</code></td>
+ <td>Directory file</td>
+ </tr>
+ <tr>
+ <td><code>symlink_file</code></td>
+ <td>Symbolic link file</td>
+ </tr>
+ <tr>
+ <td><code>block_file</code></td>
+ <td>Block special file</td>
+ </tr>
+ <tr>
+ <td><code>character_file</code></td>
+ <td>Character special file</td>
+ </tr>
+ <tr>
+ <td><code>fifo_file</code></td>
+ <td>FIFO or pipe file</td>
+ </tr>
+ <tr>
+ <td><code>socket_file</code></td>
+ <td>Socket file</td>
+ </tr>
+ <tr>
+ <td><code>type_unknown</code></td>
+ <td>The file exists, but it is of a system specific type not covered by any
+ of the above cases.</td>
+ </tr>
+</table>
 <h3><a name="Enum-perms">Enum perms</a></h3>
-<p>This <code>enum</code> specifies bitmask constants uses to identify file
+<p>This enum specifies bitmask constants uses to identify file
 permissions. The POSIX standard specifies actual values, and those values have
 been adopted here because they are very familiar and ingrained for many POSIX
 users. </p>
@@ -1521,38 +1590,63 @@
       class file_status
       {
       public:
- file_status();
- file_status(const file_status&amp;);
- explicit file_status(file_type v=status_error);
- ~file_status();
 
- file_type type() const;
- void type(file_type v);
+ // constructors
+ file_status() noexcept;
+ explicit file_status(file_type ft, perms prms = perms_not_known) noexcept;
+
+ // compiler generated
+ file_status(const file_status&amp;) noexcept;
+ file_status&amp; operator=(const file_status&amp;) noexcept;
+ ~file_status() noexcept;
+
+ // observers
+ file_type type() const noexcept;
+ perms permissions() const noexcept;
+
+ // modifiers
+ void type(file_type ft) noexcept;
+ void permissions(perms prms) noexcept;
       };
     } // namespace filesystem
   } // namespace boost</pre>
-<p>An object of type <code>file_status</code> stores information about the status of a
-file. The internal form of the stored information is unspecified.</p>
+<p>An object of type <code>file_status</code> stores information about the type
+and permissions of a file.</p>
+<h4 dir="ltr"><a name="file_status-constructors"><code>file_status</code>
+constructors</a></h4>
+<pre>explicit file_status() noexcept;</pre>
 <blockquote>
- <p><i>[Note: </i>The class may be extended in the future to store
- additional status information. <i>--end note]</i></p>
+ <p><i>Postconditions:</i> <code>type() == status_error</code>, <code>
+ permissions() == perms_not_known</code>.</p>
 </blockquote>
-<h4>Members</h4>
-<pre>explicit file_status(file_type v=status_error);</pre>
+<pre>explicit file_status(file_type ft, perms prms = perms_not_known) noexcept;</pre>
 <blockquote>
- <p><i>Effects:</i> Stores <code>v</code>.</p>
- <p><i>Throws:</i> Nothing.</p>
+ <p><i>Postconditions:</i> <code>type() == ft</code>, <code>permissions() ==
+ prms</code>.</p>
 </blockquote>
-<pre>file_type type() const;</pre>
+ <h4 dir="ltr"><a name="file_status-observers"><code>file_status</code>
+ observers</a></h4>
+<pre>file_type type() const noexcept;</pre>
 <blockquote>
- <p><i>Returns: </i>The stored file_type.</p>
+ <p><i>Returns: </i>The value of <code>type()</code> specified by the <i>
+ postconditions</i> of the most recent call to a constructor, operator=, or
+ <code>type(file_type)</code> function.</p>
 </blockquote>
-<pre>void type(file_type v);</pre>
+<pre>perms permissions() const noexcept;</pre>
 <blockquote>
- <p><i>Effects:</i> Stores <code>v</code>, replacing the previously stored
- value.</p>
+ <p><i>Returns: </i>The value of <code>permissions()</code> specified by the <i>
+ postconditions</i> of the most recent call to a constructor, operator=, or
+ <code>permissions(perms)</code> function.</p>
+</blockquote>
+<h4 dir="ltr"><a name="file_status-modifiers"><code>file_status</code> modifiers</a></h4>
+<pre>void type(file_type ft) noexcept;</pre>
+<blockquote>
+ <p dir="ltr"><i>Postconditions:</i> <code>type() == ft</code>.</p>
+</blockquote>
+<pre>void permissions(perms prms) noexcept;</pre>
+<blockquote>
+ <p dir="ltr"><i>Postconditions:</i> <code>permissions() == prms</code>.</p>
 </blockquote>
-<p>&nbsp;</p>
 <h3><a name="Class-directory_entry">Class <code>directory_entry</code></a></h3>
 <div dir="ltr">
 <pre> namespace boost
@@ -3460,7 +3554,7 @@
 </font>
 <a href="http://www.boost.org/LICENSE_1_0.txt"><font size="2">www.boost.org/LICENSE_1_0.txt</font></a></p>
 <p><font size="2">Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B %Y" startspan -->15 October 2011<!--webbot bot="Timestamp" endspan i-checksum="32188" --></font></p>
+<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B %Y" startspan -->16 October 2011<!--webbot bot="Timestamp" endspan i-checksum="32190" --></font></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