@@ -34,64 +34,64 @@ class StreamNull: public Stream
3434public:
3535
3636 // Print
37- virtual size_t write (uint8_t ) override
37+ size_t write (uint8_t ) override
3838 {
3939 return 1 ;
4040 }
4141
42- virtual size_t write (const uint8_t * buffer, size_t size) override
42+ size_t write (const uint8_t * buffer, size_t size) override
4343 {
4444 (void )buffer;
4545 (void )size;
4646 return size;
4747 }
4848
49- virtual int availableForWrite () override
49+ int availableForWrite () override
5050 {
5151 return std::numeric_limits<int16_t >::max ();
5252 }
5353
5454 // Stream
55- virtual int available () override
55+ int available () override
5656 {
5757 return 0 ;
5858 }
5959
60- virtual int read () override
60+ int read () override
6161 {
6262 return -1 ;
6363 }
6464
65- virtual int peek () override
65+ int peek () override
6666 {
6767 return -1 ;
6868 }
6969
70- virtual size_t readBytes (char * buffer, size_t len) override
70+ size_t readBytes (char * buffer, size_t len) override
7171 {
7272 (void )buffer;
7373 (void )len;
7474 return 0 ;
7575 }
7676
77- virtual int read (uint8_t * buffer, size_t len) override
77+ int read (uint8_t * buffer, size_t len) override
7878 {
7979 (void )buffer;
8080 (void )len;
8181 return 0 ;
8282 }
8383
84- virtual bool outputCanTimeout () override
84+ bool outputCanTimeout () override
8585 {
8686 return false ;
8787 }
8888
89- virtual bool inputCanTimeout () override
89+ bool inputCanTimeout () override
9090 {
9191 return false ;
9292 }
9393
94- virtual ssize_t streamRemaining () override
94+ ssize_t streamRemaining () override
9595 {
9696 return 0 ;
9797 }
@@ -113,34 +113,34 @@ class StreamZero: public StreamNull
113113 StreamZero (char zero = 0 ): _zero(zero) { }
114114
115115 // Stream
116- virtual int available () override
116+ int available () override
117117 {
118118 return std::numeric_limits<int16_t >::max ();
119119 }
120120
121- virtual int read () override
121+ int read () override
122122 {
123123 return _zero;
124124 }
125125
126- virtual int peek () override
126+ int peek () override
127127 {
128128 return _zero;
129129 }
130130
131- virtual size_t readBytes (char * buffer, size_t len) override
131+ size_t readBytes (char * buffer, size_t len) override
132132 {
133133 memset (buffer, _zero, len);
134134 return len;
135135 }
136136
137- virtual int read (uint8_t * buffer, size_t len) override
137+ int read (uint8_t * buffer, size_t len) override
138138 {
139139 memset ((char *)buffer, _zero, len);
140140 return len;
141141 }
142142
143- virtual ssize_t streamRemaining () override
143+ ssize_t streamRemaining () override
144144 {
145145 return std::numeric_limits<int16_t >::max ();
146146 }
@@ -160,7 +160,11 @@ class StreamConstPtr: public StreamNull
160160 size_t _peekPointer = 0 ;
161161
162162public:
163- StreamConstPtr (const String&& string) = delete ; // prevents passing String temporary, use ctor(buffer,size) if you know what you are doing
163+ // prevents passing String temporary, use ctor(buffer,size) if you know what you are doing
164+ StreamConstPtr (const String&&) = delete ;
165+ StreamConstPtr (String&&) = delete ;
166+
167+ // reference arbitrary pointer
164168 StreamConstPtr (const String& string): _buffer(string.c_str()), _size(string.length()), _byteAddressable(true ) { }
165169 StreamConstPtr (const char * buffer, size_t size): _buffer(buffer), _size(size), _byteAddressable(__byteAddressable(buffer)) { }
166170 StreamConstPtr (const uint8_t * buffer, size_t size): _buffer((const char *)buffer), _size(size), _byteAddressable(__byteAddressable(buffer)) { }
@@ -173,24 +177,24 @@ class StreamConstPtr: public StreamNull
173177 }
174178
175179 // Stream
176- virtual int available () override
180+ int available () override
177181 {
178182 return peekAvailable ();
179183 }
180184
181- virtual int read () override
185+ int read () override
182186 {
183187 // valid with dram, iram and flash
184188 return _peekPointer < _size ? pgm_read_byte (&_buffer[_peekPointer++]) : -1 ;
185189 }
186190
187- virtual int peek () override
191+ int peek () override
188192 {
189193 // valid with dram, iram and flash
190194 return _peekPointer < _size ? pgm_read_byte (&_buffer[_peekPointer]) : -1 ;
191195 }
192196
193- virtual size_t readBytes (char * buffer, size_t len) override
197+ size_t readBytes (char * buffer, size_t len) override
194198 {
195199 if (_peekPointer >= _size)
196200 {
@@ -202,33 +206,33 @@ class StreamConstPtr: public StreamNull
202206 return cpylen;
203207 }
204208
205- virtual int read (uint8_t * buffer, size_t len) override
209+ int read (uint8_t * buffer, size_t len) override
206210 {
207211 return readBytes ((char *)buffer, len);
208212 }
209213
210- virtual ssize_t streamRemaining () override
214+ ssize_t streamRemaining () override
211215 {
212216 return _size;
213217 }
214218
215219 // peekBuffer
216- virtual bool hasPeekBufferAPI () const override
220+ bool hasPeekBufferAPI () const override
217221 {
218- return _byteAddressable ;
222+ return true ;
219223 }
220224
221- virtual size_t peekAvailable () override
225+ size_t peekAvailable () override
222226 {
223227 return _peekPointer < _size ? _size - _peekPointer : 0 ;
224228 }
225229
226- virtual const char * peekBuffer () override
230+ const void * peekBuffer () override
227231 {
228232 return _peekPointer < _size ? _buffer + _peekPointer : nullptr ;
229233 }
230234
231- virtual void peekConsume (size_t consume) override
235+ void peekConsume (size_t consume) override
232236 {
233237 _peekPointer += consume;
234238 }
0 commit comments