Medial Code Documentation
Loading...
Searching...
No Matches
file_io.h
1#ifndef LIGHTGBM_UTILS_FILE_IO_H_
2#define LIGHTGBM_UTILS_FILE_IO_H_
3
4#include <memory>
5#include <iostream>
6#include <cstdio>
7#include <cstdlib>
8#include <cstring>
9
10namespace LightGBM {
11
16 virtual ~VirtualFileWriter() {}
21 virtual bool Init() = 0;
28 virtual size_t Write(const void* data, size_t bytes) const = 0;
34 static std::unique_ptr<VirtualFileWriter> Make(const std::string& filename);
40 static bool Exists(const std::string& filename);
41};
42
51 virtual ~VirtualFileReader() {}
56 virtual bool Init() = 0;
63 virtual size_t Read(void* buffer, size_t bytes) const = 0;
69 static std::unique_ptr<VirtualFileReader> Make(const std::string& filename);
70};
71
72} // namespace LightGBM
73
74#endif // LightGBM_UTILS_FILE_IO_H_
desc and descl2 fields must be written in reStructuredText format
Definition application.h:10
An interface for reading files into buffers.
Definition file_io.h:46
virtual bool Init()=0
Initialize the reader.
static std::unique_ptr< VirtualFileReader > Make(const std::string &filename)
Create appropriate reader for filename.
Definition file_io.cpp:153
virtual size_t Read(void *buffer, size_t bytes) const =0
Read data into buffer.
virtual ~VirtualFileReader()
Constructor.
Definition file_io.h:51
An interface for writing files from buffers.
Definition file_io.h:15
virtual size_t Write(const void *data, size_t bytes) const =0
Append buffer to file.
static std::unique_ptr< VirtualFileWriter > Make(const std::string &filename)
Create appropriate writer for filename.
Definition file_io.cpp:161
static bool Exists(const std::string &filename)
Check filename existence.
Definition file_io.cpp:169
virtual bool Init()=0
Initialize the writer.