Go to the documentation of this file.
8 #ifndef XGBOOST_COMMON_IO_H_
9 #define XGBOOST_COMMON_IO_H_
12 #include <rabit/rabit.h>
30 : strm_(strm), buffer_ptr_(0) {}
32 size_t Read(
void* dptr,
size_t size)
override;
33 virtual size_t PeekRead(
void* dptr,
size_t size);
35 void Write(
const void*,
size_t)
override {
36 LOG(FATAL) <<
"Not implemented";
57 size_t Read(
void* dptr,
size_t size)
override;
58 size_t PeekRead(
void* dptr,
size_t size)
override;
59 size_t Size()
const {
return buffer_.size(); }
60 size_t Tell()
const {
return pointer_; }
61 void Seek(
size_t pos);
63 void Write(
const void*,
size_t)
override {
64 LOG(FATAL) <<
"Not implemented";
71 void Take(std::string* out);
96 std::string
FileExtension(std::string fname,
bool lower =
true);
104 fixed_size->Seek(common::MemoryFixSizeBuffer::kSeekEnd);
105 size_t size = fixed_size->Tell();
108 CHECK_EQ(fixed_size->Read(&buffer[0], size), size);
116 #endif // XGBOOST_COMMON_IO_H_
size_t PeekRead(void *dptr, size_t size) override
std::string ReadAll(dmlc::Stream *fi, PeekableInStream *fp)
Read the whole buffer from dmlc stream.
Definition: io.h:101
size_t Read(void *dptr, size_t size) override
rabit::utils::MemoryFixSizeBuffer MemoryFixSizeBuffer
Definition: io.h:20
void Take(std::string *out)
Take the buffer from ‘FixedSizeStream’. The one in ‘FixedSizeStream’ will be cleared out.
std::string LoadSequentialFile(std::string uri, bool stream=false)
Helper function for loading consecutive file to avoid dmlc Stream when possible.
FixedSizeStream(PeekableInStream *stream)
void Write(const void *, size_t) override
Definition: io.h:63
std::string FileExtension(std::string fname, bool lower=true)
Get file extension from file name.
size_t Tell() const
Definition: io.h:60
virtual size_t PeekRead(void *dptr, size_t size)
~FixedSizeStream() override=default
Input stream that support additional PeekRead operation, besides read.
Definition: io.h:27
A simple class used to consume ‘dmlc::Stream’ all at once.
Definition: io.h:52
size_t Size() const
Definition: io.h:59
void Write(const void *, size_t) override
Definition: io.h:35
rabit::utils::MemoryBufferStream MemoryBufferStream
Definition: io.h:21
PeekableInStream(dmlc::Stream *strm)
Definition: io.h:29
size_t Read(void *dptr, size_t size) override
namespace of xgboost
Definition: base.h:110