#pragma once #include #include namespace NYT { class IProxyOutput; //////////////////////////////////////////////////////////////////////////////// class TNodeTableWriter : public INodeWriterImpl { public: explicit TNodeTableWriter(THolder output, ::NYson::EYsonFormat format = ::NYson::EYsonFormat::Binary); ~TNodeTableWriter() override; void AddRow(const TNode& row, size_t tableIndex) override; void AddRow(TNode&& row, size_t tableIndex) override; size_t GetBufferMemoryUsage() const override; size_t GetTableCount() const override; void FinishTable(size_t) override; void Abort() override; private: THolder Output_; TVector> Writers_; }; //////////////////////////////////////////////////////////////////////////////// } // namespace NYT