$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r62659 - in branches/filesystem3: boost boost/filesystem/v2 boost/filesystem/v3 libs/filesystem/build libs/filesystem/v2/src libs/filesystem/v3/src
From: bdawes_at_[hidden]
Date: 2010-06-09 10:06:00
Author: bemandawes
Date: 2010-06-09 10:05:57 EDT (Wed, 09 Jun 2010)
New Revision: 62659
URL: http://svn.boost.org/trac/boost/changeset/62659
Log:
Initial source code changes to achieve integration
Added:
   branches/filesystem3/libs/filesystem/build/
   branches/filesystem3/libs/filesystem/build/Jamfile.v2   (contents, props changed)
Removed:
   branches/filesystem3/libs/filesystem/v3/src/error_code.cpp
Text files modified: 
   branches/filesystem3/boost/filesystem.hpp                              |    37 +++++++++---                            
   branches/filesystem3/boost/filesystem/v2/config.hpp                    |    25 ++++++--                                
   branches/filesystem3/boost/filesystem/v2/convenience.hpp               |    20 +++---                                  
   branches/filesystem3/boost/filesystem/v2/fstream.hpp                   |    28 ++++----                                
   branches/filesystem3/boost/filesystem/v2/operations.hpp                |   113 ++++++++++++++++++++++++++++----------- 
   branches/filesystem3/boost/filesystem/v2/path.hpp                      |    86 +++++++++++++++++++++--------           
   branches/filesystem3/boost/filesystem/v3/config.hpp                    |    21 ++++---                                 
   branches/filesystem3/boost/filesystem/v3/convenience.hpp               |    12 ++--                                    
   branches/filesystem3/boost/filesystem/v3/fstream.hpp                   |    12 ++--                                    
   branches/filesystem3/boost/filesystem/v3/operations.hpp                |    67 ++++++++++++++++++++---                 
   branches/filesystem3/boost/filesystem/v3/path.hpp                      |   108 ++++++++++++++++++++++++-------------   
   branches/filesystem3/boost/filesystem/v3/path_traits.hpp               |     4                                         
   branches/filesystem3/libs/filesystem/v2/src/v2_operations.cpp          |    22 +++---                                  
   branches/filesystem3/libs/filesystem/v2/src/v2_path.cpp                |     8 +-                                      
   branches/filesystem3/libs/filesystem/v2/src/v2_portability.cpp         |    10 +-                                      
   branches/filesystem3/libs/filesystem/v2/src/v2_utf8_codecvt_facet.cpp  |     7 +-                                      
   branches/filesystem3/libs/filesystem/v2/src/v2_utf8_codecvt_facet.hpp  |     4                                         
   branches/filesystem3/libs/filesystem/v3/src/codecvt_error_category.cpp |     8 +-                                      
   branches/filesystem3/libs/filesystem/v3/src/operations.cpp             |    22 +++---                                  
   branches/filesystem3/libs/filesystem/v3/src/path.cpp                   |    20 +++---                                  
   branches/filesystem3/libs/filesystem/v3/src/path_traits.cpp            |    12 ++--                                    
   branches/filesystem3/libs/filesystem/v3/src/portability.cpp            |    10 +-                                      
   branches/filesystem3/libs/filesystem/v3/src/unique_path.cpp            |     4                                         
   branches/filesystem3/libs/filesystem/v3/src/utf8_codecvt_facet.cpp     |     5 -                                       
   branches/filesystem3/libs/filesystem/v3/src/windows_file_codecvt.cpp   |     2                                         
   branches/filesystem3/libs/filesystem/v3/src/windows_file_codecvt.hpp   |     7 +-                                      
   26 files changed, 433 insertions(+), 241 deletions(-)
Modified: branches/filesystem3/boost/filesystem.hpp
==============================================================================
--- branches/filesystem3/boost/filesystem.hpp	(original)
+++ branches/filesystem3/boost/filesystem.hpp	2010-06-09 10:05:57 EDT (Wed, 09 Jun 2010)
@@ -1,20 +1,37 @@
-//  boost/filesystem/filesystem.hpp  -----------------------------------------//
+//  boost/filesystem.hpp  --------------------------------------------------------------//
 
-//  Copyright Beman Dawes 2005
+//  Copyright Beman Dawes 2010
 
-//  Use, modification, and distribution is subject to the Boost Software
-//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-//  http://www.boost.org/LICENSE_1_0.txt)
+//  Distributed under the Boost Software License, Version 1.0.
+//  See http://www.boost.org/LICENSE_1_0.txt
 
-//  See library home page at http://www.boost.org/libs/filesystem
+//  Library home page: http://www.boost.org/libs/filesystem
 
-//----------------------------------------------------------------------------// 
+//--------------------------------------------------------------------------------------// 
 
 #ifndef BOOST_FILESYSTEM_FILESYSTEM_HPP
 #define BOOST_FILESYSTEM_FILESYSTEM_HPP
 
-#include <boost/filesystem/operations.hpp>   // includes path.hpp
-#include <boost/filesystem/convenience.hpp>
+# if defined(BOOST_FILESYSTEM_VERSION) \
+  && BOOST_FILESYSTEM_VERSION != 2  && BOOST_FILESYSTEM_VERSION != 3
+#   error BOOST_FILESYSTEM_VERSION defined, but not as 2 or 3
+
+# if !defined(BOOST_FILESYSTEM_VERSION)
+#   define BOOST_FILESYSTEM_VERSION 2
+# endif
+
+#ifdef BOOST_FILESYSTEM_VERSION == 2
+#  include <boost/filesystem/v2/config.hpp>
+#  include <boost/filesystem/v2/path.hpp>
+#  include <boost/filesystem/v2/operations.hpp>
+#  include <boost/filesystem/v2/convenience.hpp>
+
+# else
+#  include <boost/filesystem/v3/config.hpp>
+#  include <boost/filesystem/v3/path.hpp>
+#  include <boost/filesystem/v3/operations.hpp>
+#  include <boost/filesystem/v3/convenience.hpp>
 
-#endif
+# endif
 
+#endif  BOOST_FILESYSTEM_FILESYSTEM_HPP 
Modified: branches/filesystem3/boost/filesystem/v2/config.hpp
==============================================================================
--- branches/filesystem3/boost/filesystem/v2/config.hpp	(original)
+++ branches/filesystem3/boost/filesystem/v2/config.hpp	2010-06-09 10:05:57 EDT (Wed, 09 Jun 2010)
@@ -1,4 +1,4 @@
-//  boost/filesystem/config.hpp  ---------------------------------------------//
+//  boost/filesystem/v2/config.hpp  ------------------------------------------//
 
 //  Copyright Beman Dawes 2003
 
@@ -9,14 +9,22 @@
 
 //----------------------------------------------------------------------------// 
 
-#ifndef BOOST_FILESYSTEM_CONFIG_HPP
-#define BOOST_FILESYSTEM_CONFIG_HPP
+#ifndef BOOST_FILESYSTEM2_CONFIG_HPP
+#define BOOST_FILESYSTEM2_CONFIG_HPP
+
+# if defined(BOOST_FILESYSTEM_VERSION) && BOOST_FILESYSTEM_VERSION != 2
+#   error Compiling Filesystem version 2 file with BOOST_FILESYSTEM_VERSION defined != 2
+# endif
+
+# if !defined(BOOST_FILESYSTEM_VERSION)
+#   define BOOST_FILESYSTEM_VERSION 2
+# endif
 
 #define BOOST_FILESYSTEM_I18N  // aid users wishing to compile several versions
 
 //  ability to change namespace aids path_table.cpp  ------------------------// 
-#ifndef BOOST_FILESYSTEM_NAMESPACE
-# define BOOST_FILESYSTEM_NAMESPACE filesystem
+#ifndef BOOST_FILESYSTEM2_NAMESPACE
+# define BOOST_FILESYSTEM2_NAMESPACE filesystem2
 #endif
 
 #include <boost/config.hpp>
@@ -46,7 +54,7 @@
 //  narrow support only for badly broken compilers or libraries  -------------//
 
 # if defined(BOOST_NO_STD_WSTRING) || defined(BOOST_NO_SFINAE) || defined(BOOST_NO_STD_LOCALE) || BOOST_WORKAROUND(__BORLANDC__, <0x610)
-#   define BOOST_FILESYSTEM_NARROW_ONLY
+#   define BOOST_FILESYSTEM2_NARROW_ONLY
 # endif
 
 // This header implements separate compilation features as described in
@@ -66,7 +74,8 @@
 
 //  enable automatic library variant selection  ------------------------------// 
 
-#if !defined(BOOST_FILESYSTEM_SOURCE) && !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_FILESYSTEM_NO_LIB)
+#if !defined(BOOST_FILESYSTEM_SOURCE) && !defined(BOOST_ALL_NO_LIB) \
+  && !defined(BOOST_FILESYSTEM_NO_LIB)
 //
 // Set the name of our library, this will get undef'ed by auto_link.hpp
 // once it's done with it:
@@ -84,4 +93,4 @@
 #include <boost/config/auto_link.hpp>
 #endif  // auto-linking disabled
 
-#endif // BOOST_FILESYSTEM_CONFIG_HPP
+#endif // BOOST_FILESYSTEM2_CONFIG_HPP
Modified: branches/filesystem3/boost/filesystem/v2/convenience.hpp
==============================================================================
--- branches/filesystem3/boost/filesystem/v2/convenience.hpp	(original)
+++ branches/filesystem3/boost/filesystem/v2/convenience.hpp	2010-06-09 10:05:57 EDT (Wed, 09 Jun 2010)
@@ -10,8 +10,8 @@
 
 //----------------------------------------------------------------------------// 
 
-#ifndef BOOST_FILESYSTEM_CONVENIENCE_HPP
-#define BOOST_FILESYSTEM_CONVENIENCE_HPP
+#ifndef BOOST_FILESYSTEM2_CONVENIENCE_HPP
+#define BOOST_FILESYSTEM2_CONVENIENCE_HPP
 
 #include <boost/filesystem/operations.hpp>
 #include <boost/system/error_code.hpp>
@@ -20,7 +20,7 @@
 
 #include <boost/config/abi_prefix.hpp> // must be the last #include
 
-# ifndef BOOST_FILESYSTEM_NARROW_ONLY
+# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
 #   define BOOST_FS_FUNC(BOOST_FS_TYPE) \
       template<class Path> typename boost::enable_if<is_basic_path<Path>, \
       BOOST_FS_TYPE>::type
@@ -35,7 +35,7 @@
 
 namespace boost
 {
-  namespace filesystem
+  namespace filesystem2
   {
 
     BOOST_FS_FUNC(bool) create_directories(const Path& ph)
@@ -56,7 +56,7 @@
          return true;
      }
 
-# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
+# ifndef BOOST_FILESYSTEM2_NO_DEPRECATED
 
     BOOST_FS_FUNC_STRING extension(const Path& ph)
     {
@@ -85,7 +85,7 @@
 
 # endif
 
-# ifndef BOOST_FILESYSTEM_NARROW_ONLY
+# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
 
     // "do-the-right-thing" overloads  ---------------------------------------//
 
@@ -94,7 +94,7 @@
     inline bool create_directories(const wpath& ph)
       { return create_directories<wpath>(ph); }
 
-# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
+# ifndef BOOST_FILESYSTEM2_NO_DEPRECATED
     inline std::string extension(const path& ph)
       { return extension<path>(ph); }
     inline std::wstring extension(const wpath& ph)
@@ -199,7 +199,7 @@
     };
 
     typedef basic_recursive_directory_iterator<path> recursive_directory_iterator;
-# ifndef BOOST_FILESYSTEM_NARROW_ONLY
+# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
     typedef basic_recursive_directory_iterator<wpath> wrecursive_directory_iterator;
 # endif
 
@@ -296,11 +296,11 @@
       if ( m_imp->m_stack.empty() ) m_imp.reset(); // done, so make end iterator
     }
 
-  } // namespace filesystem
+  } // namespace filesystem2
 } // namespace boost
 
 #undef BOOST_FS_FUNC_STRING
 #undef BOOST_FS_FUNC
 
 #include <boost/config/abi_suffix.hpp> // pops abi_prefix.hpp pragmas
-#endif // BOOST_FILESYSTEM_CONVENIENCE_HPP
+#endif // BOOST_FILESYSTEM2_CONVENIENCE_HPP
Modified: branches/filesystem3/boost/filesystem/v2/fstream.hpp
==============================================================================
--- branches/filesystem3/boost/filesystem/v2/fstream.hpp	(original)
+++ branches/filesystem3/boost/filesystem/v2/fstream.hpp	2010-06-09 10:05:57 EDT (Wed, 09 Jun 2010)
@@ -9,8 +9,8 @@
 
 //----------------------------------------------------------------------------// 
 
-#ifndef BOOST_FILESYSTEM_FSTREAM_HPP
-#define BOOST_FILESYSTEM_FSTREAM_HPP
+#ifndef BOOST_FILESYSTEM2_FSTREAM_HPP
+#define BOOST_FILESYSTEM2_FSTREAM_HPP
 
 #include <boost/filesystem/operations.hpp> // for 8.3 hack (see below)
 #include <boost/utility/enable_if.hpp>
@@ -29,19 +29,19 @@
 
 namespace boost
 {
-  namespace filesystem
+  namespace filesystem2
   {
     namespace detail
     {
-#   if defined(BOOST_WINDOWS_API) && !defined(BOOST_FILESYSTEM_NARROW_ONLY)
+#   if defined(BOOST_WINDOWS_API) && !defined(BOOST_FILESYSTEM2_NARROW_ONLY)
 #     if !defined(BOOST_DINKUMWARE_STDLIB) || BOOST_DINKUMWARE_STDLIB < 405
       // The 8.3 hack:
       // C++98 does not supply a wchar_t open, so try to get an equivalent
       // narrow char name based on the short, so-called 8.3, name.
       // Not needed for Dinkumware 405 and later as they do supply wchar_t open.
-      BOOST_FILESYSTEM_DECL bool create_file_api( const std::wstring & ph,
+      BOOST_FILESYSTEM2_DECL bool create_file_api( const std::wstring & ph,
         std::ios_base::openmode mode ); // true if succeeds
-      BOOST_FILESYSTEM_DECL std::string narrow_path_api(
+      BOOST_FILESYSTEM2_DECL std::string narrow_path_api(
         const std::wstring & ph ); // return is empty if fails
 
       inline std::string path_proxy( const std::wstring & file_ph,
@@ -90,7 +90,7 @@
       basic_filebuf() {}
       virtual ~basic_filebuf() {}
 
-#   ifndef BOOST_FILESYSTEM_NARROW_ONLY
+#   ifndef BOOST_FILESYSTEM2_NARROW_ONLY
       template<class Path>
       typename boost::enable_if<is_basic_path<Path>,
         basic_filebuf<charT,traits> *>::type
@@ -118,7 +118,7 @@
       // use two signatures, rather than one signature with default second
       // argument, to workaround VC++ 7.1 bug (ID VSWhidbey 38416)
 
-#   ifndef BOOST_FILESYSTEM_NARROW_ONLY
+#   ifndef BOOST_FILESYSTEM2_NARROW_ONLY
       template<class Path>
       explicit basic_ifstream( const Path & file_ph,
         typename boost::enable_if<is_basic_path<Path> >::type* dummy = 0 );
@@ -162,7 +162,7 @@
       // use two signatures, rather than one signature with default second
       // argument, to workaround VC++ 7.1 bug (ID VSWhidbey 38416)
 
-#   ifndef BOOST_FILESYSTEM_NARROW_ONLY
+#   ifndef BOOST_FILESYSTEM2_NARROW_ONLY
 
       template<class Path>
       explicit basic_ofstream( const Path & file_ph,
@@ -207,7 +207,7 @@
       // use two signatures, rather than one signature with default second
       // argument, to workaround VC++ 7.1 bug (ID VSWhidbey 38416)
 
-#   ifndef BOOST_FILESYSTEM_NARROW_ONLY
+#   ifndef BOOST_FILESYSTEM2_NARROW_ONLY
 
       template<class Path>
       explicit basic_fstream( const Path & file_ph,
@@ -246,14 +246,14 @@
     typedef basic_ofstream<char> ofstream;
     typedef basic_fstream<char> fstream;
 
-# ifndef BOOST_FILESYSTEM_NARROW_ONLY
+# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
     typedef basic_filebuf<wchar_t> wfilebuf;
     typedef basic_ifstream<wchar_t> wifstream;
     typedef basic_fstream<wchar_t> wfstream;
     typedef basic_ofstream<wchar_t> wofstream;
 # endif
     
-# ifndef BOOST_FILESYSTEM_NARROW_ONLY
+# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
 
 //  basic_filebuf definitions  -----------------------------------------------//
 
@@ -577,8 +577,8 @@
         file_ph.file_string().c_str(), mode );
     }
 #   endif
-  } // namespace filesystem
+  } // namespace filesystem2
 } // namespace boost
 
 #include <boost/config/abi_suffix.hpp> // pops abi_prefix.hpp pragmas
-#endif  // BOOST_FILESYSTEM_FSTREAM_HPP
+#endif  // BOOST_FILESYSTEM2_FSTREAM_HPP
Modified: branches/filesystem3/boost/filesystem/v2/operations.hpp
==============================================================================
--- branches/filesystem3/boost/filesystem/v2/operations.hpp	(original)
+++ branches/filesystem3/boost/filesystem/v2/operations.hpp	2010-06-09 10:05:57 EDT (Wed, 09 Jun 2010)
@@ -11,10 +11,10 @@
 
 //----------------------------------------------------------------------------// 
 
-#ifndef BOOST_FILESYSTEM_OPERATIONS_HPP
-#define BOOST_FILESYSTEM_OPERATIONS_HPP
+#ifndef BOOST_FILESYSTEM2_OPERATIONS_HPP
+#define BOOST_FILESYSTEM2_OPERATIONS_HPP
 
-#include <boost/filesystem/path.hpp>
+#include <boost/filesystem/v2/path.hpp>
 #include <boost/detail/scoped_enum_emulation.hpp>
 
 #include <boost/shared_ptr.hpp>
@@ -45,11 +45,11 @@
 
 namespace boost
 {
-  namespace filesystem
+  namespace filesystem2
   {
 
 // typedef boost::filesystem::path Path; needs to be in namespace boost::filesystem
-# ifndef BOOST_FILESYSTEM_NARROW_ONLY
+# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
 #   define BOOST_FS_FUNC(BOOST_FS_TYPE) \
       template<class Path> typename boost::enable_if<is_basic_path<Path>, \
       BOOST_FS_TYPE>::type
@@ -60,13 +60,13 @@
 # else
 #   define BOOST_FS_FUNC(BOOST_FS_TYPE) inline BOOST_FS_TYPE
 #   define BOOST_INLINE_FS_FUNC(BOOST_FS_TYPE) inline BOOST_FS_TYPE
-    typedef boost::filesystem::path Path;
+    typedef boost::filesystem2::path Path;
 #   define BOOST_FS_TYPENAME
 # endif
 
     template<class Path> class basic_directory_iterator;
 
-    // BOOST_FILESYSTEM_NARROW_ONLY needs this:
+    // BOOST_FILESYSTEM2_NARROW_ONLY needs this:
     typedef basic_directory_iterator<path> directory_iterator;
 
     template<class Path> class basic_directory_entry;
@@ -190,9 +190,9 @@
       BOOST_FILESYSTEM_DECL system::error_code
         get_full_path_name_api( const std::string & ph, std::string & target );
 
-#     if !defined(BOOST_FILESYSTEM_NARROW_ONLY)
+#     if !defined(BOOST_FILESYSTEM2_NARROW_ONLY)
 
-      BOOST_FILESYSTEM_DECL  boost::filesystem::file_status
+      BOOST_FILESYSTEM_DECL  boost::filesystem2::file_status
         status_api( const std::wstring & ph, system::error_code & ec );
       BOOST_FILESYSTEM_DECL query_pair 
         is_empty_api( const std::wstring & ph );
@@ -357,7 +357,7 @@
     }
 
     // VC++ 7.0 and earlier has a serious namespace bug that causes a clash
-    // between boost::filesystem::is_empty and the unrelated type trait
+    // between boost::filesystem2::is_empty and the unrelated type trait
     // boost::is_empty.
 
 # if !defined( BOOST_MSVC ) || BOOST_MSVC > 1300
@@ -554,9 +554,9 @@
 # ifndef BOOST_FILESYSTEM_NO_DEPRECATED
     // legacy support
     inline path current_path()  // overload supports pre-i18n apps
-      { return current_path<boost::filesystem::path>(); }
+      { return current_path<boost::filesystem2::path>(); }
     inline const path & initial_path() // overload supports pre-i18n apps
-      { return initial_path<boost::filesystem::path>(); }
+      { return initial_path<boost::filesystem2::path>(); }
 # endif
 
     BOOST_FS_FUNC(Path) system_complete( const Path & ph )
@@ -610,7 +610,7 @@
           "boost::filesystem::last_write_time", ph, ec ) );
     }
 
-# ifndef BOOST_FILESYSTEM_NARROW_ONLY
+# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
 
     // "do-the-right-thing" overloads  ---------------------------------------//
 
@@ -665,9 +665,9 @@
       { return is_symlink<wpath>( ph ); }
 
     inline bool is_empty( const path & ph )
-      { return boost::filesystem::is_empty<path>( ph ); }
+      { return boost::filesystem2::is_empty<path>( ph ); }
     inline bool is_empty( const wpath & ph )
-      { return boost::filesystem::is_empty<wpath>( ph ); }
+      { return boost::filesystem2::is_empty<wpath>( ph ); }
 
     inline bool equivalent( const path & ph1, const path & ph2 )
       { return equivalent<path>( ph1, ph2 ); }
@@ -771,7 +771,7 @@
     inline void current_path( const wpath & ph )
       { current_path<wpath>( ph ); }
 
-# endif // ifndef BOOST_FILESYSTEM_NARROW_ONLY
+# endif // ifndef BOOST_FILESYSTEM2_NARROW_ONLY
 
     namespace detail
     {
@@ -792,16 +792,16 @@
       template<class Path>
       unsigned long remove_all_aux( const Path & ph, file_status f )
       {
-        static const boost::filesystem::basic_directory_iterator<Path> end_itr;
+        static const boost::filesystem2::basic_directory_iterator<Path> end_itr;
         unsigned long count = 1;
-        if ( !boost::filesystem::is_symlink( f ) // don't recurse symbolic links
-          && boost::filesystem::is_directory( f ) )
+        if ( !boost::filesystem2::is_symlink( f ) // don't recurse symbolic links
+          && boost::filesystem2::is_directory( f ) )
         {
-          for ( boost::filesystem::basic_directory_iterator<Path> itr( ph );
+          for ( boost::filesystem2::basic_directory_iterator<Path> itr( ph );
                 itr != end_itr; ++itr )
           {
             boost::system::error_code ec;
-            boost::filesystem::file_status fn = boost::filesystem::symlink_status( itr->path(), ec );
+            boost::filesystem2::file_status fn = boost::filesystem2::symlink_status( itr->path(), ec );
             if ( ec )
               boost::throw_exception( basic_filesystem_error<Path>( 
                 "boost::filesystem:remove_all", ph, ec ) );
@@ -850,7 +850,7 @@
           );
       // Effects: none if handle==0, otherwise close handle, set handle=0
 
-#     if defined(BOOST_WINDOWS_API) && !defined(BOOST_FILESYSTEM_NARROW_ONLY)
+#     if defined(BOOST_WINDOWS_API) && !defined(BOOST_FILESYSTEM2_NARROW_ONLY)
       BOOST_FILESYSTEM_DECL system::error_code
         dir_itr_first( void *& handle, const std::wstring & ph,
           std::wstring & target, file_status & fs, file_status & symlink_fs );
@@ -928,7 +928,7 @@
     };
 
     typedef basic_directory_iterator< path > directory_iterator;
-# ifndef BOOST_FILESYSTEM_NARROW_ONLY
+# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
     typedef basic_directory_iterator< wpath > wdirectory_iterator;
 # endif
 
@@ -1100,7 +1100,7 @@
     }; // basic_directory_status
 
     typedef basic_directory_entry<path> directory_entry;
-# ifndef BOOST_FILESYSTEM_NARROW_ONLY
+# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
     typedef basic_directory_entry<wpath> wdirectory_entry;
 # endif
 
@@ -1116,9 +1116,9 @@
         if ( status_known( m_symlink_status )
           && !is_symlink( m_symlink_status ) )
           { m_status = m_symlink_status; }
-        else { m_status = boost::filesystem::status( m_path ); }
+        else { m_status = boost::filesystem2::status( m_path ); }
 #     else
-        m_status = boost::filesystem::status( m_path );
+        m_status = boost::filesystem2::status( m_path );
 #     endif
       }
       return m_status;
@@ -1134,9 +1134,9 @@
         if ( status_known( m_symlink_status )
           && !is_symlink( m_symlink_status ) )
           { ec = boost::system::error_code();; m_status = m_symlink_status; }
-        else { m_status = boost::filesystem::status( m_path, ec ); }
+        else { m_status = boost::filesystem2::status( m_path, ec ); }
 #     else
-        m_status = boost::filesystem::status( m_path, ec );
+        m_status = boost::filesystem2::status( m_path, ec );
 #     endif
       }
       else ec = boost::system::error_code();;
@@ -1149,7 +1149,7 @@
     {
 #   ifndef BOOST_WINDOWS_API
       if ( !status_known( m_symlink_status ) )
-        { m_symlink_status = boost::filesystem::symlink_status( m_path ); }
+        { m_symlink_status = boost::filesystem2::symlink_status( m_path ); }
       return m_symlink_status;
 #   else
       return status();
@@ -1162,18 +1162,67 @@
     {
 #   ifndef BOOST_WINDOWS_API
       if ( !status_known( m_symlink_status ) )
-        { m_symlink_status = boost::filesystem::symlink_status( m_path, ec ); }
+        { m_symlink_status = boost::filesystem2::symlink_status( m_path, ec ); }
       else ec = boost::system::error_code();;
       return m_symlink_status;
 #   else
       return status( ec );
 #   endif
     }
-  } // namespace filesystem
+  } // namespace filesystem2
 } // namespace boost
 
 #undef BOOST_FS_FUNC
 
+//----------------------------------------------------------------------------//
+
+namespace boost
+{
+  namespace filesystem
+  {
+    using filesystem2::basic_directory_entry;
+    using filesystem2::basic_directory_iterator;
+    using filesystem2::complete;
+    using filesystem2::copy_file;
+    using filesystem2::copy_option;
+    using filesystem2::create_directory;
+    using filesystem2::create_hard_link;
+    using filesystem2::create_symlink;
+    using filesystem2::current_path;
+    using filesystem2::directory_entry;
+    using filesystem2::directory_iterator;
+    using filesystem2::equivalent;
+    using filesystem2::exists;
+    using filesystem2::file_size;
+    using filesystem2::file_status;
+    using filesystem2::file_type;
+    using filesystem2::initial_path;
+    using filesystem2::is_directory;
+    using filesystem2::is_directory;
+    using filesystem2::is_empty;
+    using filesystem2::is_other;
+    using filesystem2::is_regular_file;
+    using filesystem2::is_symlink;
+    using filesystem2::last_write_time;
+    using filesystem2::remove;
+    using filesystem2::remove_all;
+    using filesystem2::rename;
+    using filesystem2::space;
+    using filesystem2::space_info;
+    using filesystem2::status;
+    using filesystem2::status_known;
+    using filesystem2::symlink_status;
+    using filesystem2::system_complete;
+# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
+    using filesystem2::is_regular;
+    using filesystem2::symbolic_link_exists;
+# endif
+# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
+    using filesystem2::wdirectory_iterator;
+    using filesystem2::wdirectory_entry;
+# endif
+  }
+}
 
 #include <boost/config/abi_suffix.hpp> // pops abi_prefix.hpp pragmas
-#endif // BOOST_FILESYSTEM_OPERATIONS_HPP
+#endif // BOOST_FILESYSTEM2_OPERATIONS_HPP
Modified: branches/filesystem3/boost/filesystem/v2/path.hpp
==============================================================================
--- branches/filesystem3/boost/filesystem/v2/path.hpp	(original)
+++ branches/filesystem3/boost/filesystem/v2/path.hpp	2010-06-09 10:05:57 EDT (Wed, 09 Jun 2010)
@@ -14,10 +14,10 @@
 
 //----------------------------------------------------------------------------// 
 
-#ifndef BOOST_FILESYSTEM_PATH_HPP
-#define BOOST_FILESYSTEM_PATH_HPP
+#ifndef BOOST_FILESYSTEM2_PATH_HPP
+#define BOOST_FILESYSTEM2_PATH_HPP
 
-#include <boost/filesystem/config.hpp>
+#include <boost/filesystem/v2/config.hpp>
 #include <boost/system/system_error.hpp>
 #include <boost/iterator/iterator_facade.hpp>
 #include <boost/throw_exception.hpp>
@@ -31,17 +31,15 @@
 #include <stdexcept>
 #include <cassert>
 
-# ifndef BOOST_FILESYSTEM_NARROW_ONLY
+# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
 #   include <locale>
 # endif
 
 #include <boost/config/abi_prefix.hpp> // must be the last #include
 
-//----------------------------------------------------------------------------//
-
 namespace boost
 {
-  namespace BOOST_FILESYSTEM_NAMESPACE
+  namespace BOOST_FILESYSTEM2_NAMESPACE
   {
     template<class String, class Traits> class basic_path;
 
@@ -58,7 +56,7 @@
         const external_string_type & src ) { return src; }
     };
 
-# ifndef BOOST_FILESYSTEM_NARROW_ONLY
+# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
 
     struct BOOST_FILESYSTEM_DECL wpath_traits;
     
@@ -84,7 +82,7 @@
       static bool imbue( const std::locale & loc, const std::nothrow_t & );
     };
 
-# endif // ifndef BOOST_FILESYSTEM_NARROW_ONLY
+# endif // ifndef BOOST_FILESYSTEM2_NARROW_ONLY
 
     //  path traits  ---------------------------------------------------------//
 
@@ -92,7 +90,7 @@
       { BOOST_STATIC_CONSTANT( bool, value = false ); };
     template<> struct is_basic_path<path>
       { BOOST_STATIC_CONSTANT( bool, value = true ); };
-# ifndef BOOST_FILESYSTEM_NARROW_ONLY
+# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
     template<> struct is_basic_path<wpath>
       { BOOST_STATIC_CONSTANT( bool, value = true ); };
 # endif
@@ -109,7 +107,7 @@
     template<class Path> struct colon
       { BOOST_STATIC_CONSTANT( char, value = ':' ); };
 
-# ifndef BOOST_FILESYSTEM_NARROW_ONLY
+# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
     template<> struct slash<wpath>
       { BOOST_STATIC_CONSTANT( wchar_t, value = L'/' ); };
     template<> struct dot<wpath>
@@ -121,7 +119,7 @@
 # ifdef BOOST_WINDOWS_PATH
     template<class Path> struct path_alt_separator
       { BOOST_STATIC_CONSTANT( char, value = '\\' ); };
-#   ifndef BOOST_FILESYSTEM_NARROW_ONLY
+#   ifndef BOOST_FILESYSTEM2_NARROW_ONLY
     template<> struct path_alt_separator<wpath>
       { BOOST_STATIC_CONSTANT( wchar_t, value = L'\\' ); };
 #   endif
@@ -273,23 +271,23 @@
       {
       private:
         friend class boost::iterator_core_access;
-        friend class boost::BOOST_FILESYSTEM_NAMESPACE::basic_path<String, Traits>;
+        friend class boost::BOOST_FILESYSTEM2_NAMESPACE::basic_path<String, Traits>;
 
         const string_type & dereference() const
           { return m_name; }
         bool equal( const iterator & rhs ) const
           { return m_path_ptr == rhs.m_path_ptr && m_pos == rhs.m_pos; }
 
-        friend class boost::BOOST_FILESYSTEM_NAMESPACE::detail::iterator_helper<path_type>;
+        friend class boost::BOOST_FILESYSTEM2_NAMESPACE::detail::iterator_helper<path_type>;
 
         void increment()
         { 
-          boost::BOOST_FILESYSTEM_NAMESPACE::detail::iterator_helper<path_type>::do_increment(
+          boost::BOOST_FILESYSTEM2_NAMESPACE::detail::iterator_helper<path_type>::do_increment(
             *this );
         }
         void decrement()
         { 
-          boost::BOOST_FILESYSTEM_NAMESPACE::detail::iterator_helper<path_type>::do_decrement(
+          boost::BOOST_FILESYSTEM2_NAMESPACE::detail::iterator_helper<path_type>::do_decrement(
             *this );
         }
 
@@ -330,7 +328,7 @@
       // Was qualified; como433beta8 reports:
       //    warning #427-D: qualified name is not allowed in member declaration 
       friend class iterator;
-      friend class boost::BOOST_FILESYSTEM_NAMESPACE::detail::iterator_helper<path_type>;
+      friend class boost::BOOST_FILESYSTEM2_NAMESPACE::detail::iterator_helper<path_type>;
 
       // Deprecated features ease transition for existing code. Don't use these
       // in new code.
@@ -408,7 +406,7 @@
                     const typename basic_path<String, Traits>::string_type::value_type * rhs )
     {
       typedef typename
-        boost::BOOST_FILESYSTEM_NAMESPACE::basic_path<String, Traits> path_type;
+        boost::BOOST_FILESYSTEM2_NAMESPACE::basic_path<String, Traits> path_type;
       const typename path_type::string_type::value_type * l (lhs.string().c_str());
       while ( (*l == *rhs
 #      ifdef BOOST_WINDOWS_PATH
@@ -728,7 +726,7 @@
 
     typedef basic_filesystem_error<path> filesystem_error;
 
-# ifndef BOOST_FILESYSTEM_NARROW_ONLY
+# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
     typedef basic_filesystem_error<wpath> wfilesystem_error;
 # endif
 
@@ -769,7 +767,7 @@
       // return 0 if str itself is filename (or empty)
       {
         typedef typename
-          boost::BOOST_FILESYSTEM_NAMESPACE::basic_path<String, Traits> path_type;
+          boost::BOOST_FILESYSTEM2_NAMESPACE::basic_path<String, Traits> path_type;
 
         // case: "//"
         if ( end_pos == 2 
@@ -817,7 +815,7 @@
         element_size = 0;
         if ( src.empty() ) return;
 
-        typedef typename boost::BOOST_FILESYSTEM_NAMESPACE::basic_path<String, Traits> path_type;
+        typedef typename boost::BOOST_FILESYSTEM2_NAMESPACE::basic_path<String, Traits> path_type;
 
         typename String::size_type cur(0);
         
@@ -877,7 +875,7 @@
         typename String::size_type size )
       // return npos if no root_directory found
       {
-        typedef typename boost::BOOST_FILESYSTEM_NAMESPACE::basic_path<String, Traits> path_type;
+        typedef typename boost::BOOST_FILESYSTEM2_NAMESPACE::basic_path<String, Traits> path_type;
 
 #     ifdef BOOST_WINDOWS_PATH
         // case "c:/"
@@ -915,7 +913,7 @@
         typename String::size_type pos ) // pos is position of the slash
       {
         typedef typename
-          boost::BOOST_FILESYSTEM_NAMESPACE::basic_path<String, Traits>
+          boost::BOOST_FILESYSTEM2_NAMESPACE::basic_path<String, Traits>
             path_type;
 
         assert( !str.empty() && str[pos] == slash<path_type>::value
@@ -1523,9 +1521,47 @@
       catch (...) { m_imp_ptr.reset(); }
     }
 
-  } // namespace BOOST_FILESYSTEM_NAMESPACE
+  } // namespace BOOST_FILESYSTEM2_NAMESPACE
 } // namespace boost
 
+//----------------------------------------------------------------------------//
+
+namespace boost
+{
+  namespace filesystem
+  {
+    using filesystem2::basic_path;
+    using filesystem2::path_traits;
+    using filesystem2::path;
+# ifndef BOOST_FILESYSTEM2_NARROW_ONLY
+    using filesystem2::wpath_traits;
+    using filesystem2::wpath;
+# endif
+    using filesystem2::basic_filesystem_error;
+    using filesystem2::filesystem_error;
+    using filesystem2::wfilesystem_error;
+    using filesystem2::portable_posix_name;
+    using filesystem2::windows_name;
+    using filesystem2::portable_name;
+    using filesystem2::portable_directory_name;
+    using filesystem2::portable_file_name;
+    using filesystem2::native;
+    using filesystem2::no_check;
+    using filesystem2::swap;
+    using filesystem2::operator<;
+    using filesystem2::operator==;
+    using filesystem2::operator!=;
+    using filesystem2::operator>;
+    using filesystem2::operator<=;
+    using filesystem2::operator>=;
+    using filesystem2::operator/;
+    using filesystem2::operator<<;
+    using filesystem2::operator>>;
+  }
+}
+
+//----------------------------------------------------------------------------//
+
 #include <boost/config/abi_suffix.hpp> // pops abi_prefix.hpp pragmas
 
-#endif // BOOST_FILESYSTEM_PATH_HPP
+#endif // BOOST_FILESYSTEM2_PATH_HPP
Modified: branches/filesystem3/boost/filesystem/v3/config.hpp
==============================================================================
--- branches/filesystem3/boost/filesystem/v3/config.hpp	(original)
+++ branches/filesystem3/boost/filesystem/v3/config.hpp	2010-06-09 10:05:57 EDT (Wed, 09 Jun 2010)
@@ -1,4 +1,4 @@
-//  boost/filesystem/config.hpp  -------------------------------------------------------//
+//  boost/filesystem/v3/config.hpp  ----------------------------------------------------//
 
 //  Copyright Beman Dawes 2003
 
@@ -9,15 +9,18 @@
 
 //--------------------------------------------------------------------------------------// 
 
-#ifndef BOOST_FILESYSTEM_CONFIG_HPP
-#define BOOST_FILESYSTEM_CONFIG_HPP
+#ifndef BOOST_FILESYSTEM3_CONFIG_HPP
+#define BOOST_FILESYSTEM3_CONFIG_HPP
 
-#define BOOST_FILESYSTEM_I18N  // aid users wishing to compile several versions
+# if defined(BOOST_FILESYSTEM_VERSION) && BOOST_FILESYSTEM_VERSION != 3
+#   error Compiling Filesystem version 3 file with BOOST_FILESYSTEM_VERSION defined != 3
+# endif
 
-//  ability to change namespace aids path_table.cpp  ----------------------------------// 
-#ifndef BOOST_FILESYSTEM_NAMESPACE
-# define BOOST_FILESYSTEM_NAMESPACE filesystem
-#endif
+# if !defined(BOOST_FILESYSTEM_VERSION)
+#   define BOOST_FILESYSTEM_VERSION 3
+# endif
+
+#define BOOST_FILESYSTEM_I18N  // aid users wishing to compile several versions
 
 // This header implements separate compilation features as described in
 // http://www.boost.org/more/separate_compilation.html
@@ -79,4 +82,4 @@
 #include <boost/config/auto_link.hpp>
 #endif  // auto-linking disabled
 
-#endif // BOOST_FILESYSTEM_CONFIG_HPP
+#endif // BOOST_FILESYSTEM3_CONFIG_HPP
Modified: branches/filesystem3/boost/filesystem/v3/convenience.hpp
==============================================================================
--- branches/filesystem3/boost/filesystem/v3/convenience.hpp	(original)
+++ branches/filesystem3/boost/filesystem/v3/convenience.hpp	2010-06-09 10:05:57 EDT (Wed, 09 Jun 2010)
@@ -10,17 +10,17 @@
 
 //----------------------------------------------------------------------------// 
 
-#ifndef BOOST_FILESYSTEM_CONVENIENCE_HPP
-#define BOOST_FILESYSTEM_CONVENIENCE_HPP
+#ifndef BOOST_FILESYSTEM3_CONVENIENCE_HPP
+#define BOOST_FILESYSTEM3_CONVENIENCE_HPP
 
-#include <boost/filesystem/operations.hpp>
+#include <boost/filesystem/v3/operations.hpp>
 #include <boost/system/error_code.hpp>
 
 #include <boost/config/abi_prefix.hpp> // must be the last #include
 
 namespace boost
 {
-  namespace filesystem
+  namespace filesystem3
   {
 
 # ifndef BOOST_FILESYSTEM_NO_DEPRECATED
@@ -45,8 +45,8 @@
 # endif
 
 
-  } // namespace filesystem
+  } // namespace filesystem3
 } // namespace boost
 
 #include <boost/config/abi_suffix.hpp> // pops abi_prefix.hpp pragmas
-#endif // BOOST_FILESYSTEM_CONVENIENCE_HPP
+#endif // BOOST_FILESYSTEM3_CONVENIENCE_HPP
Modified: branches/filesystem3/boost/filesystem/v3/fstream.hpp
==============================================================================
--- branches/filesystem3/boost/filesystem/v3/fstream.hpp	(original)
+++ branches/filesystem3/boost/filesystem/v3/fstream.hpp	2010-06-09 10:05:57 EDT (Wed, 09 Jun 2010)
@@ -9,10 +9,10 @@
 
 //--------------------------------------------------------------------------------------// 
 
-#ifndef BOOST_FILESYSTEM_FSTREAM_HPP
-#define BOOST_FILESYSTEM_FSTREAM_HPP
+#ifndef BOOST_FILESYSTEM3_FSTREAM_HPP
+#define BOOST_FILESYSTEM3_FSTREAM_HPP
 
-#include <boost/filesystem/path.hpp>
+#include <boost/filesystem/v3/path.hpp>
 #include <boost/config.hpp>
 
 #include <iosfwd>
@@ -30,7 +30,7 @@
 
 namespace boost
 {
-namespace filesystem
+namespace filesystem3
 {
 
 //--------------------------------------------------------------------------------------//
@@ -169,8 +169,8 @@
   typedef basic_fstream<wchar_t> wfstream;
   typedef basic_ofstream<wchar_t> wofstream;
   
-} // namespace filesystem
+} // namespace filesystem3
 } // namespace boost
 
 #include <boost/config/abi_suffix.hpp> // pops abi_prefix.hpp pragmas
-#endif  // BOOST_FILESYSTEM_FSTREAM_HPP
+#endif  // BOOST_FILESYSTEM3_FSTREAM_HPP
Modified: branches/filesystem3/boost/filesystem/v3/operations.hpp
==============================================================================
--- branches/filesystem3/boost/filesystem/v3/operations.hpp	(original)
+++ branches/filesystem3/boost/filesystem/v3/operations.hpp	2010-06-09 10:05:57 EDT (Wed, 09 Jun 2010)
@@ -12,10 +12,11 @@
 
 //--------------------------------------------------------------------------------------//
 
-#ifndef BOOST_FILESYSTEM_OPERATIONS_HPP
-#define BOOST_FILESYSTEM_OPERATIONS_HPP
+#ifndef BOOST_FILESYSTEM3_OPERATIONS_HPP
+#define BOOST_FILESYSTEM3_OPERATIONS_HPP
 
-#include <boost/filesystem/path.hpp>
+#include <boost/filesystem/v3/config.hpp>
+#include <boost/filesystem/v3/path.hpp>
 
 #include <boost/detail/scoped_enum_emulation.hpp>
 #include <boost/system/error_code.hpp>
@@ -43,7 +44,7 @@
 
 namespace boost
 {
-  namespace filesystem
+  namespace filesystem3
   {
 
 //--------------------------------------------------------------------------------------//
@@ -472,9 +473,6 @@
   void replace_leaf(const boost::filesystem::path& p,
     file_status st, file_status symlink_st)
       { replace_filename(p, st, symlink_st); }
-  std::string filename() const { return path().filename().string(); } 
-  std::string leaf() const { return path().filename().string(); } 
-  std::string string() const { return path().string(); } 
 # endif
 
   const boost::filesystem::path&  path() const               {return m_path;}
@@ -913,9 +911,60 @@
     BOOST_FILESYSTEM_DECL bool possible_large_file_size_support();
   }
 
-  } // namespace filesystem
+  } // namespace filesystem3
 } // namespace boost
 
+//----------------------------------------------------------------------------//
+
+namespace boost
+{
+  namespace filesystem
+  {
+    using filesystem3::resize_file;
+    using filesystem3::copy_file;
+    using filesystem3::copy_option;
+    using filesystem3::copy_symlink;
+    using filesystem3::create_directories;
+    using filesystem3::create_directory;
+    using filesystem3::create_hard_link;
+    using filesystem3::create_symlink;
+    using filesystem3::current_path;
+    using filesystem3::directory_entry;
+    using filesystem3::directory_iterator;
+    using filesystem3::equivalent;
+    using filesystem3::exists;
+    using filesystem3::file_not_found;
+    using filesystem3::file_size;
+    using filesystem3::file_status;
+    using filesystem3::file_type;
+    using filesystem3::filesystem_error;
+    using filesystem3::hard_link_count;
+    using filesystem3::initial_path;
+    using filesystem3::is_directory;
+    using filesystem3::is_directory;
+    using filesystem3::is_empty;
+    using filesystem3::is_other;
+    using filesystem3::is_regular_file;
+    using filesystem3::is_symlink;
+    using filesystem3::last_write_time;
+    using filesystem3::read_symlink;
+    using filesystem3::remove;
+    using filesystem3::remove_all;
+    using filesystem3::rename;
+    using filesystem3::space;
+    using filesystem3::space_info;
+    using filesystem3::status;
+    using filesystem3::status_known;
+    using filesystem3::symlink_status;
+    using filesystem3::system_complete;
+# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
+    using filesystem3::is_regular;
+    using filesystem3::symbolic_link_exists;
+    //using filesystem3::wdirectory_iterator;
+    //using filesystem3::wdirectory_entry;
+# endif
+  }
+}
 
 #include <boost/config/abi_suffix.hpp> // pops abi_prefix.hpp pragmas
-#endif // BOOST_FILESYSTEM_OPERATIONS_HPP
+#endif // BOOST_FILESYSTEM3_OPERATIONS_HPP
Modified: branches/filesystem3/boost/filesystem/v3/path.hpp
==============================================================================
--- branches/filesystem3/boost/filesystem/v3/path.hpp	(original)
+++ branches/filesystem3/boost/filesystem/v3/path.hpp	2010-06-09 10:05:57 EDT (Wed, 09 Jun 2010)
@@ -15,8 +15,8 @@
 #ifndef BOOST_FILESYSTEM_PATH_HPP
 #define BOOST_FILESYSTEM_PATH_HPP
 
-#include <boost/filesystem/config.hpp>
-#include <boost/filesystem/path_traits.hpp>
+#include <boost/filesystem/v3/config.hpp>
+#include <boost/filesystem/v3/path_traits.hpp>
 #include <boost/system/error_code.hpp>
 #include <boost/system/system_error.hpp>
 #include <boost/iterator/iterator_facade.hpp>
@@ -35,7 +35,7 @@
 
 namespace boost
 {
-namespace filesystem
+namespace filesystem3
 {
   //------------------------------------------------------------------------------------//
   //                                                                                    //
@@ -330,41 +330,42 @@
 
     //  -----  deprecated functions  -----
 
-# if !defined(BOOST_FILESYSTEM_NO_DEPRECATED)
-    // Deprecated features ease transition for existing code. Don't use these
-    // in new code.
+# if defined(BOOST_FILESYSTEM_DEPRECATED) && defined(BOOST_FILESYSTEM_NO_DEPRECATED)
+#   error both BOOST_FILESYSTEM_DEPRECATED and BOOST_FILESYSTEM_NO_DEPRECATED are defined
+# endif
 
+# if !defined(BOOST_FILESYSTEM_NO_DEPRECATED)
+    //  recently deprecated functions supplied by default
     path&  normalize()              { return m_normalize(); }
     path&  remove_leaf()            { return remove_filename(); }
+    path   leaf() const             { return filename(); }
+    path   branch_path() const      { return parent_path(); }
+    bool   has_leaf() const         { return !m_pathname.empty(); }
+    bool   has_branch_path() const  { return !parent_path().empty(); }
+    bool   is_complete() const      { return is_absolute(); }
+# endif
 
-    typedef bool (*name_check)(const std::string & name);
-    path(const std::string& str, name_check)  { operator/=(str); }
-    path(const std::wstring& str, name_check) { operator/=(str); }
-    path(const char* s, name_check)           { operator/=(s);}
-    path(const wchar_t* s, name_check)        { operator/=(s);}
-    static bool default_name_check_writable() { return false; } 
-    static void default_name_check(name_check){}
-    static name_check default_name_check()    { return 0; }
-
+# if defined(BOOST_FILESYSTEM_DEPRECATED)
+    //  deprecated functions with enough signature or semantic changes that they are
+    //  not supplied by default 
     const std::string file_string() const               { return string(); }
     const std::string directory_string() const          { return string(); }
     const std::string native_file_string() const        { return string(); }
     const std::string native_directory_string() const   { return string(); }
-    // for functions that returned string_type, return std::string since we are 
-    // emulating the old path rather than the old wpath.
-    const std::string external_file_string() const      { return string(); }
-    const std::string external_directory_string() const { return string(); }
+    const string_type external_file_string() const      { return native(); }
+    const string_type external_directory_string() const { return native(); }
 
-    std::string leaf() const        { return filename().string(); }
-    path   branch_path() const      { return parent_path(); }
-    bool   has_leaf() const         { return !m_pathname.empty(); }
-    bool   has_branch_path() const  { return !parent_path().empty(); }
-    bool   is_complete() const      { return is_absolute(); }
+    //  older functions no longer supported
+    //typedef bool (*name_check)(const std::string & name);
+    //basic_path(const string_type& str, name_check) { operator/=(str); }
+    //basic_path(const typename string_type::value_type* s, name_check)
+    //  { operator/=(s);}
+    //static bool default_name_check_writable() { return false; } 
+    //static void default_name_check(name_check) {}
+    //static name_check default_name_check() { return 0; }
+    //basic_path& canonize();
 # endif
 
-   //  older functions no longer supported
-   //basic_path& canonize();
-
 //--------------------------------------------------------------------------------------//
 //                            class path private members                                //
 //--------------------------------------------------------------------------------------//
@@ -411,7 +412,7 @@
 
   };  // class path
 
-# if !defined(BOOST_FILESYSTEM_NO_DEPRECATED)
+# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
   typedef path wpath;
 # endif
 
@@ -427,7 +428,7 @@
   {
   private:
     friend class boost::iterator_core_access;
-    friend class boost::filesystem::path;
+    friend class boost::filesystem3::path;
     friend void m_path_iterator_increment(path::iterator & it);
     friend void m_path_iterator_decrement(path::iterator & it);
 
@@ -572,15 +573,12 @@
 
   //  name_checks
 
-  BOOST_FILESYSTEM_DECL bool portable_posix_name(const std::string& name);
-  BOOST_FILESYSTEM_DECL bool windows_name(const std::string& name);
-  BOOST_FILESYSTEM_DECL bool portable_name(const std::string& name);
-  BOOST_FILESYSTEM_DECL bool portable_directory_name(const std::string& name);
-  BOOST_FILESYSTEM_DECL bool portable_file_name(const std::string& name);
-  BOOST_FILESYSTEM_DECL bool native(const std::string& name);
-# if !defined(BOOST_FILESYSTEM_NO_DEPRECATED)
-  inline bool no_check( const std::string & ) { return true; }
-# endif
+  BOOST_FILESYSTEM_DECL bool portable_posix_name(const std::string & name);
+  BOOST_FILESYSTEM_DECL bool windows_name(const std::string & name);
+  BOOST_FILESYSTEM_DECL bool portable_name(const std::string & name);
+  BOOST_FILESYSTEM_DECL bool portable_directory_name(const std::string & name);
+  BOOST_FILESYSTEM_DECL bool portable_file_name(const std::string & name);
+  BOOST_FILESYSTEM_DECL bool native(const std::string & name);
  
 //--------------------------------------------------------------------------------------//
 //                     class path member template implementation                        //
@@ -629,9 +627,41 @@
   std::wstring path::generic_string<std::wstring>() const { return generic_wstring(); }
 
 
-}  // namespace filesystem
+}  // namespace filesystem3
 }  // namespace boost
 
+//----------------------------------------------------------------------------//
+
+namespace boost
+{
+  namespace filesystem
+  {
+    using filesystem3::path;
+# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
+    using filesystem3::wpath;
+# endif
+    using filesystem3::lexicographical_compare;
+    using filesystem3::portable_posix_name;
+    using filesystem3::windows_name;
+    using filesystem3::portable_name;
+    using filesystem3::portable_directory_name;
+    using filesystem3::portable_file_name;
+    using filesystem3::native;
+    using filesystem3::swap;
+    using filesystem3::operator<;
+    using filesystem3::operator==;
+    using filesystem3::operator!=;
+    using filesystem3::operator>;
+    using filesystem3::operator<=;
+    using filesystem3::operator>=;
+    using filesystem3::operator/;
+    using filesystem3::operator<<;
+    using filesystem3::operator>>;
+  }
+}
+
+//----------------------------------------------------------------------------//
+
 #include <boost/config/abi_suffix.hpp> // pops abi_prefix.hpp pragmas
 
 #endif  // BOOST_FILESYSTEM_PATH_HPP
Modified: branches/filesystem3/boost/filesystem/v3/path_traits.hpp
==============================================================================
--- branches/filesystem3/boost/filesystem/v3/path_traits.hpp	(original)
+++ branches/filesystem3/boost/filesystem/v3/path_traits.hpp	2010-06-09 10:05:57 EDT (Wed, 09 Jun 2010)
@@ -10,7 +10,7 @@
 #ifndef BOOST_FILESYSTEM_PATH_TRAITS_HPP
 #define BOOST_FILESYSTEM_PATH_TRAITS_HPP
 
-#include <boost/filesystem/config.hpp>
+#include <boost/filesystem/v3/config.hpp>
 #include <string>
 #include <vector>
 #include <iterator>
@@ -20,7 +20,7 @@
 
 #include <boost/config/abi_prefix.hpp> // must be the last #include
 
-namespace boost { namespace filesystem {
+namespace boost { namespace filesystem3 {
 
   BOOST_FILESYSTEM_DECL const system::error_category& codecvt_error_category();
   //  uses std::codecvt_base::result used for error codes:
Added: branches/filesystem3/libs/filesystem/build/Jamfile.v2
==============================================================================
--- (empty file)
+++ branches/filesystem3/libs/filesystem/build/Jamfile.v2	2010-06-09 10:05:57 EDT (Wed, 09 Jun 2010)
@@ -0,0 +1,49 @@
+# Boost Filesystem Library Build Jamfile
+
+# (C) Copyright Beman Dawes 2002-2006
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or www.boost.org/LICENSE_1_0.txt)
+
+
+# See library home page at http://www.boost.org/libs/filesystem
+
+project boost/filesystem
+    : source-location ..
+    : usage-requirements # pass these requirement to dependents (i.e. users)
+      <link>shared:<define>BOOST_FILESYSTEM_DYN_LINK=1
+    ;
+    
+SOURCES2 =
+    v2/src/operations v2/src/path v2/src/portability v2/src/utf8_codecvt_facet ;
+
+SOURCES3 =
+    v3/src/operations v3/src/path v3/src/path_traits v3/src/portability v3/src/unique_path
+    v3/src/utf8_codecvt_facet v3/src/windows_file_codecvt v3/src/codecvt_error_category ;
+
+lib boost_filesystem2
+    : $(SOURCES).cpp ../../system/build//boost_system
+    : <link>shared:<define>BOOST_FILESYSTEM_DYN_LINK=1 # tell source we're building dll's
+    :
+    : # Boost.Filesystem uses some of Boost.System functions in inlined/templated
+      # functions, so clients that use Boost.Filesystem will have direct references 
+      # to Boost.System symbols. On Windows, Darwin, and some other platforms, this
+      # means those clients have to be directly linked to Boost.System. For static
+      # linking this happens anyway, but for shared we need to make it happen. Since
+      # doing so is harmless even when not needed, we do it for all platforms.
+      <link>shared:<library>../../system/build//boost_system
+    ;
+    
+#lib boost_filesystem
+#    : $(SOURCES).cpp ../../system/build//boost_system
+#    : <link>shared:<define>BOOST_FILESYSTEM_DYN_LINK=1 # tell source we're building dll's
+#    :
+#    : # Boost.Filesystem uses some of Boost.System functions in inlined/templated
+      # functions, so clients that use Boost.Filesystem will have direct references 
+      # to Boost.System symbols. On Windows, Darwin, and some other platforms, this
+      # means those clients have to be directly linked to Boost.System. For static
+      # linking this happens anyway, but for shared we need to make it happen. Since
+      # doing so is harmless even when not needed, we do it for all platforms.
+      <link>shared:<library>../../system/build//boost_system
+#    ;
+
+boost-install boost_filesystem2 ;
\ No newline at end of file
Modified: branches/filesystem3/libs/filesystem/v2/src/v2_operations.cpp
==============================================================================
--- branches/filesystem3/libs/filesystem/v2/src/v2_operations.cpp	(original)
+++ branches/filesystem3/libs/filesystem/v2/src/v2_operations.cpp	2010-06-09 10:05:57 EDT (Wed, 09 Jun 2010)
@@ -38,13 +38,13 @@
 #endif
 
 
-#include <boost/filesystem/operations.hpp>
+#include <boost/filesystem/v2/operations.hpp>
 #include <boost/scoped_array.hpp>
 #include <boost/throw_exception.hpp>
 #include <boost/detail/workaround.hpp>
 #include <cstdlib>  // for malloc, free
 
-namespace fs = boost::filesystem;
+namespace fs = boost::filesystem2;
 using boost::system::error_code;
 using boost::system::system_category;
 
@@ -217,7 +217,7 @@
   { return ::GetFileAttributesExA( ph, ::GetFileExInfoStandard, &fad ); }
 
   template< class String >
-  boost::filesystem::detail::query_pair
+  boost::filesystem2::detail::query_pair
   is_empty_template( const String & ph )
   {
     WIN32_FILE_ATTRIBUTE_DATA fad;
@@ -255,7 +255,7 @@
   };
 
   template< class String >
-  boost::filesystem::detail::query_pair
+  boost::filesystem2::detail::query_pair
   equivalent_template( const String & ph1, const String & ph2 )
   {
     // Note well: Physical location on external media is part of the
@@ -316,7 +316,7 @@
   }
 
   template< class String >
-  boost::filesystem::detail::uintmax_pair
+  boost::filesystem2::detail::uintmax_pair
   file_size_template( const String & ph )
   {
     WIN32_FILE_ATTRIBUTE_DATA fad;
@@ -336,11 +336,11 @@
     { return ::GetDiskFreeSpaceExA( ph.c_str(), avail, total, free ) != 0; }
 
   template< class String >
-  boost::filesystem::detail::space_pair
+  boost::filesystem2::detail::space_pair
   space_template( String & ph )
   {
     ULARGE_INTEGER avail, total, free;
-    boost::filesystem::detail::space_pair result;
+    boost::filesystem2::detail::space_pair result;
     if ( get_free_disk_space( ph, &avail, &total, &free ) )
     {
       result.first = ok;
@@ -483,7 +483,7 @@
   }
 
   template<class String>
-  boost::filesystem::detail::time_pair
+  boost::filesystem2::detail::time_pair
   last_write_time_template( const String & ph )
   {
     FILETIME lwt;
@@ -535,7 +535,7 @@
     {  return ::CreateDirectoryA( dir.c_str(), 0 ) != 0; }
          
   template<class String>
-  boost::filesystem::detail::query_pair
+  boost::filesystem2::detail::query_pair
   create_directory_template( const String & dir_ph )
   {
     error_code error, dummy;
@@ -588,7 +588,7 @@
 
 namespace boost
 {
-  namespace filesystem
+  namespace filesystem2
   {
     namespace detail
     {
@@ -1364,5 +1364,5 @@
 
 #   endif
     } // namespace detail
-  } // namespace filesystem
+  } // namespace filesystem2
 } // namespace boost
Modified: branches/filesystem3/libs/filesystem/v2/src/v2_path.cpp
==============================================================================
--- branches/filesystem3/libs/filesystem/v2/src/v2_path.cpp	(original)
+++ branches/filesystem3/libs/filesystem/v2/src/v2_path.cpp	2010-06-09 10:05:57 EDT (Wed, 09 Jun 2010)
@@ -13,11 +13,11 @@
 // the library is being built (possibly exporting rather than importing code)
 #define BOOST_FILESYSTEM_SOURCE 
 
-#include <boost/filesystem/config.hpp>
+#include <boost/filesystem/v2/config.hpp>
 
 #ifndef BOOST_FILESYSTEM_NARROW_ONLY
 
-#include <boost/filesystem/path.hpp>
+#include <boost/filesystem/v2/path.hpp>
 #include <boost/scoped_array.hpp>
 
 #include <locale>
@@ -68,7 +68,7 @@
 
 namespace boost
 {
-  namespace filesystem
+  namespace filesystem2
   {
     bool wpath_traits::imbue( const std::locale & new_loc, const std::nothrow_t & )
     {
@@ -167,7 +167,7 @@
     }
 # endif // BOOST_POSIX_API
 
-  } // namespace filesystem
+  } // namespace filesystem2
 } // namespace boost
 
 #endif // ifndef BOOST_FILESYSTEM_NARROW_ONLY
Modified: branches/filesystem3/libs/filesystem/v2/src/v2_portability.cpp
==============================================================================
--- branches/filesystem3/libs/filesystem/v2/src/v2_portability.cpp	(original)
+++ branches/filesystem3/libs/filesystem/v2/src/v2_portability.cpp	2010-06-09 10:05:57 EDT (Wed, 09 Jun 2010)
@@ -13,10 +13,10 @@
 // the library is being built (possibly exporting rather than importing code)
 #define BOOST_FILESYSTEM_SOURCE 
 
-#include <boost/filesystem/config.hpp>
-#include <boost/filesystem/path.hpp>
+#include <boost/filesystem/v2/config.hpp>
+#include <boost/filesystem/v2/path.hpp>
 
-namespace fs = boost::filesystem;
+namespace fs = boost::filesystem2;
 
 #include <cstring> // SGI MIPSpro compilers need this
 
@@ -43,7 +43,7 @@
 
 namespace boost
 {
-  namespace filesystem
+  namespace filesystem2
   {
 
     //  name_check functions  ----------------------------------------------//
@@ -111,5 +111,5 @@
         ;
     }
 
-  } // namespace filesystem
+  } // namespace filesystem2
 } // namespace boost
Modified: branches/filesystem3/libs/filesystem/v2/src/v2_utf8_codecvt_facet.cpp
==============================================================================
--- branches/filesystem3/libs/filesystem/v2/src/v2_utf8_codecvt_facet.cpp	(original)
+++ branches/filesystem3/libs/filesystem/v2/src/v2_utf8_codecvt_facet.cpp	2010-06-09 10:05:57 EDT (Wed, 09 Jun 2010)
@@ -4,17 +4,16 @@
 // or copy at http://www.boost.org/LICENSE_1_0.txt)
 
 #define BOOST_FILESYSTEM_SOURCE
-#include <boost/filesystem/config.hpp>
+#include <boost/filesystem/v2/config.hpp>
 
 #define BOOST_UTF8_BEGIN_NAMESPACE \
-     namespace boost { namespace filesystem { namespace detail {
+     namespace boost { namespace filesystem2 { namespace detail {
 
 #define BOOST_UTF8_END_NAMESPACE }}}
 #define BOOST_UTF8_DECL BOOST_FILESYSTEM_DECL
 
 #include "libs/detail/utf8_codecvt_facet.cpp"
 
-
-#undef BOOST_UTF8_BEGIN_NAMESPACE
+ #undef BOOST_UTF8_BEGIN_NAMESPACE
 #undef BOOST_UTF8_END_NAMESPACE
 #undef BOOST_UTF8_DECL
Modified: branches/filesystem3/libs/filesystem/v2/src/v2_utf8_codecvt_facet.hpp
==============================================================================
--- branches/filesystem3/libs/filesystem/v2/src/v2_utf8_codecvt_facet.hpp	(original)
+++ branches/filesystem3/libs/filesystem/v2/src/v2_utf8_codecvt_facet.hpp	2010-06-09 10:05:57 EDT (Wed, 09 Jun 2010)
@@ -7,10 +7,10 @@
 #ifndef BOOST_FILESYSTEM_UTF8_CODECVT_FACET_HPP
 #define BOOST_FILESYSTEM_UTF8_CODECVT_FACET_HPP
 
-#include <boost/filesystem/config.hpp>
+#include <boost/filesystem/v2/config.hpp>
 
 #define BOOST_UTF8_BEGIN_NAMESPACE \
-     namespace boost { namespace filesystem { namespace detail {
+     namespace boost { namespace filesystem2 { namespace detail {
 
 #define BOOST_UTF8_END_NAMESPACE }}}
 #define BOOST_UTF8_DECL BOOST_FILESYSTEM_DECL
Modified: branches/filesystem3/libs/filesystem/v3/src/codecvt_error_category.cpp
==============================================================================
--- branches/filesystem3/libs/filesystem/v3/src/codecvt_error_category.cpp	(original)
+++ branches/filesystem3/libs/filesystem/v3/src/codecvt_error_category.cpp	2010-06-09 10:05:57 EDT (Wed, 09 Jun 2010)
@@ -15,8 +15,8 @@
 // the library is being built (possibly exporting rather than importing code)
 #define BOOST_FILESYSTEM_SOURCE 
 
-#include <boost/filesystem/config.hpp>
-#include <boost/filesystem/path_traits.hpp>
+#include <boost/filesystem/v3/config.hpp>
+#include <boost/filesystem/v3/path_traits.hpp>
 #include <boost/system/error_code.hpp>
 #include <locale>
 #include <vector>
@@ -67,7 +67,7 @@
 
 namespace boost
 {
-  namespace filesystem
+  namespace filesystem3
   {
 
     BOOST_FILESYSTEM_DECL const boost::system::error_category& codecvt_error_category()
@@ -76,5 +76,5 @@
       return codecvt_error_cat_const;
     }
 
-  } // namespace system
+  } // namespace filesystem3
 } // namespace boost
Deleted: branches/filesystem3/libs/filesystem/v3/src/error_code.cpp
==============================================================================
--- branches/filesystem3/libs/filesystem/v3/src/error_code.cpp	2010-06-09 10:05:57 EDT (Wed, 09 Jun 2010)
+++ (empty file)
@@ -1,421 +0,0 @@
-//  error_code support implementation file  ----------------------------------//
-
-//  Copyright Beman Dawes 2002, 2006
-
-//  Distributed under the Boost Software License, Version 1.0. (See accompanying
-//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-//  See library home page at http://www.boost.org/libs/system
-
-//----------------------------------------------------------------------------//
-
-#include <boost/config/warning_disable.hpp>
-
-// define BOOST_SYSTEM_SOURCE so that <boost/system/config.hpp> knows
-// the library is being built (possibly exporting rather than importing code)
-#define BOOST_SYSTEM_SOURCE 
-
-#include <boost/system/config.hpp>
-#include <boost/system/error_code.hpp>
-#include <boost/cerrno.hpp>
-#include <vector>
-#include <cstdlib>
-#include <cassert>
-
-using namespace boost::system;
-using namespace boost::system::posix_error;
-
-#include <cstring> // for strerror/strerror_r
-
-# if defined( BOOST_WINDOWS_API )
-#   include <windows.h>
-#   ifndef ERROR_INCORRECT_SIZE
-#    define ERROR_INCORRECT_SIZE ERROR_BAD_ARGUMENTS
-#   endif
-# endif
-
-//----------------------------------------------------------------------------//
-
-namespace
-{
-  
-  //  standard error categories  ---------------------------------------------//
-
-  class generic_error_category : public error_category
-  {
-  public:
-    generic_error_category(){}
-    const char *   name() const;
-    std::string    message( int ev ) const;
-  };
-
-  class system_error_category : public error_category
-  {
-  public:
-    system_error_category(){}
-    const char *        name() const;
-    std::string         message( int ev ) const;
-    error_condition     default_error_condition( int ev ) const;
-  };
-
-  //  generic_error_category implementation  ---------------------------------//
-
-  const char * generic_error_category::name() const
-  {
-    return "GENERIC";
-  }
-
-  std::string generic_error_category::message( int ev ) const
-  {
-  // strerror_r is preferred because it is always thread safe,
-  // however, we fallback to strerror in certain cases because:
-  //   -- Windows doesn't provide strerror_r.
-  //   -- HP and Sundo provide strerror_r on newer systems, but there is
-  //      no way to tell if is available at runtime and in any case their
-  //      versions of strerror are thread safe anyhow.
-  //   -- Linux only sometimes provides strerror_r.
-  //   -- Tru64 provides strerror_r only when compiled -pthread.
-  //   -- VMS doesn't provide strerror_r, but on this platform, strerror is
-  //      thread safe.
-  # if defined(BOOST_WINDOWS_API) || defined(__hpux) || defined(__sun)\
-     || (defined(__linux) && (!defined(__USE_XOPEN2K) || defined(BOOST_SYSTEM_USE_STRERROR)))\
-     || (defined(__osf__) && !defined(_REENTRANT))\
-     || (defined(__vms))
-      const char * c_str = std::strerror( ev );
-      return std::string( c_str ? c_str : "Unknown error" );
-  # else
-      char buf[64];
-      char * bp = buf;
-      std::size_t sz = sizeof(buf);
-  #  if defined(__CYGWIN__) || defined(__USE_GNU)
-      // Oddball version of strerror_r
-      const char * c_str = strerror_r( ev, bp, sz );
-      return std::string( c_str ? c_str : "Unknown error" );
-  #  else
-      // POSIX version of strerror_r
-      int result;
-      for (;;)
-      {
-        // strerror_r returns 0 on success, otherwise ERANGE if buffer too small,
-        // invalid_argument if ev not a valid error number
-  #  if defined (__sgi)
-        const char * c_str = strerror( ev );
-        result = 0;
-        return std::string( c_str ? c_str : "Unknown error" );
-  #  else
-        result = strerror_r( ev, bp, sz );
-  #  endif
-        if (result == 0 )
-          break;
-        else
-        {
-  #  if defined(__linux)
-          // Linux strerror_r returns -1 on error, with error number in errno
-          result = errno;
-  #  endif
-          if ( result !=  ERANGE ) break;
-        if ( sz > sizeof(buf) ) std::free( bp );
-        sz *= 2;
-        if ( (bp = static_cast<char*>(std::malloc( sz ))) == 0 )
-          return std::string( "ENOMEM" );
-        }
-      }
-      try
-      {
-      std::string msg( ( result == invalid_argument ) ? "Unknown error" : bp );
-      if ( sz > sizeof(buf) ) std::free( bp );
-        sz = 0;
-      return msg;
-      }
-      catch(...)
-      {
-        if ( sz > sizeof(buf) ) std::free( bp );
-        throw;
-      }
-  #  endif
-  # endif
-  }
-  //  system_error_category implementation  --------------------------------// 
-
-  const char * system_error_category::name() const
-  {
-    return "system";
-  }
-
-  error_condition system_error_category::default_error_condition( int ev ) const
-  {
-    switch ( ev )
-    {
-    case 0: return make_error_condition( success );
-  # if defined(BOOST_POSIX_API)
-    // POSIX-like O/S -> posix_errno decode table  ---------------------------//
-    case E2BIG: return make_error_condition( argument_list_too_long );
-    case EACCES: return make_error_condition( permission_denied );
-    case EADDRINUSE: return make_error_condition( address_in_use );
-    case EADDRNOTAVAIL: return make_error_condition( address_not_available );
-    case EAFNOSUPPORT: return make_error_condition( address_family_not_supported );
-    case EAGAIN: return make_error_condition( resource_unavailable_try_again );
-    case EALREADY: return make_error_condition( connection_already_in_progress );
-    case EBADF: return make_error_condition( bad_file_descriptor );
-    case EBADMSG: return make_error_condition( bad_message );
-    case EBUSY: return make_error_condition( device_or_resource_busy );
-    case ECANCELED: return make_error_condition( operation_canceled );
-    case ECHILD: return make_error_condition( no_child_process );
-    case ECONNABORTED: return make_error_condition( connection_aborted );
-    case ECONNREFUSED: return make_error_condition( connection_refused );
-    case ECONNRESET: return make_error_condition( connection_reset );
-    case EDEADLK: return make_error_condition( resource_deadlock_would_occur );
-    case EDESTADDRREQ: return make_error_condition( destination_address_required );
-    case EDOM: return make_error_condition( argument_out_of_domain );
-    case EEXIST: return make_error_condition( file_exists );
-    case EFAULT: return make_error_condition( bad_address );
-    case EFBIG: return make_error_condition( file_too_large );
-    case EHOSTUNREACH: return make_error_condition( host_unreachable );
-    case EIDRM: return make_error_condition( identifier_removed );
-    case EILSEQ: return make_error_condition( illegal_byte_sequence );
-    case EINPROGRESS: return make_error_condition( operation_in_progress );
-    case EINTR: return make_error_condition( interrupted );
-    case EINVAL: return make_error_condition( invalid_argument );
-    case EIO: return make_error_condition( io_error );
-    case EISCONN: return make_error_condition( already_connected );
-    case EISDIR: return make_error_condition( is_a_directory );
-    case ELOOP: return make_error_condition( too_many_synbolic_link_levels );
-    case EMFILE: return make_error_condition( too_many_files_open );
-    case EMLINK: return make_error_condition( too_many_links );
-    case EMSGSIZE: return make_error_condition( message_size );
-    case ENAMETOOLONG: return make_error_condition( filename_too_long );
-    case ENETDOWN: return make_error_condition( network_down );
-    case ENETRESET: return make_error_condition( network_reset );
-    case ENETUNREACH: return make_error_condition( network_unreachable );
-    case ENFILE: return make_error_condition( too_many_files_open_in_system );
-    case ENOBUFS: return make_error_condition( no_buffer_space );
-    case ENODATA: return make_error_condition( no_message_available );
-    case ENODEV: return make_error_condition( no_such_device );
-    case ENOENT: return make_error_condition( no_such_file_or_directory );
-    case ENOEXEC: return make_error_condition( executable_format_error );
-    case ENOLCK: return make_error_condition( no_lock_available );
-    case ENOLINK: return make_error_condition( no_link );
-    case ENOMEM: return make_error_condition( not_enough_memory );
-    case ENOMSG: return make_error_condition( no_message );
-    case ENOPROTOOPT: return make_error_condition( no_protocol_option );
-    case ENOSPC: return make_error_condition( no_space_on_device );
-    case ENOSR: return make_error_condition( no_stream_resources );
-    case ENOSTR: return make_error_condition( not_a_stream );
-    case ENOSYS: return make_error_condition( function_not_supported );
-    case ENOTCONN: return make_error_condition( not_connected );
-    case ENOTDIR: return make_error_condition( not_a_directory );
-  # if ENOTEMPTY != EEXIST // AIX treats ENOTEMPTY and EEXIST as the same value
-    case ENOTEMPTY: return make_error_condition( directory_not_empty );
-  # endif // ENOTEMPTY != EEXIST
-    case ENOTRECOVERABLE: return make_error_condition( state_not_recoverable );
-    case ENOTSOCK: return make_error_condition( not_a_socket );
-    case ENOTSUP: return make_error_condition( not_supported );
-    case ENOTTY: return make_error_condition( inappropriate_io_control_operation );
-    case ENXIO: return make_error_condition( no_such_device_or_address );
-  # if EOPNOTSUPP != ENOTSUP
-    case EOPNOTSUPP: return make_error_condition( operation_not_supported );
-  # endif // EOPNOTSUPP != ENOTSUP
-    case EOVERFLOW: return make_error_condition( value_too_large );
-    case EOWNERDEAD: return make_error_condition( owner_dead );
-    case EPERM: return make_error_condition( operation_not_permitted );
-    case EPIPE: return make_error_condition( broken_pipe );
-    case EPROTO: return make_error_condition( protocol_error );
-    case EPROTONOSUPPORT: return make_error_condition( protocol_not_supported );
-    case EPROTOTYPE: return make_error_condition( wrong_protocol_type );
-    case ERANGE: return make_error_condition( result_out_of_range );
-    case EROFS: return make_error_condition( read_only_file_system );
-    case ESPIPE: return make_error_condition( invalid_seek );
-    case ESRCH: return make_error_condition( no_such_process );
-    case ETIME: return make_error_condition( stream_timeout );
-    case ETIMEDOUT: return make_error_condition( timed_out );
-    case ETXTBSY: return make_error_condition( text_file_busy );
-  # if EAGAIN != EWOULDBLOCK
-    case EWOULDBLOCK: return make_error_condition( operation_would_block );
-  # endif // EAGAIN != EWOULDBLOCK
-    case EXDEV: return make_error_condition( cross_device_link );
-  #else
-    // Windows system -> posix_errno decode table  ---------------------------//
-    // see WinError.h comments for descriptions of errors
-    case ERROR_ACCESS_DENIED: return make_error_condition( permission_denied );
-    case ERROR_ALREADY_EXISTS: return make_error_condition( file_exists );
-    case ERROR_BAD_UNIT: return make_error_condition( no_such_device );
-    case ERROR_BUFFER_OVERFLOW: return make_error_condition( filename_too_long );
-    case ERROR_BUSY: return make_error_condition( device_or_resource_busy );
-    case ERROR_BUSY_DRIVE: return make_error_condition( device_or_resource_busy );
-    case ERROR_CANNOT_MAKE: return make_error_condition( permission_denied );
-    case ERROR_CANTOPEN: return make_error_condition( io_error );
-    case ERROR_CANTREAD: return make_error_condition( io_error );
-    case ERROR_CANTWRITE: return make_error_condition( io_error );
-    case ERROR_CURRENT_DIRECTORY: return make_error_condition( permission_denied );
-    case ERROR_DEV_NOT_EXIST: return make_error_condition( no_such_device );
-    case ERROR_DEVICE_IN_USE: return make_error_condition( device_or_resource_busy );
-    case ERROR_DIR_NOT_EMPTY: return make_error_condition( directory_not_empty );
-    case ERROR_DIRECTORY: return make_error_condition( invalid_argument ); // WinError.h: "The directory name is invalid"
-    case ERROR_DISK_FULL: return make_error_condition( no_space_on_device );
-    case ERROR_FILE_EXISTS: return make_error_condition( file_exists );
-    case ERROR_FILE_NOT_FOUND: return make_error_condition( no_such_file_or_directory );
-    case ERROR_HANDLE_DISK_FULL: return make_error_condition( no_space_on_device );
-    case ERROR_INVALID_ACCESS: return make_error_condition( permission_denied );
-    case ERROR_INVALID_DRIVE: return make_error_condition( no_such_device );
-    case ERROR_INVALID_FUNCTION: return make_error_condition( function_not_supported );
-    case ERROR_INVALID_HANDLE: return make_error_condition( invalid_argument );
-    case ERROR_INVALID_NAME: return make_error_condition( invalid_argument );
-    case ERROR_LOCK_VIOLATION: return make_error_condition( no_lock_available );
-    case ERROR_LOCKED: return make_error_condition( no_lock_available );
-    case ERROR_NEGATIVE_SEEK: return make_error_condition( invalid_argument );
-    case ERROR_NOACCESS: return make_error_condition( permission_denied );
-    case ERROR_NOT_ENOUGH_MEMORY: return make_error_condition( not_enough_memory );
-    case ERROR_NOT_READY: return make_error_condition( resource_unavailable_try_again );
-    case ERROR_NOT_SAME_DEVICE: return make_error_condition( cross_device_link );
-    case ERROR_OPEN_FAILED: return make_error_condition( io_error );
-    case ERROR_OPEN_FILES: return make_error_condition( device_or_resource_busy );
-    case ERROR_OPERATION_ABORTED: return make_error_condition( operation_canceled );
-    case ERROR_OUTOFMEMORY: return make_error_condition( not_enough_memory );
-    case ERROR_PATH_NOT_FOUND: return make_error_condition( no_such_file_or_directory );
-    case ERROR_READ_FAULT: return make_error_condition( io_error );
-    case ERROR_RETRY: return make_error_condition( resource_unavailable_try_again );
-    case ERROR_SEEK: return make_error_condition( io_error );
-    case ERROR_SHARING_VIOLATION: return make_error_condition( permission_denied );
-    case ERROR_TOO_MANY_OPEN_FILES: return make_error_condition( too_many_files_open );
-    case ERROR_WRITE_FAULT: return make_error_condition( io_error );
-    case ERROR_WRITE_PROTECT: return make_error_condition( permission_denied );
-    case WSAEACCES: return make_error_condition( permission_denied );
-    case WSAEADDRINUSE: return make_error_condition( address_in_use );
-    case WSAEADDRNOTAVAIL: return make_error_condition( address_not_available );
-    case WSAEAFNOSUPPORT: return make_error_condition( address_family_not_supported );
-    case WSAEALREADY: return make_error_condition( connection_already_in_progress );
-    case WSAEBADF: return make_error_condition( bad_file_descriptor );
-    case WSAECONNABORTED: return make_error_condition( connection_aborted );
-    case WSAECONNREFUSED: return make_error_condition( connection_refused );
-    case WSAECONNRESET: return make_error_condition( connection_reset );
-    case WSAEDESTADDRREQ: return make_error_condition( destination_address_required );
-    case WSAEFAULT: return make_error_condition( bad_address );
-    case WSAEHOSTUNREACH: return make_error_condition( host_unreachable );
-    case WSAEINPROGRESS: return make_error_condition( operation_in_progress );
-    case WSAEINTR: return make_error_condition( interrupted );
-    case WSAEINVAL: return make_error_condition( invalid_argument );
-    case WSAEISCONN: return make_error_condition( already_connected );
-    case WSAEMFILE: return make_error_condition( too_many_files_open );
-    case WSAEMSGSIZE: return make_error_condition( message_size );
-    case WSAENAMETOOLONG: return make_error_condition( filename_too_long );
-    case WSAENETDOWN: return make_error_condition( network_down );
-    case WSAENETRESET: return make_error_condition( network_reset );
-    case WSAENETUNREACH: return make_error_condition( network_unreachable );
-    case WSAENOBUFS: return make_error_condition( no_buffer_space );
-    case WSAENOPROTOOPT: return make_error_condition( no_protocol_option );
-    case WSAENOTCONN: return make_error_condition( not_connected );
-    case WSAENOTSOCK: return make_error_condition( not_a_socket );
-    case WSAEOPNOTSUPP: return make_error_condition( operation_not_supported );
-    case WSAEPROTONOSUPPORT: return make_error_condition( protocol_not_supported );
-    case WSAEPROTOTYPE: return make_error_condition( wrong_protocol_type );
-    case WSAETIMEDOUT: return make_error_condition( timed_out );
-    case WSAEWOULDBLOCK: return make_error_condition( operation_would_block );
-  #endif
-    default: return error_condition( ev, system_category );
-    }
-  }
-
-# if !defined( BOOST_WINDOWS_API )
-
-  std::string system_error_category::message( int ev ) const
-  {
-    return generic_category.message( ev );
-  }
-# else
-// TODO:
-  
-//Some quick notes on the implementation (sorry for the noise if
-//someone has already mentioned them):
-//
-//- The ::LocalFree() usage isn't exception safe.
-//
-//See:
-//
-//<http://boost.cvs.sourceforge.net/boost/boost/boost/asio/system_exception.hpp?revision=1.1&view=markup>
-//
-//in the implementation of what() for an example.
-//
-//Cheers,
-//Chris
-  std::string system_error_category::message( int ev ) const
-  {
-# ifndef BOOST_NO_ANSI_APIS  
-    LPVOID lpMsgBuf;
-    DWORD retval = ::FormatMessageA( 
-        FORMAT_MESSAGE_ALLOCATE_BUFFER | 
-        FORMAT_MESSAGE_FROM_SYSTEM | 
-        FORMAT_MESSAGE_IGNORE_INSERTS,
-        NULL,
-        ev,
-        MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
-        (LPSTR) &lpMsgBuf,
-        0,
-        NULL 
-    );
-    if (retval == 0)
-        return std::string("Unknown error");
-        
-    std::string str( static_cast<LPCSTR>(lpMsgBuf) );
-    ::LocalFree( lpMsgBuf ); // free the buffer
-# else  // WinCE workaround
-    LPVOID lpMsgBuf;
-    DWORD retval = ::FormatMessageW( 
-        FORMAT_MESSAGE_ALLOCATE_BUFFER | 
-        FORMAT_MESSAGE_FROM_SYSTEM | 
-        FORMAT_MESSAGE_IGNORE_INSERTS,
-        NULL,
-        ev,
-        MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
-        (LPWSTR) &lpMsgBuf,
-        0,
-        NULL 
-    );
-    if (retval == 0)
-        return std::string("Unknown error");
-    
-    int num_chars = (wcslen( static_cast<LPCWSTR>(lpMsgBuf) ) + 1) * 2;
-    LPSTR narrow_buffer = (LPSTR)_alloca( num_chars );
-    if (::WideCharToMultiByte(CP_ACP, 0, static_cast<LPCWSTR>(lpMsgBuf), -1, narrow_buffer, num_chars, NULL, NULL) == 0)
-        return std::string("Unknown error");
-
-    std::string str( narrow_buffer );
-    ::LocalFree( lpMsgBuf ); // free the buffer
-# endif
-    while ( str.size()
-      && (str[str.size()-1] == '\n' || str[str.size()-1] == '\r') )
-        str.erase( str.size()-1 );
-    if ( str.size() && str[str.size()-1] == '.' ) 
-      { str.erase( str.size()-1 ); }
-    return str;
-  }
-# endif
-
-} // unnamed namespace
-
-namespace boost
-{
-  namespace system
-  {
-
-  
-
-    BOOST_SYSTEM_DECL error_code throws; // "throw on error" special error_code;
-                                         //  note that it doesn't matter if this
-                                         //  isn't initialized before use since
-                                         //  the only use is to take its
-                                         //  address for comparison purposes
-
-    BOOST_SYSTEM_DECL const error_category & get_system_category()
-    {
-      static const system_error_category  system_category_const;
-      return system_category_const;
-    }
-
-    BOOST_SYSTEM_DECL const error_category & get_generic_category()
-    {
-      static const generic_error_category generic_category_const;
-      return generic_category_const;
-    }
-
-  } // namespace system
-} // namespace boost
Modified: branches/filesystem3/libs/filesystem/v3/src/operations.cpp
==============================================================================
--- branches/filesystem3/libs/filesystem/v3/src/operations.cpp	(original)
+++ branches/filesystem3/libs/filesystem/v3/src/operations.cpp	2010-06-09 10:05:57 EDT (Wed, 09 Jun 2010)
@@ -31,7 +31,7 @@
       // That is required at least on Solaris, and possibly on other
       // systems as well.
 
-#include <boost/filesystem/operations.hpp>
+#include <boost/filesystem/v3/operations.hpp>
 #include <boost/scoped_array.hpp>
 #include <boost/detail/workaround.hpp>
 #include <cstdlib>  // for malloc, free
@@ -40,9 +40,9 @@
 # include <iostream>
 #endif
 
-namespace fs = boost::filesystem;
-using boost::filesystem::path;
-using boost::filesystem::filesystem_error;
+namespace fs = boost::filesystem3;
+using boost::filesystem3::path;
+using boost::filesystem3::filesystem_error;
 using boost::system::error_code;
 using boost::system::error_category;
 using boost::system::system_category;
@@ -220,7 +220,7 @@
   const wchar_t dot = L'.';
 # endif
 
-  boost::filesystem::directory_iterator end_dir_itr;
+  boost::filesystem3::directory_iterator end_dir_itr;
 
   const std::size_t buf_size(128);
   const error_code ok;
@@ -571,7 +571,7 @@
 
 namespace boost
 {
-namespace filesystem
+namespace filesystem3
 {
 namespace detail
 {
@@ -650,13 +650,13 @@
     if (error(!create_symbolic_link_api,
         error_code(BOOST_ERROR_NOT_SUPPORTED, system_category()),
         to, from, ec,
-        "boost::filesystem::copy_symlink"))
+        "boost::filesystem3::copy_symlink"))
       return;
 
           // preconditions met, so attempt the copy
           error(!::CopyFileExW(from.c_str(), to.c_str(), 0, 0, 0,
                   COPY_FILE_COPY_SYMLINK | COPY_FILE_FAIL_IF_EXISTS), to, from, ec,
-		  "boost::filesystem::copy_symlink");
+		  "boost::filesystem3::copy_symlink");
 #   endif
 
   }
@@ -1473,7 +1473,7 @@
   }
 
 }  // namespace path_traits
-} // namespace filesystem
+} // namespace filesystem3
 } // namespace boost
 
 //--------------------------------------------------------------------------------------//
@@ -1652,7 +1652,7 @@
 
 namespace boost
 {
-namespace filesystem
+namespace filesystem3
 {
 
 namespace detail
@@ -1765,5 +1765,5 @@
     }
   }
 }  // namespace detail
-} // namespace filesystem
+} // namespace filesystem3
 } // namespace boost
Modified: branches/filesystem3/libs/filesystem/v3/src/path.cpp
==============================================================================
--- branches/filesystem3/libs/filesystem/v3/src/path.cpp	(original)
+++ branches/filesystem3/libs/filesystem/v3/src/path.cpp	2010-06-09 10:05:57 EDT (Wed, 09 Jun 2010)
@@ -11,8 +11,8 @@
 // the library is being built (possibly exporting rather than importing code)
 #define BOOST_FILESYSTEM_SOURCE 
 
-#include <boost/filesystem/config.hpp>
-#include <boost/filesystem/path.hpp>
+#include <boost/filesystem/v3/config.hpp>
+#include <boost/filesystem/v3/path.hpp>
 #include <boost/scoped_array.hpp>
 #include <boost/system/error_code.hpp>
 #include <boost/assert.hpp>
@@ -32,9 +32,9 @@
 # include <iomanip>
 #endif
 
-namespace fs = boost::filesystem;
+namespace fs = boost::filesystem3;
 
-using fs::path;
+using boost::filesystem3::path;
 
 using std::string;
 using std::wstring;
@@ -129,7 +129,7 @@
 
 namespace boost
 {
-namespace filesystem
+namespace filesystem3
 {
 
   path & path::operator/=(const path & p)
@@ -467,7 +467,7 @@
     return *this;
   }
 
-}  // namespace filesystem
+}  // namespace filesystem3
 }  // namespace boost
   
 //--------------------------------------------------------------------------------------//
@@ -639,7 +639,7 @@
 
 namespace boost
 {
-namespace filesystem
+namespace filesystem3
 {
 
   path::iterator path::begin() const
@@ -753,7 +753,7 @@
       it.m_element.m_pathname = separator_string;  // needed for Windows, harmless on POSIX
   }
 
-}  // namespace filesystem
+}  // namespace filesystem3
 }  // namespace boost
 
 //--------------------------------------------------------------------------------------//
@@ -822,7 +822,7 @@
 
 namespace boost
 {
-namespace filesystem
+namespace filesystem3
 {
 
   const path::codecvt_type *&
@@ -844,5 +844,5 @@
     return temp;
   }
 
-}  // namespace filesystem
+}  // namespace filesystem3
 }  // namespace boost
Modified: branches/filesystem3/libs/filesystem/v3/src/path_traits.cpp
==============================================================================
--- branches/filesystem3/libs/filesystem/v3/src/path_traits.cpp	(original)
+++ branches/filesystem3/libs/filesystem/v3/src/path_traits.cpp	2010-06-09 10:05:57 EDT (Wed, 09 Jun 2010)
@@ -11,16 +11,16 @@
 // the library is being built (possibly exporting rather than importing code)
 #define BOOST_FILESYSTEM_SOURCE 
 
-#include <boost/filesystem/path_traits.hpp>
-#include <boost/filesystem/config.hpp>
+#include <boost/filesystem/v3/config.hpp>
+#include <boost/filesystem/v3/path_traits.hpp>
 #include <boost/system/system_error.hpp>
 #include <boost/scoped_array.hpp>
 #include <locale>   // for codecvt_base::result
 #include <cstring>  // for strlen
 #include <cwchar>   // for wcslen
 
-namespace pt = boost::filesystem::path_traits;
-namespace fs = boost::filesystem;
+namespace pt = boost::filesystem3::path_traits;
+namespace fs = boost::filesystem3;
 namespace bs = boost::system;
 
 //--------------------------------------------------------------------------------------//
@@ -117,7 +117,7 @@
 //                                   path_traits                                        //
 //--------------------------------------------------------------------------------------//
 
-namespace boost { namespace filesystem { namespace path_traits {
+namespace boost { namespace filesystem3 { namespace path_traits {
 
 //--------------------------------------------------------------------------------------//
 //                          convert const char* to wstring                             //
@@ -191,4 +191,4 @@
       convert_aux(from, from_end, buf, buf+default_codecvt_buf_size, to, cvt);
     }
   }
-}}} // namespace boost::filesystem::path_traits
+}}} // namespace boost::filesystem3::path_traits
Modified: branches/filesystem3/libs/filesystem/v3/src/portability.cpp
==============================================================================
--- branches/filesystem3/libs/filesystem/v3/src/portability.cpp	(original)
+++ branches/filesystem3/libs/filesystem/v3/src/portability.cpp	2010-06-09 10:05:57 EDT (Wed, 09 Jun 2010)
@@ -13,10 +13,10 @@
 // the library is being built (possibly exporting rather than importing code)
 #define BOOST_FILESYSTEM_SOURCE 
 
-#include <boost/filesystem/config.hpp>
-#include <boost/filesystem/path.hpp>
+#include <boost/filesystem/v3/config.hpp>
+#include <boost/filesystem/v3/path.hpp>
 
-namespace fs = boost::filesystem;
+namespace fs = boost::filesystem3;
 
 #include <cstring> // SGI MIPSpro compilers need this
 
@@ -43,7 +43,7 @@
 
 namespace boost
 {
-  namespace filesystem
+  namespace filesystem3
   {
 
     //  name_check functions  ----------------------------------------------//
@@ -111,5 +111,5 @@
         ;
     }
 
-  } // namespace filesystem
+  } // namespace filesystem3
 } // namespace boost
Modified: branches/filesystem3/libs/filesystem/v3/src/unique_path.cpp
==============================================================================
--- branches/filesystem3/libs/filesystem/v3/src/unique_path.cpp	(original)
+++ branches/filesystem3/libs/filesystem/v3/src/unique_path.cpp	2010-06-09 10:05:57 EDT (Wed, 09 Jun 2010)
@@ -13,7 +13,7 @@
 // the library is being built (possibly exporting rather than importing code)
 #define BOOST_FILESYSTEM_SOURCE 
 
-#include <boost/filesystem/operations.hpp>
+#include <boost/filesystem/v3/operations.hpp>
 
 # ifdef BOOST_POSIX_API
 #   include <fcntl.h>
@@ -101,7 +101,7 @@
 
 }  // unnamed namespace
 
-namespace boost { namespace filesystem { namespace detail {
+namespace boost { namespace filesystem3 { namespace detail {
 
 BOOST_FILESYSTEM_DECL
 path unique_path(const path& model, system::error_code* ec)
Modified: branches/filesystem3/libs/filesystem/v3/src/utf8_codecvt_facet.cpp
==============================================================================
--- branches/filesystem3/libs/filesystem/v3/src/utf8_codecvt_facet.cpp	(original)
+++ branches/filesystem3/libs/filesystem/v3/src/utf8_codecvt_facet.cpp	2010-06-09 10:05:57 EDT (Wed, 09 Jun 2010)
@@ -4,17 +4,16 @@
 // or copy at http://www.boost.org/LICENSE_1_0.txt)
 
 #define BOOST_FILESYSTEM_SOURCE
-#include <boost/filesystem/config.hpp>
+#include <boost/filesystem/v3/config.hpp>
 
 #define BOOST_UTF8_BEGIN_NAMESPACE \
-     namespace boost { namespace filesystem { namespace detail {
+     namespace boost { namespace filesystem3 { namespace detail {
 
 #define BOOST_UTF8_END_NAMESPACE }}}
 #define BOOST_UTF8_DECL BOOST_FILESYSTEM_DECL
 
 #include "libs/detail/utf8_codecvt_facet.cpp"
 
-
 #undef BOOST_UTF8_BEGIN_NAMESPACE
 #undef BOOST_UTF8_END_NAMESPACE
 #undef BOOST_UTF8_DECL
Modified: branches/filesystem3/libs/filesystem/v3/src/windows_file_codecvt.cpp
==============================================================================
--- branches/filesystem3/libs/filesystem/v3/src/windows_file_codecvt.cpp	(original)
+++ branches/filesystem3/libs/filesystem/v3/src/windows_file_codecvt.cpp	2010-06-09 10:05:57 EDT (Wed, 09 Jun 2010)
@@ -11,7 +11,7 @@
 // the library is being built (possibly exporting rather than importing code)
 #define BOOST_FILESYSTEM_SOURCE 
 
-#include <boost/filesystem/config.hpp>
+#include <boost/filesystem/v3/config.hpp>
 
 #ifdef BOOST_WINDOWS_API
 
Modified: branches/filesystem3/libs/filesystem/v3/src/windows_file_codecvt.hpp
==============================================================================
--- branches/filesystem3/libs/filesystem/v3/src/windows_file_codecvt.hpp	(original)
+++ branches/filesystem3/libs/filesystem/v3/src/windows_file_codecvt.hpp	2010-06-09 10:05:57 EDT (Wed, 09 Jun 2010)
@@ -7,9 +7,10 @@
 
 //  Library home page: http://www.boost.org/libs/filesystem
 
-#ifndef BOOST_FILESYSTEM_WIN_FILE_CODECVT_HPP
-#define BOOST_FILESYSTEM_WIN_FILE_CODECVT_HPP
+#ifndef BOOST_FILESYSTEM3_WIN_FILE_CODECVT_HPP
+#define BOOST_FILESYSTEM3_WIN_FILE_CODECVT_HPP
 
+#include <boost/filesystem/v3/config.hpp>
 #include <locale>  
 
   //------------------------------------------------------------------------------------//
@@ -52,4 +53,4 @@
     virtual int do_max_length() const throw () { return 0; }
   };
 
-#endif  // BOOST_FILESYSTEM_WIN_FILE_CODECVT_HPP
+#endif  // BOOST_FILESYSTEM3_WIN_FILE_CODECVT_HPP