diff options
author | orivej <orivej@yandex-team.ru> | 2022-02-10 16:44:49 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:44:49 +0300 |
commit | 718c552901d703c502ccbefdfc3c9028d608b947 (patch) | |
tree | 46534a98bbefcd7b1f3faa5b52c138ab27db75b7 /contrib/libs/poco/Foundation/include/Poco/FileStream.h | |
parent | e9656aae26e0358d5378e5b63dcac5c8dbe0e4d0 (diff) | |
download | ydb-718c552901d703c502ccbefdfc3c9028d608b947.tar.gz |
Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/libs/poco/Foundation/include/Poco/FileStream.h')
-rw-r--r-- | contrib/libs/poco/Foundation/include/Poco/FileStream.h | 352 |
1 files changed, 176 insertions, 176 deletions
diff --git a/contrib/libs/poco/Foundation/include/Poco/FileStream.h b/contrib/libs/poco/Foundation/include/Poco/FileStream.h index cea56c9476..c9bf559ea1 100644 --- a/contrib/libs/poco/Foundation/include/Poco/FileStream.h +++ b/contrib/libs/poco/Foundation/include/Poco/FileStream.h @@ -1,176 +1,176 @@ -// -// FileStream.h -// -// Library: Foundation -// Package: Streams -// Module: FileStream -// -// Definition of the FileStreamBuf, FileInputStream and FileOutputStream classes. -// -// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. -// and Contributors. -// -// SPDX-License-Identifier: BSL-1.0 -// - - -#ifndef Foundation_FileStream_INCLUDED -#define Foundation_FileStream_INCLUDED - - -#include "Poco/Foundation.h" -#if defined(POCO_OS_FAMILY_WINDOWS) -#include "Poco/FileStream_WIN32.h" -#else -#include "Poco/FileStream_POSIX.h" -#endif -#include <istream> -#include <ostream> - - -namespace Poco { - - -class Foundation_API FileIOS: public virtual std::ios - /// The base class for FileInputStream and FileOutputStream. - /// - /// This class is needed to ensure the correct initialization - /// order of the stream buffer and base classes. - /// - /// Files are always opened in binary mode, a text mode - /// with CR-LF translation is not supported. Thus, the - /// file is always opened as if the std::ios::binary flag - /// was specified. - /// Use an InputLineEndingConverter or OutputLineEndingConverter - /// if you require CR-LF translation. - /// - /// On Windows platforms, if POCO_WIN32_UTF8 is #define'd, - /// UTF-8 encoded Unicode paths are correctly handled. -{ -public: - FileIOS(std::ios::openmode defaultMode); - /// Creates the basic stream. - - ~FileIOS(); - /// Destroys the stream. - - void open(const std::string& path, std::ios::openmode mode); - /// Opens the file specified by path, using the given mode. - /// - /// Throws a FileException (or a similar exception) if the file - /// does not exist or is not accessible for other reasons and - /// a new file cannot be created. - - void close(); - /// Closes the file stream. - /// - /// If, for an output stream, the close operation fails (because - /// the contents of the stream buffer cannot synced back to - /// the filesystem), the bad bit is set in the stream state. - - FileStreamBuf* rdbuf(); - /// Returns a pointer to the underlying streambuf. - -protected: - FileStreamBuf _buf; - std::ios::openmode _defaultMode; -}; - - -class Foundation_API FileInputStream: public FileIOS, public std::istream - /// An input stream for reading from a file. - /// - /// Files are always opened in binary mode, a text mode - /// with CR-LF translation is not supported. Thus, the - /// file is always opened as if the std::ios::binary flag - /// was specified. - /// Use an InputLineEndingConverter if you require CR-LF translation. - /// - /// On Windows platforms, if POCO_WIN32_UTF8 is #define'd, - /// UTF-8 encoded Unicode paths are correctly handled. -{ -public: - FileInputStream(); - /// Creates an unopened FileInputStream. - - FileInputStream(const std::string& path, std::ios::openmode mode = std::ios::in); - /// Creates the FileInputStream for the file given by path, using - /// the given mode. - /// - /// The std::ios::in flag is always set, regardless of the actual - /// value specified for mode. - /// - /// Throws a FileNotFoundException (or a similar exception) if the file - /// does not exist or is not accessible for other reasons. - - ~FileInputStream(); - /// Destroys the stream. -}; - - -class Foundation_API FileOutputStream: public FileIOS, public std::ostream - /// An output stream for writing to a file. - /// - /// Files are always opened in binary mode, a text mode - /// with CR-LF translation is not supported. Thus, the - /// file is always opened as if the std::ios::binary flag - /// was specified. - /// Use an OutputLineEndingConverter if you require CR-LF translation. - /// - /// On Windows platforms, if POCO_WIN32_UTF8 is #define'd, - /// UTF-8 encoded Unicode paths are correctly handled. -{ -public: - FileOutputStream(); - /// Creats an unopened FileOutputStream. - - FileOutputStream(const std::string& path, std::ios::openmode mode = std::ios::out | std::ios::trunc); - /// Creates the FileOutputStream for the file given by path, using - /// the given mode. - /// - /// The std::ios::out is always set, regardless of the actual - /// value specified for mode. - /// - /// Throws a FileException (or a similar exception) if the file - /// does not exist or is not accessible for other reasons and - /// a new file cannot be created. - - ~FileOutputStream(); - /// Destroys the FileOutputStream. -}; - - -class Foundation_API FileStream: public FileIOS, public std::iostream - /// A stream for reading from and writing to a file. - /// - /// Files are always opened in binary mode, a text mode - /// with CR-LF translation is not supported. Thus, the - /// file is always opened as if the std::ios::binary flag - /// was specified. - /// Use an InputLineEndingConverter or OutputLineEndingConverter - /// if you require CR-LF translation. - /// - /// A seek (seekg() or seekp()) operation will always set the - /// read position and the write position simultaneously to the - /// same value. - /// - /// On Windows platforms, if POCO_WIN32_UTF8 is #define'd, - /// UTF-8 encoded Unicode paths are correctly handled. -{ -public: - FileStream(); - /// Creats an unopened FileStream. - - FileStream(const std::string& path, std::ios::openmode mode = std::ios::out | std::ios::in); - /// Creates the FileStream for the file given by path, using - /// the given mode. - - ~FileStream(); - /// Destroys the FileOutputStream. -}; - - -} // namespace Poco - - -#endif // Foundation_FileStream_INCLUDED +// +// FileStream.h +// +// Library: Foundation +// Package: Streams +// Module: FileStream +// +// Definition of the FileStreamBuf, FileInputStream and FileOutputStream classes. +// +// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. +// and Contributors. +// +// SPDX-License-Identifier: BSL-1.0 +// + + +#ifndef Foundation_FileStream_INCLUDED +#define Foundation_FileStream_INCLUDED + + +#include "Poco/Foundation.h" +#if defined(POCO_OS_FAMILY_WINDOWS) +#include "Poco/FileStream_WIN32.h" +#else +#include "Poco/FileStream_POSIX.h" +#endif +#include <istream> +#include <ostream> + + +namespace Poco { + + +class Foundation_API FileIOS: public virtual std::ios + /// The base class for FileInputStream and FileOutputStream. + /// + /// This class is needed to ensure the correct initialization + /// order of the stream buffer and base classes. + /// + /// Files are always opened in binary mode, a text mode + /// with CR-LF translation is not supported. Thus, the + /// file is always opened as if the std::ios::binary flag + /// was specified. + /// Use an InputLineEndingConverter or OutputLineEndingConverter + /// if you require CR-LF translation. + /// + /// On Windows platforms, if POCO_WIN32_UTF8 is #define'd, + /// UTF-8 encoded Unicode paths are correctly handled. +{ +public: + FileIOS(std::ios::openmode defaultMode); + /// Creates the basic stream. + + ~FileIOS(); + /// Destroys the stream. + + void open(const std::string& path, std::ios::openmode mode); + /// Opens the file specified by path, using the given mode. + /// + /// Throws a FileException (or a similar exception) if the file + /// does not exist or is not accessible for other reasons and + /// a new file cannot be created. + + void close(); + /// Closes the file stream. + /// + /// If, for an output stream, the close operation fails (because + /// the contents of the stream buffer cannot synced back to + /// the filesystem), the bad bit is set in the stream state. + + FileStreamBuf* rdbuf(); + /// Returns a pointer to the underlying streambuf. + +protected: + FileStreamBuf _buf; + std::ios::openmode _defaultMode; +}; + + +class Foundation_API FileInputStream: public FileIOS, public std::istream + /// An input stream for reading from a file. + /// + /// Files are always opened in binary mode, a text mode + /// with CR-LF translation is not supported. Thus, the + /// file is always opened as if the std::ios::binary flag + /// was specified. + /// Use an InputLineEndingConverter if you require CR-LF translation. + /// + /// On Windows platforms, if POCO_WIN32_UTF8 is #define'd, + /// UTF-8 encoded Unicode paths are correctly handled. +{ +public: + FileInputStream(); + /// Creates an unopened FileInputStream. + + FileInputStream(const std::string& path, std::ios::openmode mode = std::ios::in); + /// Creates the FileInputStream for the file given by path, using + /// the given mode. + /// + /// The std::ios::in flag is always set, regardless of the actual + /// value specified for mode. + /// + /// Throws a FileNotFoundException (or a similar exception) if the file + /// does not exist or is not accessible for other reasons. + + ~FileInputStream(); + /// Destroys the stream. +}; + + +class Foundation_API FileOutputStream: public FileIOS, public std::ostream + /// An output stream for writing to a file. + /// + /// Files are always opened in binary mode, a text mode + /// with CR-LF translation is not supported. Thus, the + /// file is always opened as if the std::ios::binary flag + /// was specified. + /// Use an OutputLineEndingConverter if you require CR-LF translation. + /// + /// On Windows platforms, if POCO_WIN32_UTF8 is #define'd, + /// UTF-8 encoded Unicode paths are correctly handled. +{ +public: + FileOutputStream(); + /// Creats an unopened FileOutputStream. + + FileOutputStream(const std::string& path, std::ios::openmode mode = std::ios::out | std::ios::trunc); + /// Creates the FileOutputStream for the file given by path, using + /// the given mode. + /// + /// The std::ios::out is always set, regardless of the actual + /// value specified for mode. + /// + /// Throws a FileException (or a similar exception) if the file + /// does not exist or is not accessible for other reasons and + /// a new file cannot be created. + + ~FileOutputStream(); + /// Destroys the FileOutputStream. +}; + + +class Foundation_API FileStream: public FileIOS, public std::iostream + /// A stream for reading from and writing to a file. + /// + /// Files are always opened in binary mode, a text mode + /// with CR-LF translation is not supported. Thus, the + /// file is always opened as if the std::ios::binary flag + /// was specified. + /// Use an InputLineEndingConverter or OutputLineEndingConverter + /// if you require CR-LF translation. + /// + /// A seek (seekg() or seekp()) operation will always set the + /// read position and the write position simultaneously to the + /// same value. + /// + /// On Windows platforms, if POCO_WIN32_UTF8 is #define'd, + /// UTF-8 encoded Unicode paths are correctly handled. +{ +public: + FileStream(); + /// Creats an unopened FileStream. + + FileStream(const std::string& path, std::ios::openmode mode = std::ios::out | std::ios::in); + /// Creates the FileStream for the file given by path, using + /// the given mode. + + ~FileStream(); + /// Destroys the FileOutputStream. +}; + + +} // namespace Poco + + +#endif // Foundation_FileStream_INCLUDED |