@@ -24,20 +24,21 @@ class DynamicBuffer {
2424 DynamicBuffer () : _data(nullptr ), _len(0 ) {};
2525 explicit DynamicBuffer (size_t len) : _data(len ? reinterpret_cast <char *>(malloc(len)): nullptr), _len(_data ? len : 0 ) {};
2626 DynamicBuffer (const char * buf, size_t len) : DynamicBuffer(len) { if (_data) memcpy (_data, buf, len); };
27- explicit DynamicBuffer (const String& s) : DynamicBuffer(s.begin(), s.length()) {};
28- explicit DynamicBuffer (String&&); // Move string contents in to buffer if possible
29- DynamicBuffer (const SharedBuffer&);
30- DynamicBuffer (SharedBuffer&&);
27+
3128 ~DynamicBuffer () { clear (); };
3229
3330 // Move
3431 DynamicBuffer (DynamicBuffer&& d) : _data(d._data), _len(d._len) { d._data = nullptr ; d._len = 0 ; };
3532 DynamicBuffer& operator =(DynamicBuffer&& d) { std::swap (_data, d._data ); std::swap (_len, d._len ); return *this ; };
33+ DynamicBuffer (SharedBuffer&&); // Move data, leaving shared buffer empty
34+ explicit DynamicBuffer (String&&); // Move string contents in to buffer if possible
3635
3736 // Copy
3837 DynamicBuffer (const DynamicBuffer& d) : DynamicBuffer(d._data, d._len) {}; // copy
3938 DynamicBuffer& operator =(const DynamicBuffer& d) { *this = DynamicBuffer (d); return *this ; }; // use move to copy
40-
39+ DynamicBuffer (const SharedBuffer&); // Copy data
40+ explicit DynamicBuffer (const String& s) : DynamicBuffer(s.begin(), s.length()) {};
41+
4142 // Accessors
4243 char * data () const { return _data; };
4344 size_t size () const { return _len; };
0 commit comments