@@ -28,58 +28,72 @@ class StdioDevice : public Stream {
2828 // nothing to be done
2929 }
3030
31- virtual void print (const char * str){
31+ virtual size_t print (const char * str){
3232 std::cout << str;
3333 if (auto_flush) flush ();
34+ return strlen (str);
3435 }
3536
36- virtual void println (const char * str=" " ){
37+ virtual size_t println (const char * str=" " ){
3738 std::cout << str << " \n " ;
3839 if (auto_flush) flush ();
40+ return strlen (str) + 1 ;
3941 }
4042
41- virtual void print (int val, int radix = DEC){
42- if (radix == DEC) { std::cout << val; } else { Stream::print (val, radix); }
43+ virtual size_t print (int val, int radix = DEC){
44+ size_t result = Stream::print (val, radix);
4345 if (auto_flush) flush ();
46+ return result;
4447 }
4548
46- virtual void println (int val, int radix = DEC){
47- if (radix == DEC) { std::cout << val << " \n " ; } else { Stream::println (val, radix); }
49+ virtual size_t println (int val, int radix = DEC){
50+ size_t result = Stream::println (val, radix);
4851 if (auto_flush) flush ();
52+ return result;
4953 }
5054
51- virtual void println (String &str){
52- println (str.c_str ());
55+ virtual size_t println (String &str){
56+ return println (str.c_str ());
5357 }
5458
55- virtual void print (String &str){
56- print (str.c_str ());
59+ virtual size_t print (String &str){
60+ return print (str.c_str ());
5761 }
5862
5963
60- virtual void println (Printable &p){
61- p.printTo (*this );
64+ virtual size_t println (Printable &p){
65+ size_t result = p.printTo (*this );
6266 std::cout << " \n " ;
6367 if (auto_flush) flush ();
68+ return result + 1 ;
6469 }
6570
66- virtual void print (Printable &p){
67- p.printTo (*this );
71+ virtual size_t print (Printable &p){
72+ auto result = p.printTo (*this );
6873 if (auto_flush) flush ();
74+ return result;
6975 }
7076
7177 virtual void flush () {
7278 std::cout.flush ();
7379 }
7480
75- virtual void write (const char * str, int len) {
81+ virtual size_t write (const char * str, size_t len) {
7682 std::cout.write (str, len);
7783 if (auto_flush) flush ();
84+ return len;
7885 }
7986
80- virtual void write (uint8_t * str, int len) {
87+ virtual size_t write (uint8_t * str, size_t len) {
8188 std::cout.write ((const char *)str, len);
8289 if (auto_flush) flush ();
90+ return len;
91+
92+ }
93+ size_t write (const uint8_t * str, size_t len) override {
94+ std::cout.write ((const char *)str, len);
95+ if (auto_flush) flush ();
96+ return len;
8397 }
8498
8599 virtual size_t write (int32_t value){
@@ -88,7 +102,7 @@ class StdioDevice : public Stream {
88102 return 1 ;
89103 }
90104
91- virtual size_t write (uint8_t value){
105+ size_t write (uint8_t value) override {
92106 std::cout.put (value);
93107 if (auto_flush) flush ();
94108 return 1 ;
0 commit comments