template<typename A0, typename A1>
Filtered(A0 a0, A1 a1): B(a0, a1), filter(*this), active(false) { }
- virtual unsigned put(char c) { return filter.put(c); }
- virtual bool getline(std::string &l) { return filter.getline(l); }
- virtual int get() { return filter.get(); }
-
- F &get_filter() { return filter; }
protected:
virtual unsigned do_write(const char *b, unsigned s)
{
else
return B::do_read(b, s);
}
+
+public:
+ virtual unsigned put(char c) { return filter.put(c); }
+ virtual bool getline(std::string &l) { return filter.getline(l); }
+ virtual int get() { return filter.get(); }
+
+ F &get_filter() { return filter; }
};
} // namespace IO