4 : content(NULL), contentSize(v_size), padding(v_padding)
13 : content(NULL), contentSize(v_size), padding(v_padding)
19 memcpy(this->
content, v_content, v_size);
24 if (v_parent == NULL)
throw BufferException(
"Cannot make subBuffer for NULL buffer!");
29 bufsize_t copySize = v_size < parentSize ? v_size : parentSize;
30 bufsize_t allocSize = v_size > parentSize ? v_size : parentSize;
32 BYTE *bContent = v_parent->
getContentAt(v_offset, copySize);
33 if (bContent == NULL)
throw BufferException(
"Cannot make Buffer for NULL content!");
38 memcpy(this->
content, bContent, copySize);
45 BYTE*
content =
new (std::nothrow) BYTE[allocSize];
47 throw BufferException(
"Cannot allocate buffer of size: 0x" + QString::number(allocSize, 16));
57 BYTE *newContent = NULL;
63 if (newContent == NULL)
return false;
65 BYTE *oldContent = this->
content;
67 bufsize_t copySize = newSize < oldSize ? newSize : oldSize;
69 memcpy(newContent, oldContent, copySize);
virtual bufsize_t getContentSize()=0
virtual BYTE * getContentAt(offset_t offset, bufsize_t size, bool allowExceptions=false)
ByteBuffer(bufsize_t v_size, bufsize_t padding=DEFAULT_PADDING)
BYTE * allocContent(bufsize_t v_size, bufsize_t padding)
virtual bool resize(bufsize_t newSize)