7 #ifndef _QITYPE_DETAILS_TYPEBUFFER_HXX_
8 #define _QITYPE_DETAILS_TYPEBUFFER_HXX_
17 virtual std::pair<char*, size_t>
get(
void *storage)
20 return std::make_pair(const_cast<char*>((
const char*)b->
data()), b->
size());
22 virtual void set(
void** storage,
const char* ptr,
size_t sz)
35 #endif // _QITYPE_DETAILS_TYPEBUFFER_HXX_
virtual void * ptrFromStorage(void **)=0
bool write(const void *data, size_t size)
Write data in the buffer.
virtual void set(void **storage, const char *ptr, size_t sz)
Set the buffer of data (buffer is copied)
void * data()
Return a pointer to the raw data storage of this buffer.
void clear()
Erase content of buffer and remove sub-buffers whithout clearing them.
static void * ptrFromStorage(void **storage)
_QI_BOUNCE_TYPE_METHODS(Methods)
size_t size() const
Return the content size of this buffer not counting sub-buffers.
DefaultTypeImplMethods< Buffer, TypeByPointerPOD< Buffer > > Methods
Class to store buffer. <includename>qi/buffer.hpp</includename> .