Changeset 30:1dde7e03353f in xplcommon for src/xplcommon/Buffer.h
- Timestamp:
- 01/02/13 11:54:56 (11 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/xplcommon/Buffer.h
r29 r30 35 35 36 36 #include <cstdlib> 37 #include <cstring> 37 38 38 39 //------------------------------------------------------------------------------ … … 130 131 * @return the number of bytes actually extracted. 131 132 */ 132 size_t extract(void* dest, size_t size, size_t offset = 0) ;133 size_t extract(void* dest, size_t size, size_t offset = 0) const; 133 134 }; 134 135 … … 207 208 length += toAdd; 208 209 return toAdd; 210 } 211 212 //------------------------------------------------------------------------------ 213 214 inline size_t Buffer::append(const void* src, size_t size) 215 { 216 size_t toCopy = std::min(size, getAvailable()); 217 memcpy(data + length, src, toCopy); 218 length += toCopy; 219 return toCopy; 220 } 221 222 //------------------------------------------------------------------------------ 223 224 inline size_t Buffer::extract(void* dest, size_t size, size_t offset) const 225 { 226 size_t toCopy = (offset>=length) ? 0 : std::min(size, length - offset); 227 memcpy(dest, data + offset, toCopy); 228 return toCopy; 209 229 } 210 230
Note:
See TracChangeset
for help on using the changeset viewer.