X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fio%2Fslice.h;h=cec1fcf12b0dc0d822f8a837445a096f64236637;hb=9b38e20254913629a0db40e8eb8e1c42e1728e41;hp=fb4501483bd56e0956ac9b6775d352b53d2ad508;hpb=481b844ed7d180ffbf70223075f2fc1ffdb5b444;p=libs%2Fcore.git diff --git a/source/io/slice.h b/source/io/slice.h index fb45014..cec1fcf 100644 --- a/source/io/slice.h +++ b/source/io/slice.h @@ -20,26 +20,27 @@ class Slice: public Seekable, public sigc::trackable { private: Seekable &below; - SeekOffset start_offset; - SeekOffset length; - SeekOffset position; - bool sync_position; + SeekOffset start_offset = 0; + SeekOffset length = 0; + SeekOffset position = 0; + bool sync_position = true; public: Slice(Seekable &, SeekOffset, SeekOffset); virtual void set_block(bool); + virtual void set_inherit(bool); private: void flush(); unsigned prepare_op(unsigned, Mode); protected: - virtual unsigned do_write(const char *, unsigned); - virtual unsigned do_read(char *, unsigned); + virtual std::size_t do_write(const char *, std::size_t); + virtual std::size_t do_read(char *, std::size_t); public: - virtual unsigned put(char); + virtual std::size_t put(char); virtual int get(); virtual const Handle &get_handle(Mode);