Boost C++ Filesystem library: заголовочный файл fstream.hpp

Вступление

Хидер стандартной библиотеки C++ <fstream> использует const char* для передачи аргументов, представляющих имена файлов, и такое использование встречается семь раз.

Хидер в библиотеке Boost.Filesystem fstream.hpp содержит эквивалентные компоненты в пространстве имен boost::filesystem, исключая семь случаев, для которых аргументы типа const char* заменены на const path&.

Хидер в библиотеке Boost.Filesystem fstream.hpp просто использует компоненты в стандартном хидере <fstream> как базовые классы, и переопределяет члены классов, которые должны работать с аргументами типа path.

Более подробная информация содержится в учебнике и примерах.

Краткое описание

namespace boost
{
  namespace filesystem
  {
    template < class charT, class traits = std::char_traits<charT> >
    class basic_filebuf : public std::basic_filebuf<charT,traits>
    {
    public:
      virtual ~basic_filebuf() {}

      std::basic_filebuf<charT,traits> * open( const path & file_ph,
        std::ios_base::openmode mode );
    };

    typedef basic_filebuf<char> filebuf;
    typedef basic_filebuf<wchar_t> wfilebuf;

    template < class charT, class traits = std::char_traits<charT> >
    class basic_ifstream : public std::basic_ifstream<charT,traits>
    {
    public:
      basic_ifstream() {}
      explicit basic_ifstream( const path & file_ph,
        std::ios_base::openmode mode = std::ios_base::in );
      virtual ~basic_ifstream() {}
      void open( const path & file_ph,
        std::ios_base::openmode mode = std::ios_base::in );
    };

    typedef basic_ifstream<char> ifstream;
    typedef basic_ifstream<wchar_t> wifstream;

    template < class charT, class traits = std::char_traits<charT> >
    class basic_ofstream : public std::basic_ofstream<charT,traits>
    {
    public:
      basic_ofstream() {}
      explicit basic_ofstream( const path & file_ph,
        std::ios_base::openmode mode = std::ios_base::out );
      virtual ~basic_ofstream() {}
      void open( const path & file_ph,
        std::ios_base::openmode mode = std::ios_base::out );
    };

    typedef basic_ofstream<char> ofstream;
    typedef basic_ofstream<wchar_t> wofstream;

    template < class charT, class traits = std::char_traits<charT> >
    class basic_fstream : public std::basic_fstream<charT,traits>
    {
    public:
      basic_fstream() {}
      explicit basic_fstream( const path & file_ph,
        std::ios_base::openmode mode = std::ios_base::in|std::ios_base::out );
      virtual ~basic_fstream() {}
      void open( const path & file_ph,
        std::ios_base::openmode mode = std::ios_base::in|std::ios_base::out );
    };
 
    typedef basic_fstream<char> fstream;
    typedef basic_fstream<wchar_t> wfstream;
  } // namespace filesystem
} // namespace boost

Revised 25 мая, 2005

© Copyright Beman Dawes, 2002

Use, modification, and distribution are subject to the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at www.boost.org/LICENSE_1_0.txt)

последняя правка: 25.05.2005

библиотека BOOST C++ http://www.boost.org
перевод Elijah Koziev www.solarix.ru

  © Mental Computing 2010