mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-22 05:16:21 +00:00
no longer needed according to abdel
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29994 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
6316d8128b
commit
61fda2f357
@ -1,23 +0,0 @@
|
||||
// Boost Filesystem cerrno.hpp header --------------------------------------//
|
||||
|
||||
// Copyright Beman Dawes 2005.
|
||||
// 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)
|
||||
|
||||
// See library home page at http://www.boost.org/libs/filesystem
|
||||
|
||||
#ifndef BOOST_FILESYSTEM_CERRNO_HPP
|
||||
#define BOOST_FILESYSTEM_CERRNO_HPP
|
||||
|
||||
#include <cerrno>
|
||||
|
||||
#if defined __BORLANDC__
|
||||
#define ENOSYS 9997
|
||||
#endif
|
||||
|
||||
#define EBADHANDLE 9998 // bad handle
|
||||
#define EOTHER 9999 // Other error not translatable
|
||||
// to a POSIX errno value
|
||||
|
||||
#endif // include guard
|
@ -1,113 +0,0 @@
|
||||
// boost/filesystem/config.hpp ---------------------------------------------//
|
||||
|
||||
// Copyright Beman Dawes 2003
|
||||
|
||||
// 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/filesystem
|
||||
|
||||
//----------------------------------------------------------------------------//
|
||||
|
||||
#ifndef BOOST_FILESYSTEM_CONFIG_HPP
|
||||
#define BOOST_FILESYSTEM_CONFIG_HPP
|
||||
|
||||
#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
|
||||
#endif
|
||||
|
||||
// This header implements separate compilation features as described in
|
||||
// http://www.boost.org/more/separate_compilation.html
|
||||
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/detail/workaround.hpp>
|
||||
|
||||
// determine platform ------------------------------------------------------//
|
||||
|
||||
// BOOST_CYGWIN_PATH implies BOOST_WINDOWS_PATH and BOOST_POSIX_API
|
||||
|
||||
# if defined(BOOST_CYGWIN_PATH)
|
||||
# if defined(BOOST_POSIX_PATH)
|
||||
# error BOOST_POSIX_PATH is invalid when BOOST_CYGWIN_PATH is defined
|
||||
# endif
|
||||
# if defined(BOOST_WINDOWS_API)
|
||||
# error BOOST_WINDOWS_API is invalid when BOOST_CYGWIN_PATH is defined
|
||||
# endif
|
||||
# define BOOST_WINDOWS_PATH
|
||||
# define BOOST_POSIX_API
|
||||
# endif
|
||||
|
||||
// BOOST_POSIX_API or BOOST_WINDOWS_API specify which API to use
|
||||
|
||||
# if defined( BOOST_WINDOWS_API ) && defined( BOOST_POSIX_API )
|
||||
# error both BOOST_WINDOWS_API and BOOST_POSIX_API are defined
|
||||
# elif !defined( BOOST_WINDOWS_API ) && !defined( BOOST_POSIX_API )
|
||||
# if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__)
|
||||
# define BOOST_WINDOWS_API
|
||||
# else
|
||||
# define BOOST_POSIX_API
|
||||
# endif
|
||||
# endif
|
||||
|
||||
// BOOST_WINDOWS_PATH enables Windows path syntax recognition
|
||||
|
||||
# if !defined(BOOST_POSIX_PATH) && (defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__))
|
||||
# define BOOST_WINDOWS_PATH
|
||||
# endif
|
||||
|
||||
// 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__, BOOST_TESTED_AT(0x592))
|
||||
# define BOOST_FILESYSTEM_NARROW_ONLY
|
||||
# endif
|
||||
|
||||
// enable dynamic linking on Windows ---------------------------------------//
|
||||
|
||||
# if (defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FILESYSTEM_DYN_LINK)) && defined(__BORLANDC__) && defined(__WIN32__)
|
||||
# error Dynamic linking Boost.Filesystem does not work for Borland; use static linking instead
|
||||
# endif
|
||||
|
||||
#ifdef BOOST_HAS_DECLSPEC // defined in config system
|
||||
// we need to import/export our code only if the user has specifically
|
||||
// asked for it by defining either BOOST_ALL_DYN_LINK if they want all boost
|
||||
// libraries to be dynamically linked, or BOOST_FILESYSTEM_DYN_LINK
|
||||
// if they want just this one to be dynamically liked:
|
||||
#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FILESYSTEM_DYN_LINK)
|
||||
// export if this is our own source, otherwise import:
|
||||
#ifdef BOOST_FILESYSTEM_SOURCE
|
||||
# define BOOST_FILESYSTEM_DECL __declspec(dllexport)
|
||||
#else
|
||||
# define BOOST_FILESYSTEM_DECL __declspec(dllimport)
|
||||
#endif // BOOST_FILESYSTEM_SOURCE
|
||||
#endif // DYN_LINK
|
||||
#endif // BOOST_HAS_DECLSPEC
|
||||
//
|
||||
// if BOOST_FILESYSTEM_DECL isn't defined yet define it now:
|
||||
#ifndef BOOST_FILESYSTEM_DECL
|
||||
#define BOOST_FILESYSTEM_DECL
|
||||
#endif
|
||||
|
||||
// enable automatic library variant selection ------------------------------//
|
||||
|
||||
#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:
|
||||
//
|
||||
#define BOOST_LIB_NAME boost_filesystem
|
||||
//
|
||||
// If we're importing code from a dll, then tell auto_link.hpp about it:
|
||||
//
|
||||
#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FILESYSTEM_DYN_LINK)
|
||||
# define BOOST_DYN_LINK
|
||||
#endif
|
||||
//
|
||||
// And include the header that does the work:
|
||||
//
|
||||
#include <boost/config/auto_link.hpp>
|
||||
#endif // auto-linking disabled
|
||||
|
||||
#endif // BOOST_FILESYSTEM_CONFIG_HPP
|
@ -1,291 +0,0 @@
|
||||
// boost/filesystem/convenience.hpp ----------------------------------------//
|
||||
|
||||
// Copyright Beman Dawes, 2002-2005
|
||||
// Copyright Vladimir Prus, 2002
|
||||
// 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)
|
||||
|
||||
// See library home page at http://www.boost.org/libs/filesystem
|
||||
|
||||
//----------------------------------------------------------------------------//
|
||||
|
||||
#ifndef BOOST_FILESYSTEM_CONVENIENCE_HPP
|
||||
#define BOOST_FILESYSTEM_CONVENIENCE_HPP
|
||||
|
||||
#include <boost/filesystem/operations.hpp>
|
||||
#include <boost/system/error_code.hpp>
|
||||
#include <vector>
|
||||
#include <stack>
|
||||
|
||||
#include <boost/config/abi_prefix.hpp> // must be the last #include
|
||||
|
||||
# ifndef BOOST_FILESYSTEM_NARROW_ONLY
|
||||
# define BOOST_FS_FUNC(BOOST_FS_TYPE) \
|
||||
template<class Path> typename boost::enable_if<is_basic_path<Path>, \
|
||||
BOOST_FS_TYPE>::type
|
||||
# define BOOST_FS_FUNC_STRING BOOST_FS_FUNC(typename Path::string_type)
|
||||
# define BOOST_FS_TYPENAME typename
|
||||
# else
|
||||
# define BOOST_FS_FUNC(BOOST_FS_TYPE) inline BOOST_FS_TYPE
|
||||
typedef boost::filesystem::path Path;
|
||||
# define BOOST_FS_FUNC_STRING inline std::string
|
||||
# define BOOST_FS_TYPENAME
|
||||
# endif
|
||||
|
||||
namespace boost
|
||||
{
|
||||
namespace filesystem
|
||||
{
|
||||
|
||||
BOOST_FS_FUNC(bool) create_directories(const Path& ph)
|
||||
{
|
||||
if (ph.empty() || exists(ph))
|
||||
{
|
||||
if ( !ph.empty() && !is_directory(ph) )
|
||||
boost::throw_exception( basic_filesystem_error<Path>(
|
||||
"boost::filesystem::create_directories", ph,
|
||||
make_error_code( boost::system::posix::file_exists ) ) );
|
||||
return false;
|
||||
}
|
||||
|
||||
// First create branch, by calling ourself recursively
|
||||
create_directories(ph.parent_path());
|
||||
// Now that parent's path exists, create the directory
|
||||
create_directory(ph);
|
||||
return true;
|
||||
}
|
||||
|
||||
# ifndef BOOST_FILESYSTEM_NO_DEPRECATED
|
||||
|
||||
BOOST_FS_FUNC_STRING extension(const Path& ph)
|
||||
{
|
||||
typedef BOOST_FS_TYPENAME Path::string_type string_type;
|
||||
string_type filename = ph.filename();
|
||||
|
||||
BOOST_FS_TYPENAME string_type::size_type n = filename.rfind('.');
|
||||
if (n != string_type::npos)
|
||||
return filename.substr(n);
|
||||
else
|
||||
return string_type();
|
||||
}
|
||||
|
||||
BOOST_FS_FUNC_STRING basename(const Path& ph)
|
||||
{
|
||||
typedef BOOST_FS_TYPENAME Path::string_type string_type;
|
||||
string_type filename = ph.filename();
|
||||
BOOST_FS_TYPENAME string_type::size_type n = filename.rfind('.');
|
||||
return filename.substr(0, n);
|
||||
}
|
||||
|
||||
|
||||
BOOST_FS_FUNC(Path) change_extension( const Path & ph,
|
||||
const BOOST_FS_TYPENAME Path::string_type & new_extension )
|
||||
{ return ph.parent_path() / (basename(ph) + new_extension); }
|
||||
|
||||
# endif
|
||||
|
||||
# ifndef BOOST_FILESYSTEM_NARROW_ONLY
|
||||
|
||||
// "do-the-right-thing" overloads ---------------------------------------//
|
||||
|
||||
inline bool create_directories(const path& ph)
|
||||
{ return create_directories<path>(ph); }
|
||||
inline bool create_directories(const wpath& ph)
|
||||
{ return create_directories<wpath>(ph); }
|
||||
|
||||
inline std::string extension(const path& ph)
|
||||
{ return extension<path>(ph); }
|
||||
inline std::wstring extension(const wpath& ph)
|
||||
{ return extension<wpath>(ph); }
|
||||
|
||||
inline std::string basename(const path& ph)
|
||||
{ return basename<path>( ph ); }
|
||||
inline std::wstring basename(const wpath& ph)
|
||||
{ return basename<wpath>( ph ); }
|
||||
|
||||
inline path change_extension( const path & ph, const std::string& new_ex )
|
||||
{ return change_extension<path>( ph, new_ex ); }
|
||||
inline wpath change_extension( const wpath & ph, const std::wstring& new_ex )
|
||||
{ return change_extension<wpath>( ph, new_ex ); }
|
||||
|
||||
# endif
|
||||
|
||||
|
||||
// basic_recursive_directory_iterator helpers --------------------------//
|
||||
|
||||
namespace detail
|
||||
{
|
||||
template< class Path >
|
||||
struct recur_dir_itr_imp
|
||||
{
|
||||
typedef basic_directory_iterator< Path > element_type;
|
||||
std::stack< element_type, std::vector< element_type > > m_stack;
|
||||
int m_level;
|
||||
bool m_no_push;
|
||||
bool m_no_throw;
|
||||
|
||||
recur_dir_itr_imp() : m_level(0), m_no_push(false), m_no_throw(false) {}
|
||||
};
|
||||
|
||||
} // namespace detail
|
||||
|
||||
// basic_recursive_directory_iterator ----------------------------------//
|
||||
|
||||
template< class Path >
|
||||
class basic_recursive_directory_iterator
|
||||
: public boost::iterator_facade<
|
||||
basic_recursive_directory_iterator<Path>,
|
||||
basic_directory_entry<Path>,
|
||||
boost::single_pass_traversal_tag >
|
||||
{
|
||||
public:
|
||||
typedef Path path_type;
|
||||
|
||||
basic_recursive_directory_iterator(){} // creates the "end" iterator
|
||||
|
||||
explicit basic_recursive_directory_iterator( const Path & dir_path );
|
||||
basic_recursive_directory_iterator( const Path & dir_path,
|
||||
system::error_code & ec );
|
||||
|
||||
int level() const { return m_imp->m_level; }
|
||||
|
||||
void pop();
|
||||
void no_push()
|
||||
{
|
||||
BOOST_ASSERT( m_imp.get() && "attempt to no_push() on end iterator" );
|
||||
m_imp->m_no_push = true;
|
||||
}
|
||||
|
||||
file_status status() const
|
||||
{
|
||||
BOOST_ASSERT( m_imp.get()
|
||||
&& "attempt to call status() on end recursive_iterator" );
|
||||
return m_imp->m_stack.top()->status();
|
||||
}
|
||||
|
||||
file_status symlink_status() const
|
||||
{
|
||||
BOOST_ASSERT( m_imp.get()
|
||||
&& "attempt to call symlink_status() on end recursive_iterator" );
|
||||
return m_imp->m_stack.top()->symlink_status();
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
// shared_ptr provides shallow-copy semantics required for InputIterators.
|
||||
// m_imp.get()==0 indicates the end iterator.
|
||||
boost::shared_ptr< detail::recur_dir_itr_imp< Path > > m_imp;
|
||||
|
||||
friend class boost::iterator_core_access;
|
||||
|
||||
typename boost::iterator_facade<
|
||||
basic_recursive_directory_iterator<Path>,
|
||||
basic_directory_entry<Path>,
|
||||
boost::single_pass_traversal_tag >::reference
|
||||
dereference() const
|
||||
{
|
||||
BOOST_ASSERT( m_imp.get() && "attempt to dereference end iterator" );
|
||||
return *m_imp->m_stack.top();
|
||||
}
|
||||
|
||||
void increment();
|
||||
|
||||
bool equal( const basic_recursive_directory_iterator & rhs ) const
|
||||
{ return m_imp == rhs.m_imp; }
|
||||
|
||||
};
|
||||
|
||||
typedef basic_recursive_directory_iterator<path> recursive_directory_iterator;
|
||||
# ifndef BOOST_FILESYSTEM_NARROW_ONLY
|
||||
typedef basic_recursive_directory_iterator<wpath> wrecursive_directory_iterator;
|
||||
# endif
|
||||
|
||||
// basic_recursive_directory_iterator implementation -------------------//
|
||||
|
||||
// constructors
|
||||
template<class Path>
|
||||
basic_recursive_directory_iterator<Path>::
|
||||
basic_recursive_directory_iterator( const Path & dir_path )
|
||||
: m_imp( new detail::recur_dir_itr_imp<Path> )
|
||||
{
|
||||
m_imp->m_stack.push( basic_directory_iterator<Path>( dir_path ) );
|
||||
if ( m_imp->m_stack.top () == basic_directory_iterator<Path>() )
|
||||
{ m_imp.reset (); }
|
||||
}
|
||||
|
||||
template<class Path>
|
||||
basic_recursive_directory_iterator<Path>::
|
||||
basic_recursive_directory_iterator( const Path & dir_path,
|
||||
system::error_code & ec )
|
||||
: m_imp( new detail::recur_dir_itr_imp<Path> )
|
||||
{
|
||||
m_imp->m_no_throw = true;
|
||||
m_imp->m_stack.push( basic_directory_iterator<Path>( dir_path, ec ) );
|
||||
if ( m_imp->m_stack.top () == basic_directory_iterator<Path>() )
|
||||
{ m_imp.reset (); }
|
||||
}
|
||||
|
||||
// increment
|
||||
template<class Path>
|
||||
void basic_recursive_directory_iterator<Path>::increment()
|
||||
{
|
||||
BOOST_ASSERT( m_imp.get() && "increment on end iterator" );
|
||||
|
||||
static const basic_directory_iterator<Path> end_itr;
|
||||
|
||||
if ( m_imp->m_no_push )
|
||||
{ m_imp->m_no_push = false; }
|
||||
else if ( is_directory( m_imp->m_stack.top()->status() ) )
|
||||
{
|
||||
system::error_code ec;
|
||||
m_imp->m_stack.push(
|
||||
m_imp->m_no_throw
|
||||
? basic_directory_iterator<Path>( *m_imp->m_stack.top(), ec )
|
||||
: basic_directory_iterator<Path>( *m_imp->m_stack.top() ) );
|
||||
if ( m_imp->m_stack.top() != end_itr )
|
||||
{
|
||||
++m_imp->m_level;
|
||||
return;
|
||||
}
|
||||
m_imp->m_stack.pop();
|
||||
}
|
||||
|
||||
while ( !m_imp->m_stack.empty()
|
||||
&& ++m_imp->m_stack.top() == end_itr )
|
||||
{
|
||||
m_imp->m_stack.pop();
|
||||
--m_imp->m_level;
|
||||
}
|
||||
|
||||
if ( m_imp->m_stack.empty() ) m_imp.reset(); // done, so make end iterator
|
||||
}
|
||||
|
||||
// pop
|
||||
template<class Path>
|
||||
void basic_recursive_directory_iterator<Path>::pop()
|
||||
{
|
||||
BOOST_ASSERT( m_imp.get() && "pop on end iterator" );
|
||||
BOOST_ASSERT( m_imp->m_level > 0 && "pop with level < 1" );
|
||||
|
||||
static const basic_directory_iterator<Path> end_itr;
|
||||
|
||||
do
|
||||
{
|
||||
m_imp->m_stack.pop();
|
||||
--m_imp->m_level;
|
||||
}
|
||||
while ( !m_imp->m_stack.empty()
|
||||
&& ++m_imp->m_stack.top() == end_itr );
|
||||
|
||||
if ( m_imp->m_stack.empty() ) m_imp.reset(); // done, so make end iterator
|
||||
}
|
||||
|
||||
} // namespace filesystem
|
||||
} // 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
|
@ -1,9 +0,0 @@
|
||||
// boost/filesystem/exception.hpp -------------------------------------------//
|
||||
|
||||
// Copyright Beman Dawes 2003
|
||||
// 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)
|
||||
|
||||
// This header is no long used. The contents have been moved to path.hpp.
|
||||
// It is provided so that user code #includes do not have to be changed.
|
@ -1,584 +0,0 @@
|
||||
// boost/filesystem/fstream.hpp --------------------------------------------//
|
||||
|
||||
// Copyright Beman Dawes 2002.
|
||||
// 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)
|
||||
|
||||
// See library home page at http://www.boost.org/libs/filesystem
|
||||
|
||||
//----------------------------------------------------------------------------//
|
||||
|
||||
#ifndef BOOST_FILESYSTEM_FSTREAM_HPP
|
||||
#define BOOST_FILESYSTEM_FSTREAM_HPP
|
||||
|
||||
#include <boost/filesystem/operations.hpp> // for 8.3 hack (see below)
|
||||
#include <boost/utility/enable_if.hpp>
|
||||
#include <boost/detail/workaround.hpp>
|
||||
|
||||
#include <iosfwd>
|
||||
#include <fstream>
|
||||
|
||||
#include <boost/config/abi_prefix.hpp> // must be the last #include
|
||||
|
||||
// NOTE: fstream.hpp for Boost 1.32.0 and earlier supplied workarounds for
|
||||
// various compiler problems. They have been removed to ease development of the
|
||||
// basic i18n functionality. Once the new interface is stable, the workarounds
|
||||
// will be reinstated for any compilers that otherwise can support the rest of
|
||||
// the library after internationalization.
|
||||
|
||||
namespace boost
|
||||
{
|
||||
namespace filesystem
|
||||
{
|
||||
namespace detail
|
||||
{
|
||||
# if defined(BOOST_WINDOWS_API) && !defined(BOOST_FILESYSTEM_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,
|
||||
std::ios_base::openmode mode ); // true if succeeds
|
||||
BOOST_FILESYSTEM_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,
|
||||
std::ios_base::openmode mode )
|
||||
// Return a non-existant path if cannot supply narrow short path.
|
||||
// An empty path doesn't work because some Dinkumware versions
|
||||
// assert the path is non-empty.
|
||||
{
|
||||
std::string narrow_ph;
|
||||
bool created_file( false );
|
||||
if ( !exists( file_ph )
|
||||
&& (mode & std::ios_base::out) != 0
|
||||
&& create_file_api( file_ph, mode ) )
|
||||
{
|
||||
created_file = true;
|
||||
}
|
||||
narrow_ph = narrow_path_api( file_ph );
|
||||
if ( narrow_ph.empty() )
|
||||
{
|
||||
if ( created_file ) remove_api( file_ph );
|
||||
narrow_ph = "\x01";
|
||||
}
|
||||
return narrow_ph;
|
||||
}
|
||||
# else
|
||||
// Dinkumware 405 and later does supply wchar_t functions
|
||||
inline const std::wstring & path_proxy( const std::wstring & file_ph,
|
||||
std::ios_base::openmode )
|
||||
{ return file_ph; }
|
||||
# endif
|
||||
# endif
|
||||
|
||||
inline const std::string & path_proxy( const std::string & file_ph,
|
||||
std::ios_base::openmode )
|
||||
{ return file_ph; }
|
||||
|
||||
} // namespace detail
|
||||
|
||||
template < class charT, class traits = std::char_traits<charT> >
|
||||
class basic_filebuf : public std::basic_filebuf<charT,traits>
|
||||
{
|
||||
private: // disallow copying
|
||||
basic_filebuf( const basic_filebuf & );
|
||||
const basic_filebuf & operator=( const basic_filebuf & );
|
||||
public:
|
||||
basic_filebuf() {}
|
||||
virtual ~basic_filebuf() {}
|
||||
|
||||
# ifndef BOOST_FILESYSTEM_NARROW_ONLY
|
||||
template<class Path>
|
||||
typename boost::enable_if<is_basic_path<Path>,
|
||||
basic_filebuf<charT,traits> *>::type
|
||||
open( const Path & file_ph, std::ios_base::openmode mode );
|
||||
|
||||
basic_filebuf<charT,traits> *
|
||||
open( const wpath & file_ph, std::ios_base::openmode mode );
|
||||
# endif
|
||||
|
||||
# if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this
|
||||
basic_filebuf<charT,traits> *
|
||||
open( const path & file_ph, std::ios_base::openmode mode );
|
||||
# endif
|
||||
};
|
||||
|
||||
template < class charT, class traits = std::char_traits<charT> >
|
||||
class basic_ifstream : public std::basic_ifstream<charT,traits>
|
||||
{
|
||||
private: // disallow copying
|
||||
basic_ifstream( const basic_ifstream & );
|
||||
const basic_ifstream & operator=( const basic_ifstream & );
|
||||
public:
|
||||
basic_ifstream() {}
|
||||
|
||||
// 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
|
||||
template<class Path>
|
||||
explicit basic_ifstream( const Path & file_ph,
|
||||
typename boost::enable_if<is_basic_path<Path> >::type* dummy = 0 );
|
||||
|
||||
template<class Path>
|
||||
basic_ifstream( const Path & file_ph, std::ios_base::openmode mode,
|
||||
typename boost::enable_if<is_basic_path<Path> >::type* dummy = 0 );
|
||||
|
||||
template<class Path>
|
||||
typename boost::enable_if<is_basic_path<Path>, void>::type
|
||||
open( const Path & file_ph );
|
||||
|
||||
template<class Path>
|
||||
typename boost::enable_if<is_basic_path<Path>, void>::type
|
||||
open( const Path & file_ph, std::ios_base::openmode mode );
|
||||
|
||||
explicit basic_ifstream( const wpath & file_ph );
|
||||
basic_ifstream( const wpath & file_ph, std::ios_base::openmode mode );
|
||||
void open( const wpath & file_ph );
|
||||
void open( const wpath & file_ph, std::ios_base::openmode mode );
|
||||
# endif
|
||||
|
||||
explicit basic_ifstream( const path & file_ph );
|
||||
basic_ifstream( const path & file_ph, std::ios_base::openmode mode );
|
||||
# if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this
|
||||
void open( const path & file_ph );
|
||||
void open( const path & file_ph, std::ios_base::openmode mode );
|
||||
# endif
|
||||
virtual ~basic_ifstream() {}
|
||||
};
|
||||
|
||||
template < class charT, class traits = std::char_traits<charT> >
|
||||
class basic_ofstream : public std::basic_ofstream<charT,traits>
|
||||
{
|
||||
private: // disallow copying
|
||||
basic_ofstream( const basic_ofstream & );
|
||||
const basic_ofstream & operator=( const basic_ofstream & );
|
||||
public:
|
||||
basic_ofstream() {}
|
||||
|
||||
// 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
|
||||
|
||||
template<class Path>
|
||||
explicit basic_ofstream( const Path & file_ph,
|
||||
typename boost::enable_if<is_basic_path<Path> >::type* dummy = 0 );
|
||||
explicit basic_ofstream( const wpath & file_ph );
|
||||
|
||||
template<class Path>
|
||||
basic_ofstream( const Path & file_ph, std::ios_base::openmode mode,
|
||||
typename boost::enable_if<is_basic_path<Path> >::type* dummy = 0 );
|
||||
basic_ofstream( const wpath & file_ph, std::ios_base::openmode mode );
|
||||
|
||||
template<class Path>
|
||||
typename boost::enable_if<is_basic_path<Path>, void>::type
|
||||
open( const Path & file_ph );
|
||||
void open( const wpath & file_ph );
|
||||
|
||||
template<class Path>
|
||||
typename boost::enable_if<is_basic_path<Path>, void>::type
|
||||
open( const Path & file_ph, std::ios_base::openmode mode );
|
||||
void open( const wpath & file_ph, std::ios_base::openmode mode );
|
||||
|
||||
# endif
|
||||
|
||||
explicit basic_ofstream( const path & file_ph );
|
||||
basic_ofstream( const path & file_ph, std::ios_base::openmode mode );
|
||||
# if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this
|
||||
void open( const path & file_ph );
|
||||
void open( const path & file_ph, std::ios_base::openmode mode );
|
||||
# endif
|
||||
virtual ~basic_ofstream() {}
|
||||
};
|
||||
|
||||
template < class charT, class traits = std::char_traits<charT> >
|
||||
class basic_fstream : public std::basic_fstream<charT,traits>
|
||||
{
|
||||
private: // disallow copying
|
||||
basic_fstream( const basic_fstream & );
|
||||
const basic_fstream & operator=( const basic_fstream & );
|
||||
public:
|
||||
basic_fstream() {}
|
||||
|
||||
// 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
|
||||
|
||||
template<class Path>
|
||||
explicit basic_fstream( const Path & file_ph,
|
||||
typename boost::enable_if<is_basic_path<Path> >::type* dummy = 0 );
|
||||
explicit basic_fstream( const wpath & file_ph );
|
||||
|
||||
template<class Path>
|
||||
basic_fstream( const Path & file_ph, std::ios_base::openmode mode,
|
||||
typename boost::enable_if<is_basic_path<Path> >::type* dummy = 0 );
|
||||
basic_fstream( const wpath & file_ph, std::ios_base::openmode mode );
|
||||
|
||||
template<class Path>
|
||||
typename boost::enable_if<is_basic_path<Path>, void>::type
|
||||
open( const Path & file_ph );
|
||||
void open( const wpath & file_ph );
|
||||
|
||||
template<class Path>
|
||||
typename boost::enable_if<is_basic_path<Path>, void>::type
|
||||
open( const Path & file_ph, std::ios_base::openmode mode );
|
||||
void open( const wpath & file_ph, std::ios_base::openmode mode );
|
||||
|
||||
# endif
|
||||
|
||||
explicit basic_fstream( const path & file_ph );
|
||||
basic_fstream( const path & file_ph, std::ios_base::openmode mode );
|
||||
# if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this
|
||||
void open( const path & file_ph );
|
||||
void open( const path & file_ph, std::ios_base::openmode mode );
|
||||
# endif
|
||||
virtual ~basic_fstream() {}
|
||||
|
||||
};
|
||||
|
||||
typedef basic_filebuf<char> filebuf;
|
||||
typedef basic_ifstream<char> ifstream;
|
||||
typedef basic_ofstream<char> ofstream;
|
||||
typedef basic_fstream<char> fstream;
|
||||
|
||||
# ifndef BOOST_FILESYSTEM_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
|
||||
|
||||
// basic_filebuf definitions -----------------------------------------------//
|
||||
|
||||
template <class charT, class traits>
|
||||
template<class Path>
|
||||
typename boost::enable_if<is_basic_path<Path>,
|
||||
basic_filebuf<charT,traits> *>::type
|
||||
basic_filebuf<charT,traits>::open( const Path & file_ph,
|
||||
std::ios_base::openmode mode )
|
||||
{
|
||||
return (std::basic_filebuf<charT,traits>::open( detail::path_proxy(
|
||||
file_ph.external_file_string(), mode ).c_str(), mode )
|
||||
== 0) ? 0 : this;
|
||||
}
|
||||
|
||||
template <class charT, class traits>
|
||||
basic_filebuf<charT,traits> *
|
||||
basic_filebuf<charT, traits>::open( const wpath & file_ph,
|
||||
std::ios_base::openmode mode )
|
||||
{
|
||||
return this->BOOST_NESTED_TEMPLATE open<wpath>( file_ph, mode );
|
||||
}
|
||||
|
||||
// basic_ifstream definitions ----------------------------------------------//
|
||||
|
||||
template <class charT, class traits> template<class Path>
|
||||
basic_ifstream<charT,traits>::basic_ifstream(const Path & file_ph,
|
||||
typename boost::enable_if<is_basic_path<Path> >::type* )
|
||||
: std::basic_ifstream<charT,traits>(
|
||||
detail::path_proxy( file_ph.external_file_string(),
|
||||
std::ios_base::in ).c_str(), std::ios_base::in ) {}
|
||||
|
||||
template <class charT, class traits>
|
||||
basic_ifstream<charT,traits>::basic_ifstream( const wpath & file_ph )
|
||||
: std::basic_ifstream<charT,traits>(
|
||||
detail::path_proxy( file_ph.external_file_string(),
|
||||
std::ios_base::in ).c_str(), std::ios_base::in ) {}
|
||||
|
||||
template <class charT, class traits> template<class Path>
|
||||
basic_ifstream<charT,traits>::basic_ifstream( const Path & file_ph,
|
||||
std::ios_base::openmode mode,
|
||||
typename boost::enable_if<is_basic_path<Path> >::type* )
|
||||
: std::basic_ifstream<charT,traits>(
|
||||
detail::path_proxy( file_ph.external_file_string(),
|
||||
mode ).c_str(), mode | std::ios_base::in ) {}
|
||||
|
||||
template <class charT, class traits>
|
||||
basic_ifstream<charT,traits>::basic_ifstream( const wpath & file_ph,
|
||||
std::ios_base::openmode mode )
|
||||
: std::basic_ifstream<charT,traits>(
|
||||
detail::path_proxy( file_ph.external_file_string(),
|
||||
mode ).c_str(), mode | std::ios_base::in ) {}
|
||||
|
||||
template <class charT, class traits> template<class Path>
|
||||
typename boost::enable_if<is_basic_path<Path>, void>::type
|
||||
basic_ifstream<charT,traits>::open( const Path & file_ph )
|
||||
{
|
||||
std::basic_ifstream<charT,traits>::open(
|
||||
detail::path_proxy( file_ph.external_file_string(),
|
||||
std::ios_base::in ).c_str(), std::ios_base::in );
|
||||
}
|
||||
|
||||
template <class charT, class traits>
|
||||
void basic_ifstream<charT,traits>::open( const wpath & file_ph )
|
||||
{
|
||||
std::basic_ifstream<charT,traits>::open(
|
||||
detail::path_proxy( file_ph.external_file_string(),
|
||||
std::ios_base::in ).c_str(), std::ios_base::in );
|
||||
}
|
||||
|
||||
template <class charT, class traits> template<class Path>
|
||||
typename boost::enable_if<is_basic_path<Path>, void>::type
|
||||
basic_ifstream<charT,traits>::open( const Path & file_ph,
|
||||
std::ios_base::openmode mode )
|
||||
{
|
||||
std::basic_ifstream<charT,traits>::open(
|
||||
detail::path_proxy( file_ph.external_file_string(),
|
||||
mode ).c_str(), mode | std::ios_base::in );
|
||||
}
|
||||
|
||||
template <class charT, class traits>
|
||||
void basic_ifstream<charT,traits>::open( const wpath & file_ph,
|
||||
std::ios_base::openmode mode )
|
||||
{
|
||||
std::basic_ifstream<charT,traits>::open(
|
||||
detail::path_proxy( file_ph.external_file_string(),
|
||||
mode ).c_str(), mode | std::ios_base::in );
|
||||
}
|
||||
|
||||
// basic_ofstream definitions ----------------------------------------------//
|
||||
|
||||
template <class charT, class traits> template<class Path>
|
||||
basic_ofstream<charT,traits>::basic_ofstream(const Path & file_ph,
|
||||
typename boost::enable_if<is_basic_path<Path> >::type* )
|
||||
: std::basic_ofstream<charT,traits>(
|
||||
detail::path_proxy( file_ph.external_file_string(),
|
||||
std::ios_base::out ).c_str(), std::ios_base::out ) {}
|
||||
|
||||
template <class charT, class traits>
|
||||
basic_ofstream<charT,traits>::basic_ofstream( const wpath & file_ph )
|
||||
: std::basic_ofstream<charT,traits>(
|
||||
detail::path_proxy( file_ph.external_file_string(),
|
||||
std::ios_base::out ).c_str(), std::ios_base::out ) {}
|
||||
|
||||
template <class charT, class traits> template<class Path>
|
||||
basic_ofstream<charT,traits>::basic_ofstream( const Path & file_ph,
|
||||
std::ios_base::openmode mode,
|
||||
typename boost::enable_if<is_basic_path<Path> >::type* )
|
||||
: std::basic_ofstream<charT,traits>(
|
||||
detail::path_proxy( file_ph.external_file_string(),
|
||||
mode ).c_str(), mode | std::ios_base::out ) {}
|
||||
|
||||
template <class charT, class traits>
|
||||
basic_ofstream<charT,traits>::basic_ofstream( const wpath & file_ph,
|
||||
std::ios_base::openmode mode )
|
||||
: std::basic_ofstream<charT,traits>(
|
||||
detail::path_proxy( file_ph.external_file_string(),
|
||||
mode ).c_str(), mode | std::ios_base::out ) {}
|
||||
|
||||
template <class charT, class traits> template<class Path>
|
||||
typename boost::enable_if<is_basic_path<Path>, void>::type
|
||||
basic_ofstream<charT,traits>::open( const Path & file_ph )
|
||||
{
|
||||
std::basic_ofstream<charT,traits>::open(
|
||||
detail::path_proxy( file_ph.external_file_string(),
|
||||
std::ios_base::out ).c_str(), std::ios_base::out );
|
||||
}
|
||||
|
||||
template <class charT, class traits>
|
||||
void basic_ofstream<charT,traits>::open( const wpath & file_ph )
|
||||
{
|
||||
std::basic_ofstream<charT,traits>::open(
|
||||
detail::path_proxy( file_ph.external_file_string(),
|
||||
std::ios_base::out ).c_str(), std::ios_base::out );
|
||||
}
|
||||
|
||||
template <class charT, class traits> template<class Path>
|
||||
typename boost::enable_if<is_basic_path<Path>, void>::type
|
||||
basic_ofstream<charT,traits>::open( const Path & file_ph,
|
||||
std::ios_base::openmode mode )
|
||||
{
|
||||
std::basic_ofstream<charT,traits>::open(
|
||||
detail::path_proxy( file_ph.external_file_string(),
|
||||
mode ).c_str(), mode | std::ios_base::out );
|
||||
}
|
||||
|
||||
template <class charT, class traits>
|
||||
void basic_ofstream<charT,traits>::open( const wpath & file_ph,
|
||||
std::ios_base::openmode mode )
|
||||
{
|
||||
std::basic_ofstream<charT,traits>::open(
|
||||
detail::path_proxy( file_ph.external_file_string(),
|
||||
mode ).c_str(), mode | std::ios_base::out );
|
||||
}
|
||||
|
||||
// basic_fstream definitions -----------------------------------------------//
|
||||
|
||||
template <class charT, class traits> template<class Path>
|
||||
basic_fstream<charT,traits>::basic_fstream(const Path & file_ph,
|
||||
typename boost::enable_if<is_basic_path<Path> >::type* )
|
||||
: std::basic_fstream<charT,traits>(
|
||||
detail::path_proxy( file_ph.external_file_string(),
|
||||
std::ios_base::in|std::ios_base::out ).c_str(),
|
||||
std::ios_base::in|std::ios_base::out ) {}
|
||||
|
||||
template <class charT, class traits>
|
||||
basic_fstream<charT,traits>::basic_fstream( const wpath & file_ph )
|
||||
: std::basic_fstream<charT,traits>(
|
||||
detail::path_proxy( file_ph.external_file_string(),
|
||||
std::ios_base::in|std::ios_base::out ).c_str(),
|
||||
std::ios_base::in|std::ios_base::out ) {}
|
||||
|
||||
template <class charT, class traits> template<class Path>
|
||||
basic_fstream<charT,traits>::basic_fstream( const Path & file_ph,
|
||||
std::ios_base::openmode mode,
|
||||
typename boost::enable_if<is_basic_path<Path> >::type* )
|
||||
: std::basic_fstream<charT,traits>(
|
||||
detail::path_proxy( file_ph.external_file_string(),
|
||||
mode ).c_str(), mode | std::ios_base::in | std::ios_base::out ) {}
|
||||
|
||||
template <class charT, class traits>
|
||||
basic_fstream<charT,traits>::basic_fstream( const wpath & file_ph,
|
||||
std::ios_base::openmode mode )
|
||||
: std::basic_fstream<charT,traits>(
|
||||
detail::path_proxy( file_ph.external_file_string(),
|
||||
mode ).c_str(), mode | std::ios_base::in | std::ios_base::out ) {}
|
||||
|
||||
template <class charT, class traits> template<class Path>
|
||||
typename boost::enable_if<is_basic_path<Path>, void>::type
|
||||
basic_fstream<charT,traits>::open( const Path & file_ph )
|
||||
{
|
||||
std::basic_fstream<charT,traits>::open(
|
||||
detail::path_proxy( file_ph.external_file_string(),
|
||||
std::ios_base::in|std::ios_base::out ).c_str(),
|
||||
std::ios_base::in|std::ios_base::out );
|
||||
}
|
||||
|
||||
template <class charT, class traits>
|
||||
void basic_fstream<charT,traits>::open( const wpath & file_ph )
|
||||
{
|
||||
std::basic_fstream<charT,traits>::open(
|
||||
detail::path_proxy( file_ph.external_file_string(),
|
||||
std::ios_base::in|std::ios_base::out ).c_str(),
|
||||
std::ios_base::in|std::ios_base::out );
|
||||
}
|
||||
|
||||
template <class charT, class traits> template<class Path>
|
||||
typename boost::enable_if<is_basic_path<Path>, void>::type
|
||||
basic_fstream<charT,traits>::open( const Path & file_ph,
|
||||
std::ios_base::openmode mode )
|
||||
{
|
||||
std::basic_fstream<charT,traits>::open(
|
||||
detail::path_proxy( file_ph.external_file_string(),
|
||||
mode ).c_str(), mode | std::ios_base::in | std::ios_base::out );
|
||||
}
|
||||
|
||||
template <class charT, class traits>
|
||||
void basic_fstream<charT,traits>::open( const wpath & file_ph,
|
||||
std::ios_base::openmode mode )
|
||||
{
|
||||
std::basic_fstream<charT,traits>::open(
|
||||
detail::path_proxy( file_ph.external_file_string(),
|
||||
mode ).c_str(), mode | std::ios_base::in | std::ios_base::out );
|
||||
}
|
||||
|
||||
# endif
|
||||
|
||||
# if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this
|
||||
template <class charT, class traits>
|
||||
basic_filebuf<charT,traits> *
|
||||
basic_filebuf<charT, traits>::open( const path & file_ph,
|
||||
std::ios_base::openmode mode )
|
||||
{
|
||||
return std::basic_filebuf<charT,traits>::open(
|
||||
file_ph.file_string().c_str(), mode ) == 0 ? 0 : this;
|
||||
}
|
||||
# endif
|
||||
|
||||
template <class charT, class traits>
|
||||
basic_ifstream<charT,traits>::basic_ifstream( const path & file_ph )
|
||||
: std::basic_ifstream<charT,traits>(
|
||||
file_ph.file_string().c_str(), std::ios_base::in ) {}
|
||||
|
||||
template <class charT, class traits>
|
||||
basic_ifstream<charT,traits>::basic_ifstream( const path & file_ph,
|
||||
std::ios_base::openmode mode )
|
||||
: std::basic_ifstream<charT,traits>(
|
||||
file_ph.file_string().c_str(), mode ) {}
|
||||
|
||||
# if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this
|
||||
template <class charT, class traits>
|
||||
void basic_ifstream<charT,traits>::open( const path & file_ph )
|
||||
{
|
||||
std::basic_ifstream<charT,traits>::open(
|
||||
file_ph.file_string().c_str(), std::ios_base::in );
|
||||
}
|
||||
|
||||
template <class charT, class traits>
|
||||
void basic_ifstream<charT,traits>::open( const path & file_ph,
|
||||
std::ios_base::openmode mode )
|
||||
{
|
||||
std::basic_ifstream<charT,traits>::open(
|
||||
file_ph.file_string().c_str(), mode );
|
||||
}
|
||||
# endif
|
||||
|
||||
template <class charT, class traits>
|
||||
basic_ofstream<charT,traits>::basic_ofstream( const path & file_ph )
|
||||
: std::basic_ofstream<charT,traits>(
|
||||
file_ph.file_string().c_str(), std::ios_base::out ) {}
|
||||
|
||||
template <class charT, class traits>
|
||||
basic_ofstream<charT,traits>::basic_ofstream( const path & file_ph,
|
||||
std::ios_base::openmode mode )
|
||||
: std::basic_ofstream<charT,traits>(
|
||||
file_ph.file_string().c_str(), mode ) {}
|
||||
|
||||
# if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this
|
||||
template <class charT, class traits>
|
||||
void basic_ofstream<charT,traits>::open( const path & file_ph )
|
||||
{
|
||||
std::basic_ofstream<charT,traits>::open(
|
||||
file_ph.file_string().c_str(), std::ios_base::out );
|
||||
}
|
||||
|
||||
template <class charT, class traits>
|
||||
void basic_ofstream<charT,traits>::open( const path & file_ph,
|
||||
std::ios_base::openmode mode )
|
||||
{
|
||||
std::basic_ofstream<charT,traits>::open(
|
||||
file_ph.file_string().c_str(), mode );
|
||||
}
|
||||
# endif
|
||||
|
||||
template <class charT, class traits>
|
||||
basic_fstream<charT,traits>::basic_fstream( const path & file_ph )
|
||||
: std::basic_fstream<charT,traits>(
|
||||
file_ph.file_string().c_str(),
|
||||
std::ios_base::in|std::ios_base::out ) {}
|
||||
|
||||
|
||||
template <class charT, class traits>
|
||||
basic_fstream<charT,traits>::basic_fstream( const path & file_ph,
|
||||
std::ios_base::openmode mode )
|
||||
: std::basic_fstream<charT,traits>(
|
||||
file_ph.file_string().c_str(), mode ) {}
|
||||
|
||||
# if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this
|
||||
template <class charT, class traits>
|
||||
void basic_fstream<charT,traits>::open( const path & file_ph )
|
||||
{
|
||||
std::basic_fstream<charT,traits>::open(
|
||||
file_ph.file_string().c_str(), std::ios_base::in|std::ios_base::out );
|
||||
}
|
||||
|
||||
template <class charT, class traits>
|
||||
void basic_fstream<charT,traits>::open( const path & file_ph,
|
||||
std::ios_base::openmode mode )
|
||||
{
|
||||
std::basic_fstream<charT,traits>::open(
|
||||
file_ph.file_string().c_str(), mode );
|
||||
}
|
||||
# endif
|
||||
} // namespace filesystem
|
||||
} // namespace boost
|
||||
|
||||
#include <boost/config/abi_suffix.hpp> // pops abi_prefix.hpp pragmas
|
||||
#endif // BOOST_FILESYSTEM_FSTREAM_HPP
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user