7 #ifndef IG_OMW_IO_FILE_H
8 #define IG_OMW_IO_FILE_H
16 #include "../../omw/defs.h"
17 #include "../../omw/string.h"
18 #include "../../omw/vector.h"
34 #if defined(OMW_PLAT_WIN)
36 #elif defined(OMW_PLAT_APPLE)
46 using fstream = std::fstream;
50 static constexpr
iostate good = fstream::goodbit;
51 static constexpr
iostate badbit = fstream::badbit;
52 static constexpr
iostate failbit = fstream::failbit;
53 static constexpr
iostate eofbit = fstream::eofbit;
64 const omw::string& filename()
const {
return m_filename; }
66 void setFileName(
const std::string& filename) { m_filename = filename; }
75 void read(
char* buffer,
size_t count)
const;
76 void write(
const char* data);
77 void write(
const char* data,
size_t count);
93 void read(uint8_t* buffer,
size_t count)
const;
94 void write(
const uint8_t* data,
size_t count);
122 #endif // IG_OMW_IO_FILE_H
static constexpr openmode rd
Definition: file.h:55
fstream::iostate iostate
Definition: file.h:47
std::streamoff streampos_to_streamoff(const std::streampos &val)
Definition: file.h:108
C++ standard string. See std::basic_string.
Definition: linkToStd.dox:19
fstream::openmode openmode
Definition: file.h:48
void open(openmode mode) const
Definition: file.cpp:57
void openRead() const
Definition: file.h:69
static constexpr openmode wr
Definition: file.h:56
void write(const uint8_t *data, size_t count)
Definition: file.cpp:260
size_t size() const
Definition: file.cpp:99
void openWrite()
Definition: file.h:70
size_t streampos_to_size(const std::streampos &val)
Definition: file.cpp:309
void close() const
Definition: file.cpp:85
void write(const char *data)
Definition: file.cpp:180
void read(char *buffer, size_t count) const
Definition: file.cpp:161
iostate getState() const
Definition: file.cpp:223
std::streamsize size_to_streamsize(size_t val)
Definition: file.cpp:271
void read(uint8_t *buffer, size_t count) const
Definition: file.cpp:252