X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ffiltered.h;h=ff8577acb77386bae2f438e89bd84ee98b06b124;hb=73a21b6f495e16707ede460a2c9d8f1474bb4d93;hp=057517547c5ea7aa9afdfd80a9f78ff2292bfa75;hpb=dd318ef67b0c683c8306da0abf806e99cff346e9;p=libs%2Fcore.git diff --git a/source/filtered.h b/source/filtered.h index 0575175..ff8577a 100644 --- a/source/filtered.h +++ b/source/filtered.h @@ -19,8 +19,8 @@ private: { Filtered &f; - Activator(Filtered &f_): f(f_) { f.active=true; } - ~Activator() { f.active=false; } + Activator(Filtered &f_): f(f_) { f.active = true; } + ~Activator() { f.active = false; } }; F filter; @@ -28,6 +28,7 @@ private: public: Filtered(): filter(*this), active(false) { } + ~Filtered() { active = true; } template Filtered(A0 a0): B(a0), filter(*this), active(false) { } @@ -35,6 +36,10 @@ public: template 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)