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/src/StreamCopier.cpp | |
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/src/StreamCopier.cpp')
-rw-r--r-- | contrib/libs/poco/Foundation/src/StreamCopier.cpp | 300 |
1 files changed, 150 insertions, 150 deletions
diff --git a/contrib/libs/poco/Foundation/src/StreamCopier.cpp b/contrib/libs/poco/Foundation/src/StreamCopier.cpp index 6f34cc233a..b231a9736b 100644 --- a/contrib/libs/poco/Foundation/src/StreamCopier.cpp +++ b/contrib/libs/poco/Foundation/src/StreamCopier.cpp @@ -1,150 +1,150 @@ -// -// StreamCopier.cpp -// -// Library: Foundation -// Package: Streams -// Module: StreamCopier -// -// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. -// and Contributors. -// -// SPDX-License-Identifier: BSL-1.0 -// - - -#include "Poco/StreamCopier.h" -#include "Poco/Buffer.h" - - -namespace Poco { - - -std::streamsize StreamCopier::copyStream(std::istream& istr, std::ostream& ostr, std::size_t bufferSize) -{ - poco_assert (bufferSize > 0); - - Buffer<char> buffer(bufferSize); - std::streamsize len = 0; - istr.read(buffer.begin(), bufferSize); - std::streamsize n = istr.gcount(); - while (n > 0) - { - len += n; - ostr.write(buffer.begin(), n); - if (istr && ostr) - { - istr.read(buffer.begin(), bufferSize); - n = istr.gcount(); - } - else n = 0; - } - return len; -} - - -#if defined(POCO_HAVE_INT64) -Poco::UInt64 StreamCopier::copyStream64(std::istream& istr, std::ostream& ostr, std::size_t bufferSize) -{ - poco_assert (bufferSize > 0); - - Buffer<char> buffer(bufferSize); - Poco::UInt64 len = 0; - istr.read(buffer.begin(), bufferSize); - std::streamsize n = istr.gcount(); - while (n > 0) - { - len += n; - ostr.write(buffer.begin(), n); - if (istr && ostr) - { - istr.read(buffer.begin(), bufferSize); - n = istr.gcount(); - } - else n = 0; - } - return len; -} -#endif - - -std::streamsize StreamCopier::copyToString(std::istream& istr, std::string& str, std::size_t bufferSize) -{ - poco_assert (bufferSize > 0); - - Buffer<char> buffer(bufferSize); - std::streamsize len = 0; - istr.read(buffer.begin(), bufferSize); - std::streamsize n = istr.gcount(); - while (n > 0) - { - len += n; - str.append(buffer.begin(), static_cast<std::string::size_type>(n)); - if (istr) - { - istr.read(buffer.begin(), bufferSize); - n = istr.gcount(); - } - else n = 0; - } - return len; -} - - -#if defined(POCO_HAVE_INT64) -Poco::UInt64 StreamCopier::copyToString64(std::istream& istr, std::string& str, std::size_t bufferSize) -{ - poco_assert (bufferSize > 0); - - Buffer<char> buffer(bufferSize); - Poco::UInt64 len = 0; - istr.read(buffer.begin(), bufferSize); - std::streamsize n = istr.gcount(); - while (n > 0) - { - len += n; - str.append(buffer.begin(), static_cast<std::string::size_type>(n)); - if (istr) - { - istr.read(buffer.begin(), bufferSize); - n = istr.gcount(); - } - else n = 0; - } - return len; -} -#endif - - -std::streamsize StreamCopier::copyStreamUnbuffered(std::istream& istr, std::ostream& ostr) -{ - char c = 0; - std::streamsize len = 0; - istr.get(c); - while (istr && ostr) - { - ++len; - ostr.put(c); - istr.get(c); - } - return len; -} - - -#if defined(POCO_HAVE_INT64) -Poco::UInt64 StreamCopier::copyStreamUnbuffered64(std::istream& istr, std::ostream& ostr) -{ - char c = 0; - Poco::UInt64 len = 0; - istr.get(c); - while (istr && ostr) - { - ++len; - ostr.put(c); - istr.get(c); - } - return len; -} -#endif - - -} // namespace Poco +// +// StreamCopier.cpp +// +// Library: Foundation +// Package: Streams +// Module: StreamCopier +// +// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. +// and Contributors. +// +// SPDX-License-Identifier: BSL-1.0 +// + + +#include "Poco/StreamCopier.h" +#include "Poco/Buffer.h" + + +namespace Poco { + + +std::streamsize StreamCopier::copyStream(std::istream& istr, std::ostream& ostr, std::size_t bufferSize) +{ + poco_assert (bufferSize > 0); + + Buffer<char> buffer(bufferSize); + std::streamsize len = 0; + istr.read(buffer.begin(), bufferSize); + std::streamsize n = istr.gcount(); + while (n > 0) + { + len += n; + ostr.write(buffer.begin(), n); + if (istr && ostr) + { + istr.read(buffer.begin(), bufferSize); + n = istr.gcount(); + } + else n = 0; + } + return len; +} + + +#if defined(POCO_HAVE_INT64) +Poco::UInt64 StreamCopier::copyStream64(std::istream& istr, std::ostream& ostr, std::size_t bufferSize) +{ + poco_assert (bufferSize > 0); + + Buffer<char> buffer(bufferSize); + Poco::UInt64 len = 0; + istr.read(buffer.begin(), bufferSize); + std::streamsize n = istr.gcount(); + while (n > 0) + { + len += n; + ostr.write(buffer.begin(), n); + if (istr && ostr) + { + istr.read(buffer.begin(), bufferSize); + n = istr.gcount(); + } + else n = 0; + } + return len; +} +#endif + + +std::streamsize StreamCopier::copyToString(std::istream& istr, std::string& str, std::size_t bufferSize) +{ + poco_assert (bufferSize > 0); + + Buffer<char> buffer(bufferSize); + std::streamsize len = 0; + istr.read(buffer.begin(), bufferSize); + std::streamsize n = istr.gcount(); + while (n > 0) + { + len += n; + str.append(buffer.begin(), static_cast<std::string::size_type>(n)); + if (istr) + { + istr.read(buffer.begin(), bufferSize); + n = istr.gcount(); + } + else n = 0; + } + return len; +} + + +#if defined(POCO_HAVE_INT64) +Poco::UInt64 StreamCopier::copyToString64(std::istream& istr, std::string& str, std::size_t bufferSize) +{ + poco_assert (bufferSize > 0); + + Buffer<char> buffer(bufferSize); + Poco::UInt64 len = 0; + istr.read(buffer.begin(), bufferSize); + std::streamsize n = istr.gcount(); + while (n > 0) + { + len += n; + str.append(buffer.begin(), static_cast<std::string::size_type>(n)); + if (istr) + { + istr.read(buffer.begin(), bufferSize); + n = istr.gcount(); + } + else n = 0; + } + return len; +} +#endif + + +std::streamsize StreamCopier::copyStreamUnbuffered(std::istream& istr, std::ostream& ostr) +{ + char c = 0; + std::streamsize len = 0; + istr.get(c); + while (istr && ostr) + { + ++len; + ostr.put(c); + istr.get(c); + } + return len; +} + + +#if defined(POCO_HAVE_INT64) +Poco::UInt64 StreamCopier::copyStreamUnbuffered64(std::istream& istr, std::ostream& ostr) +{ + char c = 0; + Poco::UInt64 len = 0; + istr.get(c); + while (istr && ostr) + { + ++len; + ostr.put(c); + istr.get(c); + } + return len; +} +#endif + + +} // namespace Poco |