class Buffered: public Base
{
private:
- Base &below;
+ Base &below;
unsigned buf_size;
- char *buf;
- char *begin;
- char *end;
- Mode cur_op;
+ char *buf;
+ char *begin;
+ char *end;
+ Mode cur_op;
public:
Buffered(Base &, unsigned =8192);
~Buffered();
- unsigned put(char);
void flush();
- bool getline(std::string &);
- int get();
- Handle get_event_handle();
- Mode get_current_op() const { return cur_op; }
- unsigned get_current_size() const;
-private:
- void set_op(Mode);
+
protected:
unsigned do_write(const char *, unsigned);
unsigned do_read(char *, unsigned);
+public:
+ unsigned put(char);
+
+ bool getline(std::string &);
+ int get();
+
+private:
+ void set_op(Mode);
+public:
+ Mode get_current_op() const { return cur_op; }
+ unsigned get_current_size() const;
+
+ virtual Handle get_event_handle();
};
} // namespace IO