|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r59746 - in sandbox/filesystem-v3/libs/filesystem: doc src
From: bdawes_at_[hidden]
Date: 2010-02-18 08:52:39
Author: bemandawes
Date: 2010-02-18 08:52:37 EST (Thu, 18 Feb 2010)
New Revision: 59746
URL: http://svn.boost.org/trac/boost/changeset/59746
Log:
Final pass through docs before beta 1
Text files modified:
sandbox/filesystem-v3/libs/filesystem/doc/design.htm | 5
sandbox/filesystem-v3/libs/filesystem/doc/do_list.html | 23
sandbox/filesystem-v3/libs/filesystem/doc/faq.htm | 24
sandbox/filesystem-v3/libs/filesystem/doc/index.htm | 670 +++++++++------------------------------
sandbox/filesystem-v3/libs/filesystem/doc/portability_guide.htm | 19 +
sandbox/filesystem-v3/libs/filesystem/doc/reference.html | 31
sandbox/filesystem-v3/libs/filesystem/doc/tutorial.html | 38 +
sandbox/filesystem-v3/libs/filesystem/doc/v3.html | 32 +
sandbox/filesystem-v3/libs/filesystem/doc/v3_design.html | 105 +----
sandbox/filesystem-v3/libs/filesystem/src/path.cpp | 2
10 files changed, 291 insertions(+), 658 deletions(-)
Modified: sandbox/filesystem-v3/libs/filesystem/doc/design.htm
==============================================================================
--- sandbox/filesystem-v3/libs/filesystem/doc/design.htm (original)
+++ sandbox/filesystem-v3/libs/filesystem/doc/design.htm 2010-02-18 08:52:37 EST (Thu, 18 Feb 2010)
@@ -261,8 +261,7 @@
implemented, and ultimately abandoned as far too complicated for any small
benefits observed.</p>
-<p>Additional design considerations apply to <a href="i18n.html">
-Internationalization</a>. </p>
+<p>Additional design considerations apply to Internationalization. </p>
<h3>error checking</h3>
@@ -341,7 +340,7 @@
<hr>
<p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->16 February, 2010<!--webbot bot="Timestamp" endspan i-checksum="40534" --></p>
+<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->18 February, 2010<!--webbot bot="Timestamp" endspan i-checksum="40538" --></p>
<p>© Copyright Beman Dawes, 2002</p>
<p> Use, modification, and distribution are subject to the Boost Software
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-02-18 08:52:37 EST (Thu, 18 Feb 2010)
@@ -15,15 +15,13 @@
<body>
-<h1>Boost Filesystem Do List</h1>
+<h1>Boost Filesystem Do List<br>
+18 February 2010</h1>
<h2>Docs</h2>
<ul>
- <li><font size="4">Finish Rev 0 of tutorial</font></li>
<li>Reorganize files</li>
- <li>Fix broken links.</li>
<li>Create Jamfile for examples</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>
<li>Document behavior of path::replace_extension has change WRT argument w/o a
@@ -31,9 +29,10 @@
<li style="font-size: 10pt">Document leading //: no longer treated specially.
But is that really correct?</li>
<li style="font-size: 10pt">Behavior of root_path() has been changed. Change
- needs to be propagated to trunk? reference.html#Path-decomposition-table needs
- rows for //, //netname, //netname/foo Make sure current trunk has passing
- tests for those cases, all decompositions. See test_decompositions() in
+ needs to be propagated to trunk?</li>
+ <li style="font-size: 10pt">reference.html#Path-decomposition-table needs rows
+ for //, //netname, //netname/foo Make sure current trunk has passing tests for
+ those cases, all decompositions. See test_decompositions() in
path_unit_test.cpp.</li>
<li style="font-size: 10pt">Add docs for scoped_path_locale.</li>
<li style="font-size: 10pt">Regenerate path decomposition table.</li>
@@ -83,14 +82,16 @@
<li>directory_entry needs relational operators?</li>
</ul>
+<h3>Miscellaneous</h3>
+<ul>
+ <li style="font-size: 10pt">directory_entry needs relationals.</li>
+ <li style="font-size: 10pt"><i>Regular</i> classes need hash functions.</li>
+</ul>
+
<hr>
<p>© Copyright Beman Dawes, 2010</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 -->04 February 2010<!--webbot bot="Timestamp" endspan i-checksum="40545" --></p>
-
-<p> </p>
</body>
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-02-18 08:52:37 EST (Thu, 18 Feb 2010)
@@ -11,23 +11,29 @@
<body>
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="710">
+<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
<tr>
<td width="277">
<a href="../../../index.htm">
-<img src="../../../boost.png" alt="boost.png (6897 bytes)" align="middle" width="277" height="86" border="0"></a></td>
- <td width="410" align="middle">
- <font size="7">Filesystem Library</font>
+<img src="../../../boost.png" alt="boost.png (6897 bytes)" align="middle" width="300" height="86" border="0"></a></td>
+ <td align="middle">
+ <font size="7">Filesystem FAQ</font>
</td>
</tr>
</table>
<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="100%">
<tr>
- <td>Boost Home
- Library Home
- Tutorial <a href="reference.html">
- Reference</a> FAQ</td>
+ <td>Boost Home
+ Library Home
+ Reference
+ Tutorial
+ FAQ
+ Portability
+ V3 Intro
+ V3 Design
+ Deprecated
+ </td>
</tr>
</table>
@@ -134,7 +140,7 @@
free functions.</p>
<hr>
<p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->16 February, 2010<!--webbot bot="Timestamp" endspan i-checksum="40534" --></p>
+<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->17 February, 2010<!--webbot bot="Timestamp" endspan i-checksum="40536" --></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-02-18 08:52:37 EST (Thu, 18 Feb 2010)
@@ -11,12 +11,12 @@
<body>
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="710">
+<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
<tr>
<td width="277">
<a href="../../../index.htm">
-<img src="../../../boost.png" alt="boost.png (6897 bytes)" align="middle" width="277" height="86" border="0"></a></td>
- <td width="410" align="middle">
+<img src="../../../boost.png" alt="boost.png (6897 bytes)" align="middle" width="300" height="86" border="0"></a></td>
+ <td align="middle">
<font size="7">Filesystem Library</font>
</td>
</tr>
@@ -24,12 +24,16 @@
<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="100%">
<tr>
- <td>Boost Home
- Library Home
- Tutorial
- Reference
- FAQ
- V3 Introduction</td>
+ <td>Boost Home
+ Library Home
+ Reference
+ Tutorial
+ FAQ
+ Portability
+ V3 Intro
+ V3 Design
+ Deprecated
+ </td>
</tr>
</table>
@@ -41,189 +45,117 @@
<tr>
<td width="100%" bgcolor="#E8F5FF">
<a href="#Introduction">Introduction</a><br>
+ Documentation<br>
<a href="#Using">Using the library</a><br>
- Two-minute tutorial<br>
<a href="#Cautions">Cautions</a><br>
+ Headers<br>
<a href="#Examples">Example programs</a><br>
<a href="#Implementation">Implementation</a><br>
<a href="#Macros">Macros</a><br>
- Deprecated names and features<br>
- Using only narrow character paths<br>
<a href="#Building">Building the object-library</a><br>
- Notes for Cygwin users<br>
- Acknowledgements<br>
- Change history</td>
- </tr>
- <tr>
- <td width="100%" bgcolor="#D7EEFF" align="center">
- <i><b>Other Documents</b></i></td>
+ Notes for Cygwin users<br>
+ <a href="#Change-history">Version history<br>
+ with acknowledgements</a></td>
</tr>
- <tr>
- <td width="100%" bgcolor="#E8F5FF">
- Reference<br>
- Library Design<br>
- FAQ<br>
- Portability Guide<br>
- Do-list
- </td>
- </tr>
-</table>
+ </table>
<h2><a name="Introduction">Introduction</a></h2>
-<p>The Boost.Filesystem library provides portable facilities to query and
-manipulate paths, files, and directories.</p>
+<p>The Boost.Filesystem library provides facilities to manipulate files and directories,
+and the paths that identify them.</p>
-<p>The motivation for the library is the need to perform portable script-like operations from within C++ programs. The intent is not to
-compete with Python, Perl, or shell languages, but rather to provide portable filesystem
-operations when C++ is already the language of choice. The <a href="design.htm">
-design</a> encourages, but does not require, safe and portable usage.</p>
-
-<p>Programs using the library are <b><i>portable</i></b>, both in the sense that
-the syntax of program code is portable, and the sense that the semantics or
-behavior of code is portable. The <a href="reference.html">generic path
-grammar</a> is an important aid to portability.</p>
-
-<p>Usage is <i><b>safe</b></i> in the sense that errors cannot be ignored since most functions throw C++
-exceptions when errors are detected. This is also convenient for users because
-it alleviates the need to explicitly check error
-return codes.</p>
+<p>The features of the library include:</p>
-<p>A proposal,
-<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1975.html">
-N1975</a>, to include Boost.Filesystem in Technical Report 2 has been accepted
-by the C++ Standards Committee. The Boost.Filesystem library will stay in
-alignment with the TR2 Filesystem proposal as it works its way through the TR2
-process. Note, however, that namespaces and header granularity differs between
-Boost.Filesystem and the TR2 proposal.</p>
+<ul>
+ <li><b>A modern C++ interface, highly compatible with the C++ standard
+ library.</b></li>
+</ul>
+<blockquote>
+ <blockquote>
-<p>The Boost.Filesystem library provides several headers:</p>
+<p>Many users say the interface is their primary motivation for using
+Boost.Filesystem. They like its use of familiar idioms based on standard library
+containers, iterators, and algorithms. They like having errors reported by
+throwing exceptions.</p>
+ </blockquote>
+</blockquote>
<ul>
- <li>Header <boost/filesystem.hpp> provides class <i>
- basic_path, </i>a portable mechanism for representing
- paths in C++ programs. Typedefs <i>path</i> and <i>
- wpath</i> ease the most common usages of <i>basic_path</i>. Operational
- functions provide useful query and maintenance operations on files and directories.
- Class <i>basic_directory_iterator</i> with typdefs <i>
- directory_iterator</i> and <i>wdirectory_iterator</i> provide iteration over
- the contents of directories. Convenience functions and classes combine lower-level functionality
- in useful ways.<br>
+ <li><b>Portability between operating systems.</b><br>
+ <ul>
+ <li>At the C++ syntax level, it is convenient to learn and use one interface
+ regardless of the operating system.</li>
+ <li>At the semantic level, behavior of code is reasonably portable across
+ operating systems.</li>
+ <li>Dual generic or native path format support encourages program
+ portability, yet still allows communication with users in system specific
+ formats.<br>
</li>
- <li>Header <boost/filesystem/fstream.hpp> provides the same components as the C++ Standard
- Library's <i>fstream</i> header, except
- that files are identified by <i>basic_path</i> objects rather that <i>char *</i>'s.</li>
+ </ul>
+ </li>
+ <li><b>Error handling and reporting via C++ exceptions (the default) or error
+ codes.</b><br>
+ <ul>
+ <li>C++ exceptions are the preferred error reporting mechanism for most
+ applications. The exception thrown includes the detailed error code
+ information important for diagnosing the exact cause of file system errors.</li>
+ <li>Error reporting via error code allows user code that provides detailed
+ error recovery to avoid becoming so littered with try-catch blocks as to be
+ unmaintainable. <br>
+ </li>
+ </ul>
+ </li>
+ <li><b>Suitable for a broad spectrum of applications, ranging from simple
+ script-like operations to extremely complex production code.</b><br>
+ <ul>
+ <li>At the simple script-like end of the spectrum, the intent is not to
+ compete with Python, Perl, or shell languages, but rather to provide
+ filesystem operations when C++ is already the language of choice.</li>
+ <li>Finer grained control over operations and error handling is available to
+ support more complex applications or other cases where throwing exceptions
+ isn't desired.</li>
+ </ul>
+ </li>
</ul>
+
+<p>A proposal,
+<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1975.html">
+N1975</a>, to include Boost.Filesystem in Technical Report 2 has been accepted
+by the C++ Standards Committee. That proposal was based on version 2 of
+Boost.Filesystem; presumably the final TR2 form will be based on version 3.</p>
+
+<h2><a name="Documentation">Documentation</a></h2>
+
+<p><b>Tutorial</b> - A gentle introduction to
+the library, with example programs provided for you to experiment with.</p>
+
+<p><b>Reference</b> - Formal documentation in the
+style of the C++ standard for
+every component of the library.</p>
+
+<p><b>FAQ</b> - Frequently asked questions.</p>
+
+<p><b>Portability Guide</b> - Help for those
+concerned with writing code to run on multiple operating systems.</p>
+
+<p><b>Deprecated Features</b> - Identifies
+deprecated features and their replacements.</p>
+
+<p><b>Version 3 Introduction</b> - Aimed at users of prior
+Boost.Filesystem versions.</p>
+
+<p><b>Version 3 Design</b> - Historical document
+from the start of the Version 3 design process.</p>
+
+<p><b>Original Design</b> - Historical document from
+the start of the Version 1 design process.</p>
+
+<p><b>Do List</b> - Boost.Filesystem development work
+in the pipeline.</p>
+
<h2><a name="Using">Using</a> the library</h2>
-<p>Boost.Filesystem is implemented as a separately compiled library, so before
-using it you must install it in a location that can be found by your linker. See
-Building the object-library. </p>
-<p>The library's example directory contains very simple
-scripts for building the example programs on various
-platforms. You can use these scripts to see what's needed to compile and link
-your own programs.</p>
-<h2>Two-minute <a name="tutorial">tutorial</a></h2>
-<p>(A
-<a href="http://beans.seartipy.com/2006/05/10/boost-filesystem-library-writing-portable-c-programs-to-acess-the-filesystem/">
-more elaborate tutorial</a> is also available from Tabrez Iqbal.)</p>
-<p>First some preliminaries:</p>
-<blockquote>
- <pre>#include "boost/filesystem.hpp" // includes all needed Boost.Filesystem declarations
-#include <iostream> // for std::cout
-using boost::filesystem; // for ease of tutorial presentation;
- // a namespace alias is preferred practice in real code</pre>
-</blockquote>
-<p>A class path object can be created:</p>
-<blockquote>
- <pre>path my_path( "some_dir/file.txt" );</pre>
-</blockquote>
-<p>The string passed to the <i>path</i> constructor may be in a
-portable generic path format or an
-implementation-defined native operating system format. Access functions
-make <i>my_path</i> contents available to the underlying operating system API in an operating system dependent format,
-such as <code>"some_dir:file.txt"</code>, <code>"[some_dir]file.txt"</code>,
-<code>"some_dir/file.txt"</code>, or whatever is appropriate for the
-operating system. If class <i>wpath</i> is used instead of class <i>path</i>,
-translation between wide and narrow character paths is performed automatically
-if necessary for the operating system.</p>
-<p>Class <i>path</i> has conversion constructors from <i>const char*</i> and <i>
-const std:: string&</i>, so that even though the Filesystem Library
-functions used in the following code snippet have <i>const path&</i> formal
-parameters, the user can just
-code C-style strings as actual arguments:</p>
-<blockquote>
- <pre>remove_all( "foobar" );
-create_directory( "foobar" );
-ofstream file( "foobar/cheeze" );
-file << "tastes good!\n";
-file.close();
-if ( !exists( "foobar/cheeze" ) )
- std::cout << "Something is rotten in foobar\n";</pre>
-</blockquote>
-<p>To make class <i>path</i> objects easy to use in expressions, <i>operator/</i>
-appends paths:</p>
-<blockquote>
- <pre>ifstream file1( arg_path / "foo/bar" );
-ifstream file2( arg_path / "foo" / "bar" );</pre>
-</blockquote>
-<p>The expressions <i>arg_path / "foo/bar"</i> and <i>arg_path / "foo"
-/ "bar"</i> yield identical results.</p>
-<p>Paths can include references to the current directory, using "<code>.</code>"
-notation, and the parent directory, using "<code>..</code>"
-notation.</p>
-<p>Class basic_directory_iterator
-is an important component of the library. It provides an input iterator over the
-contents of a directory, with the value type being class <i>basic_path</i>.
-Typedefs <i>directory_iterator</i> and <i>wdirectory_iterator</i> are provided
-to cover the most common use cases.</p>
-<p>The following function, given a directory path and a file name, recursively
-searches the directory and its sub-directories for the file name, returning a
-bool, and if successful, the path to the file that was found. The code
-below is extracted from a real program, slightly modified for clarity:</p>
-<blockquote>
- <pre>bool find_file( const path & dir_path, // in this directory,
- const std::string & file_name, // search for this name,
- path & path_found ) // placing path here if found
-{
- if ( !exists( dir_path ) ) return false;
- directory_iterator end_itr; // default construction yields past-the-end
- for ( directory_iterator itr( dir_path );
- itr != end_itr;
- ++itr )
- {
- if ( is_directory(itr->status()) )
- {
- if ( find_file( itr->path(), file_name, path_found ) ) return true;
- }
- else if ( itr->leaf() == file_name ) // see below
- {
- path_found = itr->path();
- return true;
- }
- }
- return false;
-}</pre>
-</blockquote>
-<p>The expression <i>itr->path().leaf() == file_name</i>, in the line commented <i>//
-see below</i>, calls the <i>leaf()</i> function on the <i>path</i> returned by
-calling the <i>path()</i> function of the <i>directory_entry </i>object pointed
-to by the iterator. <i>leaf()</i> returns a string which is a copy of the
-last (closest to the leaf, farthest from the root) file or directory name in the
-<i>path</i> object.</p>
-<p>In addition to <i>leaf()</i>, several other function names use the
-tree/root/branch/leaf metaphor.</p>
-<p>Notice that <i>find_file()</i> does not do explicit error checking, such as
-verifying that the <i>dir_path</i> argument really represents a directory.
-Boost.Filesystem functions throw
-exceptions if they do not complete successfully, so there is enough implicit
-error checking that this application doesn't need to supply additional error
-checking code unless desired. Several Boost.Filesystem functions have non-throwing
-versions, to ease use cases where exceptions would not be appropriate.</p>
-<blockquote>
-<p><i>Note: </i>Recursive
-directory iteration was added as a convenience function after the above tutorial code
-was written, so nowadays you
-don't have to actually code the recursion yourself.</p>
-</blockquote>
+<p>Boost.Filesystem is implemented as a separately compiled library, so you must install
+binaries in a location that can be found by your linker. If you followed the
+Boost Getting Started instructions, that's already been done for you.</p>
<h2><a name="Cautions">Cautions</a></h2>
<p>After reading the tutorial you can dive right into simple,
script-like programs using the Filesystem Library! Before doing any serious
@@ -275,23 +207,22 @@
BOOST_NO_EXCEPTIONS at the time the filesystem source files are compiled.</p>
<p>Non-throwing versions are provided of several functions that are often used
in contexts where error codes may be the preferred way to report an error.</p>
+
+<h2><a name="Headers">Headers</a></h2>
+
+<p>The Boost.Filesystem library provides several headers:</p>
+
+<ul>
+ <li>Header <boost/filesystem.hpp>
+ provides access to all features of the library, except file streams.<br>
+ </li>
+ <li>Header <boost/filesystem/fstream.hpp>
+ inherits the same components as the C++ Standard
+ Library's <i>fstream</i> header, but files are identified by <code>const path&</code>
+ arguments rather that <code>const char*</code> arguments.</li>
+</ul>
<h2><a name="Examples">Example programs</a></h2>
-<h3>simple_ls.cpp</h3>
-<p>The example program simple_ls.cpp is
-given a path as a command line argument. Since the command line argument may be
-a relative path, the complete path is determined so that messages displayed
-can be more precise.</p>
-<p>The program checks to see if the path exists; if not a message is printed.</p>
-<p>If the path identifies a directory, the directory is iterated through,
-printing the name of the entries found, and an indication if they are
-directories. A count of directories and files is updated, and then printed after
-the iteration is complete.</p>
-<p>If the path is for a file, a message indicating that is printed.</p>
-<p>Try compiling and executing simple_ls.cpp
-to see how it works on your system. Try various path arguments to see what
-happens.</p>
-<h3>file_size.cpp</h3>
-<p>This example program prints the file's size if it is a regular file.</p>
+<p>See the tutorial for example programs.</p>
<h3>Other examples</h3>
<p>The programs used to generate the Boost regression test status tables use the
Filesystem Library extensively. See:</p>
@@ -299,17 +230,9 @@
<li>process_jam_log.cpp</li>
<li>compiler_status.cpp</li>
</ul>
-<p>Test programs are sometimes useful in understanding a library, as they
-illustrate what the developer expected to work and not work. See:</p>
-<ul>
- <li>wide_test.cpp</li>
- <li>path_test.cpp</li>
- <li>operations_test.cpp</li>
- <li>fstream_test.cpp</li>
-</ul>
<h2><a name="Implementation">Implementation</a></h2>
<p>The current implementation supports operating systems which provide
-either the POSIX or Windows API.</p>
+the POSIX or Windows API's.</p>
<p>The library is in regular use on Apple OS X, HP-UX, IBM AIX, Linux,
Microsoft Windows, SGI IRIX, and Sun Solaris operating systems using a variety
of compilers.</p>
@@ -323,6 +246,11 @@
<td><b><i>Effect if defined</i></b></td>
</tr>
<tr>
+ <td valign="top"><code>BOOST_FILESYSTEM_NO_DEPRECATED</code></td>
+ <td valign="top">Not defined.</td>
+ <td valign="top">Deprecated features are excluded from headers.</td>
+ </tr>
+ <tr>
<td valign="top"><code>BOOST_WINDOWS_API</code></td>
<td valign="top">Defined if Windows is detected by Boost.System's automatic configuration
code, otherwise not defined.</td>
@@ -350,176 +278,7 @@
<td valign="top">Boost.Filesystem library does not use the Boost auto-link
facility.</td>
</tr>
- <tr>
- <td valign="top"><code>BOOST_FILESYSTEM_NO_DEPRECATED</code></td>
- <td valign="top">Not defined.</td>
- <td valign="top">Deprecated features are excluded.</td>
- </tr>
-</table>
-<h2><a name="Deprecated-names">Deprecated names</a> and features</h2>
-<p style="font-size: 10pt">As the library evolves over time, names sometimes
-change or features are removed. To ease transition, Boost.Filesystem deprecates
-the old names and features, but continues to provide them unless macro <code>
-BOOST_FILESYSTEM_NO_DEPRECATED</code> is defined.</p>
-<table border="1" cellpadding="5" cellspacing="1" style="border-collapse: collapse" bordercolor="#111111">
- <tr>
- <td style="font-size: 10pt">
- <b><i>Component</i></b></td>
- <td style="font-size: 10pt">
- <p style="font-size: 10pt"><b><i>Old name, now deprecated</i></b></td>
- <td style="font-size: 10pt">
- <p style="font-size: 10pt"><b><i>New name</i></b></td>
- </tr>
- <tr>
- <td style="font-size: 10pt" valign="top"><code>basic_path</code></td>
- <td style="font-size: 10pt"><code>leaf()</code></td>
- <td style="font-size: 10pt"><code>filename()</code></td>
- </tr>
- <tr>
- <td style="font-size: 10pt" valign="top"><code>basic_path</code></td>
- <td style="font-size: 10pt"><code>branch_path()</code></td>
- <td style="font-size: 10pt"><code>parent_path()</code></td>
- </tr>
- <tr>
- <td style="font-size: 10pt" valign="top"><code>basic_path</code></td>
- <td style="font-size: 10pt"><code>has_leaf()</code></td>
- <td style="font-size: 10pt"><code>has_filename()</code></td>
- </tr>
- <tr>
- <td style="font-size: 10pt" valign="top"><code>basic_path</code></td>
- <td style="font-size: 10pt"><code>has_branch_path()</code></td>
- <td style="font-size: 10pt"><code>has_parent_path()</code></td>
- </tr>
- <tr>
- <td style="font-size: 10pt" valign="top">
- <code>basic_path</code></td>
- <td style="font-size: 10pt">
- <p style="font-size: 10pt"><code>remove_leaf()</code></td>
- <td style="font-size: 10pt">
- <p style="font-size: 10pt"><code>remove_filename()</code></td>
- </tr>
- <tr>
- <td style="font-size: 10pt" valign="top">
- <code>basic_path</code></td>
- <td style="font-size: 10pt">
- <code>basic_path( const string_type & str,<br>
- name_check )</code></td>
- <td style="font-size: 10pt">
- <i><code>feature removed</code></i></td>
- </tr>
- <tr>
- <td style="font-size: 10pt" valign="top">
- <code>basic_path</code></td>
- <td style="font-size: 10pt">
- <code>basic_path( const string_type::value_type * s,<br>
- name_check )</code></td>
- <td style="font-size: 10pt">
- <i><code>feature removed</code></i></td>
- </tr>
- <tr>
- <td style="font-size: 10pt" valign="top">
- <code>basic_path</code></td>
- <td style="font-size: 10pt">
- <code>native_file_string()</code></td>
- <td style="font-size: 10pt">
- <code>file_string()</code></td>
- </tr>
- <tr>
- <td style="font-size: 10pt" valign="top">
- <code>basic_path</code></td>
- <td style="font-size: 10pt">
- <code>native_directory_string()</code></td>
- <td style="font-size: 10pt">
- <code>directory_string()</code></td>
- </tr>
- <tr>
- <td style="font-size: 10pt" valign="top">
- <code>basic_path</code></td>
- <td style="font-size: 10pt">
- <code>default_name_check_writable()</code></td>
- <td style="font-size: 10pt">
- <i><code>feature removed</code></i></td>
- </tr>
- <tr>
- <td style="font-size: 10pt" valign="top">
- <code>basic_path</code></td>
- <td style="font-size: 10pt">
- <code>default_name_check( name_check )</code></td>
- <td style="font-size: 10pt">
- <i><code>feature removed</code></i></td>
- </tr>
- <tr>
- <td style="font-size: 10pt" valign="top">
- <code>basic_path</code></td>
- <td style="font-size: 10pt">
- <code>default_name_check()</code></td>
- <td style="font-size: 10pt">
- <i><code>feature removed</code></i></td>
- </tr>
- <tr>
- <td style="font-size: 10pt" valign="top">
- <code>basic_path</code></td>
- <td style="font-size: 10pt">
- <code>canonize()</code></td>
- <td style="font-size: 10pt">
- <i><code>feature removed</code></i></td>
- </tr>
- <tr>
- <td style="font-size: 10pt" valign="top">
- <code>basic_path</code></td>
- <td style="font-size: 10pt">
- <code>normalize()</code></td>
- <td style="font-size: 10pt">
- <i><code>feature removed</code></i></td>
- </tr>
- <tr>
- <td style="font-size: 10pt" valign="top">
- <code>operations.hpp</code></td>
- <td style="font-size: 10pt">
- <code>is_regular( file_status f )</code></td>
- <td style="font-size: 10pt">
- <code>is_regular_file( file_status f )</code></td>
- </tr>
- <tr>
- <td style="font-size: 10pt" valign="top">
- <code>operations.hpp</code></td>
- <td style="font-size: 10pt">
- <code>symbolic_link_exists( const path & ph )</code></td>
- <td style="font-size: 10pt">
- <i><code>feature removed</code></i></td>
- </tr>
- <tr>
- <td style="font-size: 10pt" valign="top">
- <code>basic_directory_status</code></td>
- <td style="font-size: 10pt">
- <code>filename()</code></td>
- <td style="font-size: 10pt">
- <i><code>feature removed, use path().filename() instead</code></i></td>
- </tr>
- <tr>
- <td style="font-size: 10pt" valign="top">
- <code>basic_directory_status</code></td>
- <td style="font-size: 10pt">
- <code>leaf()</code></td>
- <td style="font-size: 10pt">
- <i><code>feature removed, use path().filename() instead</code></i></td>
- </tr>
- <tr>
- <td style="font-size: 10pt" valign="top">
- <code>basic_directory_status</code></td>
- <td style="font-size: 10pt">
- <code>string()</code></td>
- <td style="font-size: 10pt">
- <i><code>feature removed, use path().string() instead</code></i></td>
- </tr>
-</table>
-<h2><a name="narrow-only">Restricting library to narrow character paths</a></h2>
-<p>Compilers or standard libraries which do not support wide characters (wchar_t)
-or wide character strings (std::wstring) are detected automatically, and cause
-the library to compile code that is restricted to narrow character paths
-(boost::filesystem::path). Users can force this restriction by defining the
-macro BOOST_FILESYSTEM_NARROW_ONLY. That may be useful for dealing with legacy
-compilers or operating systems.</p>
+ </table>
<h2><a name="Building">Building</a> the object-library</h2>
<p>The object-library will be built automatically if you are using the Boost
build system. See
@@ -533,7 +292,7 @@
supplied for other operating systems. Note that many operating systems not
normally thought of as POSIX systems, such as mainframe legacy
operating systems or embedded operating systems, support POSIX compatible file
-systems which will work with the Filesystem Library.</p>
+systems and so will work with the Filesystem Library.</p>
<p>The object-library can be built for static or dynamic (shared/dll) linking.
This is controlled by the BOOST_ALL_DYN_LINK or BOOST_FILESYSTEM_DYN_LINK
macros. See the <a href="http://www.boost.org/development/separate_compilation.html">Separate
@@ -555,7 +314,32 @@
<p>Those wishing to use the Cygwin POSIX emulation layer should define the
BOOST_POSIX_API macro when compiling bother user programs and the
Boost.Filesystem's object-library.</p>
-<h2><a name="Acknowledgements">Acknowledgements</a></h2>
+
+<h2><a name="Change-history">Version history</a></h2>
+
+<h3>Version 3</h3>
+
+<p>Boost 1.??.0 - ???, 2010 - Internationalization via single class <code>path</code>.</p>
+
+<p>Peter Dimov suggested use of a single path class rather than a basic_path
+class template. That idea was the basis for the Version 3 redesign.</p>
+
+<h3>Version 2</h3>
+
+<p>Boost 1.34.0 - May, 2007 - Internationalization via <code>basic_path</code>
+template.</p>
+
+<p>So many people have contributed comments and bug reports that it isn't any
+longer possible to acknowledge them individually. That said, Peter Dimov and Rob
+Stewart need to be specially thanked for their many constructive criticisms and
+suggestions. Terence
+Wilson and Chris Frey contributed timing programs which helped illuminate
+performance issues.</p>
+
+<h3>Version 1</h3>
+
+<p>Boost 1.30.0 - March, 2003 - Initial official Boost release.</p>
+
<p>The Filesystem Library was designed and implemented by Beman Dawes. The
original <i>directory_iterator</i> and <i>filesystem_error</i> classes were
based on prior work from Dietmar Kuehl, as modified by Jan Langer. Thomas Witt
@@ -660,149 +444,11 @@
of portability" problem, particularly in postings by PJ Plauger and Pete Becker.</p>
<p>Walter Landry provided much help illuminating symbolic link use cases for
-version 1.31.0.</p>
-
-<h3>Version 1.34 (i18n) acknowledgements</h3>
-
-<p>So many people have contributed comments and bug reports that it isn't any
-longer possible to acknowledge them individually. That said, Peter Dimov and Rob
-Stewart need to be specially thanked for their many constructive criticisms and
-suggestions. Terence
-Wilson and Chris Frey contributed timing programs which helped illuminate
-performance issues.</p>
-
-<h2><a name="Change-history">Change history</a></h2>
-
-<h3>Version 1.37.0</h3>
-
-<ul>
- <li>Doc fixes: Update release history, add tables of macros and deprecated
- names.</li>
- <li>Bug fix: convenience.hpp didn't fully apply BOOST_FILESYSTEM_NO_DEPRECATED
- to name changes.</li>
- <li>Bug fix: Ticket #1972 'remove' fixes.</li>
- <li>Bug fix: Restore deprecated basic_directory_entry names inadvertently
- removed.</li>
- <li>Bug fix: Provide deprecated functions has_branch_path and has_leaf,
- inadvertently omitted from 1.36.0</li>
- <li>Add workarounds for Codegear/Borland C++ Builder 2009.</li>
-</ul>
-
-<h3>Version 1.36.0 - August 14th, 2008</h3>
-
-<ul>
- <li>Added stem(), extension(), and replace_extension() member functions to
- basic_path, based on the basename(), extension(), and change_extension()
- functions from convenience.hpp.</li>
- <li>Changed path.hpp function names:<ul>
- <li>leaf() -> filename().</li>
- <li>has_leaf() -> has_filename().</li>
- <li>branch_path() -> parent_path().</li>
- <li>has_branch_path() -> has_parent_path().</li>
- <li>remove_leaf() -> remove_filename().</li>
- </ul>
- </li>
- <li>Changed operations.hpp function names:<ul>
- <li>is_regular() -> is_regular_file().</li>
- </ul>
- </li>
- <li>Bug fix: Add path.cpp #include <cwchar></li>
- <li>Cleared path.hpp gcc shadow warnings.</li>
-</ul>
-
-<h3>Version 1.35.0 - March 29th, 2008</h3>
-
-<ul>
- <li>Diagnostics moved to the separate <a href="../../system/doc/index.html">
- Boost.System</a> library.</li>
- <li>current_path() function added to set the current directory path.</li>
- <li>Test coverage extended.</li>
- <li>A few minor implementation fixes.</li>
-</ul>
-
-<h3>Version 1.34.1 - July 24th, 2007</h3>
-
-<h3>Version 1.34.0 - May 12th, 2007</h3>
-
-<ul>
- <li>Internationalization, provided by
- class templates <i>basic_path</i>, <i>basic_filesystem_error</i>, and <i>
- basic_directory_iterator</i>.</li>
- <li>Simplification of the path interface,
- including elimination of distinction between native and generic formats,
- and separation of name checking functionality from general path functionality.</li>
- <li>Rationalization of predicate
- function design, including the addition of several new functions.</li>
- <li>Preservation of existing user code whenever
- possible. Deprecated features (<i>symbolic_link_exists()</i>, etc.) remain
- available for legacy code.</li>
- <li>Clearer specification, by reference to [POSIX-01],
- the ISO/IEEE Single Unix Standard, with provisions for Windows and other
- operating systems.</li>
- <li>New functions status,
- symlink_status,
- is_file,
- is_symlink,
- create_hard_link,
- create_symlink, path member and non-member swap, path inserter, path
- extractor, additional path relational and "/" operator overloads, additional
- path member template functions taking iterator arguments.</li>
- <li>More efficient operations when iterating over directories.</li>
- <li>Separation within the implementation of the distinction between the native
- operating system path syntax and API. This is important for CYGWIN users
- because it allows them to build for either the Windows or POSIX API's.</li>
- <li>Numerous small implementation fixes.</li>
-</ul>
-
-<h3>Version 1.33.0 - August 11th, 2005</h3>
-
-<ul>
- <li>Some small implementation fixes.</li>
-</ul>
-
-<h3>Version 1.32.0 - November 19th, 2004</h3>
-
-<ul>
- <li>file_size() function added.</li>
- <li>Class path relational operators added.</li>
- <li>equivalent() function added.</li>
- <li>create_directory() no longer
- throws if the directory already exists. A bool is returned, indicating that
- the directory did not preexist. Similar changes made to
- create_directories().</li>
- <li>Docs added for users wishing Cygwin/POSIX behavior
- on Windows.</li>
- <li>For POSIX, Large File Support (LSF) is enabled if available, such as on
- Linux.</li>
- <li>current_path() and
- initial_path() on POSIX now handle
- very long paths correctly.</li>
-</ul>
-
-<h3>Version 1.31.0 - January 26th, 2004</h3>
-
-<ul>
- <li>The object library can now be built for either
- static or dynamic (shared/dll) linking. </li>
- <li>Several added functions, including improved checking for directory and
- file name portability. See <a href="portability_guide.htm#name_checkÃÂ_functions">
- Name check functions</a>.</li>
- <li>Separation of canonical form and normalized form and a new path member
- function normalize(). This changes behavior,
- in that canonical form is now different, but eliminates a subtle
- bug when symbolic links to
- directories are present.</li>
-</ul>
-
-<h3> <br>
-Version 1.30.0 - March 19th, 2003</h3>
-<ul>
- <li>Initial official Boost version.</li>
-</ul>
+version 1.31.0. </p>
<hr>
<p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->16 February, 2010<!--webbot bot="Timestamp" endspan i-checksum="40534" --></p>
+<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->18 February, 2010<!--webbot bot="Timestamp" endspan i-checksum="40538" --></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/portability_guide.htm
==============================================================================
--- sandbox/filesystem-v3/libs/filesystem/doc/portability_guide.htm (original)
+++ sandbox/filesystem-v3/libs/filesystem/doc/portability_guide.htm 2010-02-18 08:52:37 EST (Thu, 18 Feb 2010)
@@ -12,10 +12,25 @@
<body bgcolor="#FFFFFF">
<h1>
-<img border="0" src="../../../boost.png" align="center" width="277" height="86">Path
+<img border="0" src="../../../boost.png" align="center" width="300" height="86">Path
Name Portability
Guide</h1>
+<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="100%">
+ <tr>
+ <td>Boost Home
+ Library Home
+ Reference
+ Tutorial
+ FAQ
+ Portability
+ V3 Intro
+ V3 Design
+ Deprecated
+ </td>
+ </tr>
+</table>
+
<p>
<a href="#Introduction">Introduction</a><br>
<a href="#name_check_functions">name_check functions</a><br>
@@ -213,7 +228,7 @@
<hr>
<p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->16 February, 2010<!--webbot bot="Timestamp" endspan i-checksum="40534" --></p>
+<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->17 February, 2010<!--webbot bot="Timestamp" endspan i-checksum="40536" --></p>
<p>© Copyright Beman Dawes, 2002, 2003</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-02-18 08:52:37 EST (Thu, 18 Feb 2010)
@@ -12,12 +12,12 @@
<body>
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="933">
+<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
<tr>
<td width="277">
<a href="../../../index.htm">
-<img src="../../../boost.png" alt="boost.png (6897 bytes)" align="middle" width="277" height="86" border="0"></a></td>
- <td width="633" align="middle">
+<img src="../../../boost.png" alt="boost.png (6897 bytes)" align="middle" width="300" height="86" border="0"></a></td>
+ <td align="middle">
<font size="7">Filesystem Library<br>
</font>
<font size="6">Version 3</font></td>
@@ -26,12 +26,16 @@
<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="100%">
<tr>
- <td>Boost Home
- Library Home
- Tutorial
- Reference
- FAQ
- V3 Introduction
+ <td>Boost Home
+ Library Home
+ Reference
+ Tutorial
+ FAQ
+ Portability
+ V3 Intro
+ V3 Design
+ Deprecated
+ </td>
</td>
</tr>
</table>
@@ -329,10 +333,7 @@
// operational functions
-</span> path complete(const path& p, const path& base, system::error_code& ec);
- path complete(const path& p, system::error_code& ec);
-
- void copy_file(const path& from, const path& to);
+</span> void copy_file(const path& from, const path& to);
void copy_file(const path& from, const path& to, system::error_code& ec);
void copy_file(const path& from, const path& to, BOOST_SCOPED_ENUM(copy_option) option);
void copy_file(const path& from, const path& to, BOOST_SCOPED_ENUM(copy_option) option,
@@ -767,7 +768,7 @@
<h3> <a name="path-modifiers"> <code>
<font size="4">path</font></code> modifiers</a></h3>
-<pre>path& absolute(const path& base);</pre>
+<pre>path& <a name="absolute">absolute</a>(const path& base);</pre>
<blockquote>
<p><i>Preconditions:</i> <code>
(has_root_name() || base.has_root_name() || path("/").is_absolute()) && (has_root_directory()
@@ -3095,7 +3096,7 @@
<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 -->16 February 2010<!--webbot bot="Timestamp" endspan i-checksum="40550" --></p>
+<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B %Y" startspan -->18 February 2010<!--webbot bot="Timestamp" endspan i-checksum="40554" --></p>
</body>
Modified: sandbox/filesystem-v3/libs/filesystem/doc/tutorial.html
==============================================================================
--- sandbox/filesystem-v3/libs/filesystem/doc/tutorial.html (original)
+++ sandbox/filesystem-v3/libs/filesystem/doc/tutorial.html 2010-02-18 08:52:37 EST (Thu, 18 Feb 2010)
@@ -11,12 +11,12 @@
<body>
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="742">
+<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
<tr>
<td width="277">
<a href="../../../index.htm">
-<img src="../../../boost.png" alt="boost.png (6897 bytes)" align="middle" width="277" height="86" border="0"></a></td>
- <td width="442" align="middle">
+<img src="../../../boost.png" alt="boost.png (6897 bytes)" align="middle" width="300" height="86" border="0"></a></td>
+ <td align="middle">
<font size="7">Filesystem Tutorial</font>
</td>
</tr>
@@ -24,11 +24,16 @@
<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="100%">
<tr>
- <td>Boost Home
- Library Home
- <a href="reference.html">
- Reference</a>
- FAQ</td>
+ <td>Boost Home
+ Library Home
+ Reference
+ Tutorial
+ FAQ
+ Portability
+ V3 Intro
+ V3 Design
+ Deprecated
+ </td>
</tr>
</table>
<p>
@@ -154,7 +159,7 @@
</blockquote>
<p>For now, all you need to know is that class path has constructors that take
<code>const char *</code> and many other useful types. (If you can't wait to
-find out more, skip ahead to the class path section of
+find out more, skip ahead to the class path section of
the tutorial.)</p>
<p>Please take a minute to try out <code>tut1</code> on your system, using a
file that is known to exist, such as <code>tut1.cpp</code>. Here is what the
@@ -528,7 +533,7 @@
<a href="reference.html#path-filename">filename()</a></code> is one of
several path decomposition functions. It extracts the filename portion (<code>"index.html"</code>)
from a path (<code>"/home/beman/boost/trunk/index.html"</code>). These decomposition functions are
- more fully explored in the <a href="#path-iteration-etc">Path iterators, observers,
+ more fully explored in the <a href="#Class path-iterators-etc">Path iterators, observers,
composition, decomposition and query</a> portion of this tutorial.</p>
<p>The above was written as two lines of code for clarity. It could have
been written more concisely as:</p>
@@ -596,12 +601,10 @@
</tr>
</table>
- <p>That completes the main section of this tutorial. If you haven't already
- worked through the Class path and
- <a href="#path-iteration-etc">Path iterators, observers, composition,
- decomposition and query</a> sections of this tutorial, dig into them now.
+ <p>That completes the main portion of this tutorial. If you haven't already
+ worked through the Class path sections of this tutorial, dig into them now.
The Error reporting section may also be of
- interest, although it can be skipped unless you are deeply concerned with
+ interest, although it can be skipped unless you are deeply concerned about
error handling issues.</p>
<hr>
@@ -799,6 +802,9 @@
format is great, however, for writing portable programs that work regardless
of operating system.</p>
+ <p>The next section covers class <code>path</code> observers, composition,
+ decomposition, query, and iteration over the elements of a path.</p>
+
<hr>
<h2><a name="Class path-iterators-etc">Class path: Iterators, observers, composition, decomposition, and query</a>
@@ -1080,7 +1086,7 @@
<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 -->16 February 2010<!--webbot bot="Timestamp" endspan i-checksum="40550" --></p>
+<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B %Y" startspan -->18 February 2010<!--webbot bot="Timestamp" endspan i-checksum="40554" --></p>
</body>
Modified: sandbox/filesystem-v3/libs/filesystem/doc/v3.html
==============================================================================
--- sandbox/filesystem-v3/libs/filesystem/doc/v3.html (original)
+++ sandbox/filesystem-v3/libs/filesystem/doc/v3.html 2010-02-18 08:52:37 EST (Thu, 18 Feb 2010)
@@ -4,29 +4,35 @@
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
-<title>Boost.Filesystem Version 3</title>
+<title>Filesystem V3 Intro</title>
<link rel="stylesheet" type="text/css" href="minimal.css">
<body>
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="933">
+<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
<tr>
<td width="277">
<a href="../../../index.htm">
-<img src="../../../boost.png" alt="boost.png (6897 bytes)" align="middle" width="277" height="86" border="0"></a></td>
- <td width="633" align="middle">
+<img src="../../../boost.png" alt="boost.png (6897 bytes)" align="middle" width="300" height="86" border="0"></a></td>
+ <td align="middle">
<font size="7">Filesystem
Version 3<br>
- </font></td>
+ Introduction</font></td>
</tr>
</table>
<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="100%">
<tr>
- <td>Boost Home
- Library Home
- Tutorial <a href="reference.html">
- Reference</a> FAQ</td>
+ <td>Boost Home
+ Library Home
+ Reference
+ Tutorial
+ FAQ
+ Portability
+ V3 Intro
+ V3 Design
+ Deprecated
+ </td>
</tr>
</table>
@@ -72,6 +78,12 @@
<li>Support for error reporting via <code>error_code</code> is now uniform
throughout the operations functions.<br>
</li>
+ <li>Documentation has been reworked, including re-writes of major portions.<br>
+ </li>
+ <li>A new Tutorial provides a hopefully much
+ gentler and more complete introduction for new users. Current users might want
+ to review the three sections related to class path.<br>
+ </li>
</ul>
<h2>Breaking changes</h2>
@@ -111,7 +123,7 @@
<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 -->16 February 2010<!--webbot bot="Timestamp" endspan i-checksum="40550" --></p>
+<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B %Y" startspan -->17 February 2010<!--webbot bot="Timestamp" endspan i-checksum="40552" --></p>
</body>
Modified: sandbox/filesystem-v3/libs/filesystem/doc/v3_design.html
==============================================================================
--- sandbox/filesystem-v3/libs/filesystem/doc/v3_design.html (original)
+++ sandbox/filesystem-v3/libs/filesystem/doc/v3_design.html 2010-02-18 08:52:37 EST (Thu, 18 Feb 2010)
@@ -5,28 +5,35 @@
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
-<title>Filesystem V3 Introduction</title>
+<title>Filesystem V3 Design</title>
<link rel="stylesheet" type="text/css" href="minimal.css">
</head>
<body>
-<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
+<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
<tr>
- <td width="277">
+ <td>
<a href="../../../index.htm">
-<img src="boost.png" alt="boost.png (6897 bytes)" align="middle" width="277" height="86" border="0"></a></td>
- <td width="410" align="middle">
- <font size="7">Boost.Filesystem Version 3 </font>
- </td>
+<img src="boost.png" alt="boost.png (6897 bytes)" align="middle" border="0" width="300" height="86"></a></td>
+ <td align="middle">
+ <font size="7">Filesystem Version 3<br>
+ Design</font></td>
</tr>
</table>
<table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#D7EEFF" width="100%">
<tr>
- <td>Boost Home
- Library Home Tutorial <a href="reference.html">
- Reference</a> FAQ</td>
+ <td>Boost Home
+ Library Home
+ Reference
+ Tutorial
+ FAQ
+ Portability
+ V3 Intro
+ V3 Design
+ Deprecated
+ </td>
</tr>
</table>
@@ -42,30 +49,24 @@
<a href="#Solution">Solution</a><br>
<a href="#Details">Details</a><br>
<a href="#Other-changes">Other changes</a><br>
- Prototype<br>
- Using the prototype<br>
<a href="#Acknowledgements">Acknowledgements</a></td>
</tr>
- <tr>
- <td width="100%" bgcolor="#D7EEFF" align="center">
- <i><b>Other Documents</b></i></td>
- </tr>
- <tr>
- <td width="100%" bgcolor="#E8F5FF">
- </td>
- </tr>
-</table>
+ </table>
+
+<p><b>Caution:</b> This page documents thinking early in the V3 development
+process, and is intended to serve historical purposes. It is not updated to
+reflect the current state of the library.</p>
<h2><a name="Introduction">Introduction</a></h2>
<p>During the review of Boost.Filesystem.V2 (Internationalization), Peter Dimov
-suggested that the basic_path class template was unwieldy, and that a single
+suggested that the<code> basic_path</code> class template was unwieldy, and that a single
path type that accommodated multiple character types and encodings would be more
flexible. Although I wasn't willing to stop development at that time to
explore how this idea might be implemented, or to break from the pattern for
Internationalization used the C++ standard library, I've often thought about
-Peter's suggestion. With the advent of C++0x char16_t and char32_t character
-types, the basic_path class template approach becomes even more unwieldy, so it
+Peter's suggestion. With the advent of C++0x <code>char16_t</code> and <code>char32_t</code> character
+types, the <code>basic_path</code> class template approach becomes even more unwieldy, so it
is time to revisit the problem in light of Peter's suggestion.</p>
<h2><b><a name="Problem">Problem</a></b></h2>
@@ -171,60 +172,6 @@
<p><b>Uniform hybrid error handling: </b>The hybrid error handling idiom has
been consistently applied to all applicable functions.</p>
-<p><b>Additional filesystem operations:</b></p>
-
-<ul>
- <li>copy_directory().</li>
- <li>copy_symlink(). On Windows, requires Vista or later.</li>
- <li>copy().</li>
- <li>create_symlink(). On Windows, requires Vista or later.</li>
- <li>create_directory_symlink(). On Windows, requires Vista or later.</li>
- <li>read_symlink(). Not supported on Windows.</li>
-</ul>
-
-<h2><a name="Prototype">Prototype</a></h2>
-
-<p>Currently incomplete. Not thoroughly tested. Should not be used for
-production work.</p>
-
-<p>The prototype can be viewed at
-<a href="http://svn.boost.org/svn/boost/sandbox/filesystem-v3/">
-http://svn.boost.org/svn/boost/sandbox/filesystem-v3/></p>
-
-<p>There is a (partial) TO DO list at the beginning of
-<a href="http://svn.boost.org/svn/boost/sandbox/filesystem-v3/boost/filesystem/path.hpp">
-http://svn.boost.org/svn/boost/sandbox/filesystem-v3/boost/filesystem/path.hpp></p>
-
-<h2><a name="Trying-the-prototype">Using the prototype</a></h2>
-
-<p>Note that testing has been concentrated on VC++ 9.0 Express, with occasional
-Linux GCC tests. Only the core path tests and operations tests are passing.
-Expect problems with other compilers or test programs.</p>
-
-<p>Windows install:</p>
-
-<blockquote>
- <pre>cd to the directory where you wish to download the prototype
-svn export http://svn.boost.org/svn/boost/trunk filesystem-v3
-rmdir /s /q filesystem-v3\boost\filesystem
-rmdir /s /q filesystem-v3\libs\filesystem
-svn --force co http://svn.boost.org/svn/boost/sandbox/filesystem-v3 filesystem-v3</pre>
-</blockquote>
-<p>POSIX install (warning - untested code):</p>
-
-<blockquote>
- <pre>cd to the directory where you wish to download the prototype
-svn export http://svn.boost.org/svn/boost/trunk filesystem-v3
-rm -fr filesystem-v3/boost/filesystem
-rm -fr filesystem-v3/libs/filesystem
-svn --force co http://svn.boost.org/svn/boost/sandbox/filesystem-v3 filesystem-v3</pre>
-</blockquote>
-<p>To see what tests are passing on your system:</p>
-
-<blockquote>
- <pre>cd filesystem-v3/libs/filesystem/test
-bjam</pre>
-</blockquote>
<h2><a name="Acknowledgements">Acknowledgements</a></h2>
<p>Peter Dimov suggested the idea of a single path class that could cope with
@@ -233,7 +180,7 @@
<hr>
<p>Revised
-<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->01 February, 2009<!--webbot bot="Timestamp" endspan i-checksum="40404" --></p>
+<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->18 February, 2010<!--webbot bot="Timestamp" endspan i-checksum="40538" --></p>
<p>© Copyright Beman Dawes, 2008</p>
<p> Use, modification, and distribution are subject to the Boost Software
Modified: sandbox/filesystem-v3/libs/filesystem/src/path.cpp
==============================================================================
--- sandbox/filesystem-v3/libs/filesystem/src/path.cpp (original)
+++ sandbox/filesystem-v3/libs/filesystem/src/path.cpp 2010-02-18 08:52:37 EST (Thu, 18 Feb 2010)
@@ -801,7 +801,7 @@
//
// Many thanks to Peter Dimov for digging out the above references!
std::locale global_loc = std::locale();
- std::locale loc(global_loc, new fs::detail::utf8_codecvt_facet);
+ std::locale loc(global_loc, new boost::filesystem::detail::utf8_codecvt_facet);
return loc;
# else
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