7 #ifndef _QITYPE_DETAIL_TYPEBUFFER_HXX_
8 #define _QITYPE_DETAIL_TYPEBUFFER_HXX_
17 std::pair<char*, size_t>
get(
void *storage)
override
23 qiLogError(
"qitype.buffertypeinterface") <<
"buffer has sub-buffers, Python bytearrays might be incomplete";
25 return std::make_pair(const_cast<char*>((
const char*)b->
data()), b->
size());
27 void set(
void** storage,
const char* ptr,
size_t sz)
override
40 #endif // _QITYPE_DETAIL_TYPEBUFFER_HXX_
virtual void * ptrFromStorage(void **)=0
bool write(const void *data, size_t size)
Write data in the buffer.
const std::vector< std::pair< size_t, Buffer > > & subBuffers() const
Return a vector of sub-buffers of the current buffer.
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.
#define qiLogError(...)
Log in error mode.
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.
void set(void **storage, const char *ptr, size_t sz) override
Set the buffer of data (buffer is copied)
Class to store buffer. <includename>qi/buffer.hpp</includename> .