diff options
author | Mikhail Borisov <borisov.mikhail@gmail.com> | 2022-02-10 16:45:39 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:45:39 +0300 |
commit | a6a92afe03e02795227d2641b49819b687f088f8 (patch) | |
tree | f6984a1d27d5a7ec88a6fdd6e20cd5b7693b6ece /library/cpp/yson_pull/output.h | |
parent | c6dc8b8bd530985bc4cce0137e9a5de32f1087cb (diff) | |
download | ydb-a6a92afe03e02795227d2641b49819b687f088f8.tar.gz |
Restoring authorship annotation for Mikhail Borisov <borisov.mikhail@gmail.com>. Commit 1 of 2.
Diffstat (limited to 'library/cpp/yson_pull/output.h')
-rw-r--r-- | library/cpp/yson_pull/output.h | 58 |
1 files changed, 29 insertions, 29 deletions
diff --git a/library/cpp/yson_pull/output.h b/library/cpp/yson_pull/output.h index 2d78107a93..62412a2f4d 100644 --- a/library/cpp/yson_pull/output.h +++ b/library/cpp/yson_pull/output.h @@ -1,35 +1,35 @@ -#pragma once - -#include "buffer.h" - -#include <util/generic/ptr.h> -#include <util/generic/strbuf.h> -#include <util/system/types.h> -#include <util/system/yassert.h> - -#include <cstddef> -#include <cstdio> -#include <cstring> -#include <memory> - -//! \brief Output stream adaptor interface. -//! -//! Represents a model of an optionally-buffered writer. +#pragma once + +#include "buffer.h" + +#include <util/generic/ptr.h> +#include <util/generic/strbuf.h> +#include <util/system/types.h> +#include <util/system/yassert.h> + +#include <cstddef> +#include <cstdio> +#include <cstring> +#include <memory> + +//! \brief Output stream adaptor interface. +//! +//! Represents a model of an optionally-buffered writer. namespace NYsonPull { namespace NOutput { class IStream { output_buffer buffer_; - + public: virtual ~IStream() = default; - + output_buffer& buffer() noexcept { return buffer_; } const output_buffer& buffer() const noexcept { return buffer_; } - + void flush_buffer(TStringBuf extra = {}) { if (!extra.empty() || !buffer_.is_empty()) { do_flush_buffer(extra); @@ -38,7 +38,7 @@ namespace NYsonPull { do_flush_buffer({}); } } - + protected: //! \brief Flush data to underlying stream. //! @@ -51,15 +51,15 @@ namespace NYsonPull { //! Write is assumed to always succeed unless it throws an exception. virtual void do_flush_buffer(TStringBuf extra) = 0; }; - - //! \brief Write data to C FILE* object. - THolder<IStream> FromStdioFile(FILE* file, size_t buffer_size = 0); - - //! \brief Write data to POSIX file descriptor - THolder<IStream> FromPosixFd(int fd, size_t buffer_size = 65536); - + + //! \brief Write data to C FILE* object. + THolder<IStream> FromStdioFile(FILE* file, size_t buffer_size = 0); + + //! \brief Write data to POSIX file descriptor + THolder<IStream> FromPosixFd(int fd, size_t buffer_size = 65536); + THolder<IStream> FromOutputStream(IOutputStream* output, size_t buffer_size = 65536); - + THolder<IStream> FromString(TString* output, size_t buffer_size = 1024); } } |