X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fio%2Fbase.h;fp=source%2Fio%2Fbase.h;h=7bd5bd9e963a4be383f2407a50fdf8a6f1c07d3e;hp=b6d1ff65a2a83f1b793d10fb5a4d36fd9f966efa;hb=c8bf2d6c15893ccc9dbc4e04611b7229029f4808;hpb=817e584903996a041692640720a5a272d847a3c7 diff --git a/source/io/base.h b/source/io/base.h index b6d1ff6..7bd5bd9 100644 --- a/source/io/base.h +++ b/source/io/base.h @@ -1,6 +1,7 @@ #ifndef MSP_IO_BASE_H_ #define MSP_IO_BASE_H_ +#include #include #include #include @@ -69,25 +70,25 @@ public: protected: void check_access(Mode) const; - virtual unsigned do_write(const char *, unsigned) = 0; - virtual unsigned do_read(char *, unsigned) = 0; + virtual std::size_t do_write(const char *, std::size_t) = 0; + virtual std::size_t do_read(char *, std::size_t) = 0; public: /** Writes data from a buffer. Subject to blocking. Returns the number of bytes written, which may be zero for a non-blockin operation. */ - unsigned write(const char *b, unsigned c) { return do_write(b, c); } + std::size_t write(const char *b, std::size_t c) { return do_write(b, c); } /** Writes a string. This is identical to calling write(s.data(), s.size()). */ - unsigned write(const std::string &s) { return do_write(s.data(), s.size()); } + std::size_t write(const std::string &s) { return do_write(s.data(), s.size()); } /** Writes a single character. This is identical to calling write(&c, 1). */ - virtual unsigned put(char c) { return do_write(&c, 1); } + virtual std::size_t put(char c) { return do_write(&c, 1); } /** Reads data into a buffer. Subject to blocking. Returns the number of bytes read, which may be zero for a non-blocking operation. */ - unsigned read(char *b, unsigned c) { return do_read(b, c); } + std::size_t read(char *b, std::size_t c) { return do_read(b, c); } /** Reads characters up to the next linefeed or end-of-file. The linefeed is not included in the line. Returns true if a line was successfully read,