// Copyright (c) 2018 PaddlePaddle Authors. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. #include "paddle/fluid/recordio/writer.h" namespace paddle { namespace recordio { Writer::Writer(std::ostream& os) : stream_(os.rdbuf()), max_chunk_size_(0), compressor_(0) {} Writer::Writer(std::ostream& os, int maxChunkSize, int compressor) : stream_(os.rdbuf()), max_chunk_size_(maxChunkSize), compressor_(compressor) { // clear rdstate stream_.clear(); chunk_.reset(new Chunk); } size_t Writer::Write(const std::string& buf) { return Write(std::string(buf)); } size_t Writer::Write(const char* buf, size_t length) { return Write(std::string(buf, length)); } size_t Writer::Write(std::string&& buf) {} void Writer::Close() { stream_.flush(); stream_.setstate(std::ios::eofbit); } } // namespace recordio } // namespace paddle