@@ -34,64 +34,64 @@ class StreamNull: public Stream
34
34
public:
35
35
36
36
// Print
37
- virtual size_t write (uint8_t ) override
37
+ size_t write (uint8_t ) override
38
38
{
39
39
return 1 ;
40
40
}
41
41
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
43
43
{
44
44
(void )buffer;
45
45
(void )size;
46
46
return size;
47
47
}
48
48
49
- virtual int availableForWrite () override
49
+ int availableForWrite () override
50
50
{
51
51
return std::numeric_limits<int16_t >::max ();
52
52
}
53
53
54
54
// Stream
55
- virtual int available () override
55
+ int available () override
56
56
{
57
57
return 0 ;
58
58
}
59
59
60
- virtual int read () override
60
+ int read () override
61
61
{
62
62
return -1 ;
63
63
}
64
64
65
- virtual int peek () override
65
+ int peek () override
66
66
{
67
67
return -1 ;
68
68
}
69
69
70
- virtual size_t readBytes (char * buffer, size_t len) override
70
+ size_t readBytes (char * buffer, size_t len) override
71
71
{
72
72
(void )buffer;
73
73
(void )len;
74
74
return 0 ;
75
75
}
76
76
77
- virtual int read (uint8_t * buffer, size_t len) override
77
+ int read (uint8_t * buffer, size_t len) override
78
78
{
79
79
(void )buffer;
80
80
(void )len;
81
81
return 0 ;
82
82
}
83
83
84
- virtual bool outputCanTimeout () override
84
+ bool outputCanTimeout () override
85
85
{
86
86
return false ;
87
87
}
88
88
89
- virtual bool inputCanTimeout () override
89
+ bool inputCanTimeout () override
90
90
{
91
91
return false ;
92
92
}
93
93
94
- virtual ssize_t streamRemaining () override
94
+ ssize_t streamRemaining () override
95
95
{
96
96
return 0 ;
97
97
}
@@ -113,34 +113,34 @@ class StreamZero: public StreamNull
113
113
StreamZero (char zero = 0 ): _zero(zero) { }
114
114
115
115
// Stream
116
- virtual int available () override
116
+ int available () override
117
117
{
118
118
return std::numeric_limits<int16_t >::max ();
119
119
}
120
120
121
- virtual int read () override
121
+ int read () override
122
122
{
123
123
return _zero;
124
124
}
125
125
126
- virtual int peek () override
126
+ int peek () override
127
127
{
128
128
return _zero;
129
129
}
130
130
131
- virtual size_t readBytes (char * buffer, size_t len) override
131
+ size_t readBytes (char * buffer, size_t len) override
132
132
{
133
133
memset (buffer, _zero, len);
134
134
return len;
135
135
}
136
136
137
- virtual int read (uint8_t * buffer, size_t len) override
137
+ int read (uint8_t * buffer, size_t len) override
138
138
{
139
139
memset ((char *)buffer, _zero, len);
140
140
return len;
141
141
}
142
142
143
- virtual ssize_t streamRemaining () override
143
+ ssize_t streamRemaining () override
144
144
{
145
145
return std::numeric_limits<int16_t >::max ();
146
146
}
@@ -160,7 +160,11 @@ class StreamConstPtr: public StreamNull
160
160
size_t _peekPointer = 0 ;
161
161
162
162
public:
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
164
168
StreamConstPtr (const String& string): _buffer(string.c_str()), _size(string.length()), _byteAddressable(true ) { }
165
169
StreamConstPtr (const char * buffer, size_t size): _buffer(buffer), _size(size), _byteAddressable(__byteAddressable(buffer)) { }
166
170
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
173
177
}
174
178
175
179
// Stream
176
- virtual int available () override
180
+ int available () override
177
181
{
178
182
return peekAvailable ();
179
183
}
180
184
181
- virtual int read () override
185
+ int read () override
182
186
{
183
187
// valid with dram, iram and flash
184
188
return _peekPointer < _size ? pgm_read_byte (&_buffer[_peekPointer++]) : -1 ;
185
189
}
186
190
187
- virtual int peek () override
191
+ int peek () override
188
192
{
189
193
// valid with dram, iram and flash
190
194
return _peekPointer < _size ? pgm_read_byte (&_buffer[_peekPointer]) : -1 ;
191
195
}
192
196
193
- virtual size_t readBytes (char * buffer, size_t len) override
197
+ size_t readBytes (char * buffer, size_t len) override
194
198
{
195
199
if (_peekPointer >= _size)
196
200
{
@@ -202,33 +206,33 @@ class StreamConstPtr: public StreamNull
202
206
return cpylen;
203
207
}
204
208
205
- virtual int read (uint8_t * buffer, size_t len) override
209
+ int read (uint8_t * buffer, size_t len) override
206
210
{
207
211
return readBytes ((char *)buffer, len);
208
212
}
209
213
210
- virtual ssize_t streamRemaining () override
214
+ ssize_t streamRemaining () override
211
215
{
212
216
return _size;
213
217
}
214
218
215
219
// peekBuffer
216
- virtual bool hasPeekBufferAPI () const override
220
+ bool hasPeekBufferAPI () const override
217
221
{
218
- return _byteAddressable ;
222
+ return true ;
219
223
}
220
224
221
- virtual size_t peekAvailable () override
225
+ size_t peekAvailable () override
222
226
{
223
227
return _peekPointer < _size ? _size - _peekPointer : 0 ;
224
228
}
225
229
226
- virtual const char * peekBuffer () override
230
+ const void * peekBuffer () override
227
231
{
228
232
return _peekPointer < _size ? _buffer + _peekPointer : nullptr ;
229
233
}
230
234
231
- virtual void peekConsume (size_t consume) override
235
+ void peekConsume (size_t consume) override
232
236
{
233
237
_peekPointer += consume;
234
238
}
0 commit comments