Move the flush method from Stream to Print

This method originally flushed pending input bytes, which makes sense in
Stream. At some point it was changed to flush output bytes instead, but
it was never moved to Print to reflect this.

Since Stream inherits from Print, this should not really affect any
users of the Stream or Print classes. However to prevent problems with
existing implementations of the Print class that do not provide a
flush() implementation, a default implementation is provided. We should
probably remove this at some point in the future, though.
This commit is contained in:
Matthijs Kooijman 2014-10-24 15:26:38 +02:00 committed by Cristian Maglie
parent 716fba8dd9
commit ba9d416862
2 changed files with 2 additions and 1 deletions

View File

@ -87,6 +87,8 @@ class Print
size_t println(double, int = 2);
size_t println(const Printable&);
size_t println(void);
virtual void flush() { /* Empty implementation for backward compatibility */ }
};
#endif

View File

@ -59,7 +59,6 @@ class Stream : public Print
virtual int available() = 0;
virtual int read() = 0;
virtual int peek() = 0;
virtual void flush() = 0;
Stream() {_timeout=1000;}