40 static std::shared_ptr<DataBuffer>
create(
size_t size);
41 static std::shared_ptr<DataBuffer>
create(
const void *
data,
size_t size);
44 virtual char *
data() = 0;
45 virtual const char *
data()
const = 0;
47 template<
typename Type> Type *
data() {
return reinterpret_cast<Type*
>(
data()); }
48 template<
typename Type>
const Type *
data()
const {
return reinterpret_cast<const Type*
>(
data()); }
51 virtual size_t size()
const = 0;
57 virtual void set_size(
size_t size) = 0;
63 virtual std::shared_ptr<DataBuffer>
copy(
size_t pos,
size_t size) = 0;
General purpose data buffer.
Definition: databuffer.h:36
static std::shared_ptr< DataBuffer > create(size_t size)
Constructs a data buffer.
virtual char * data()=0
Returns a pointer to the data.
Type * data()
Definition: databuffer.h:47
virtual void set_capacity(size_t capacity)=0
Preallocate enough memory.
virtual size_t size() const =0
Returns the size of the data.
std::shared_ptr< DataBuffer > DataBufferPtr
Definition: databuffer.h:66
virtual void set_size(size_t size)=0
Resize the buffer.
const Type * data() const
Definition: databuffer.h:48
Definition: Application/application.h:35
virtual size_t capacity() const =0
Returns the capacity of the data buffer object.
virtual std::shared_ptr< DataBuffer > copy(size_t pos, size_t size)=0
Copy buffer to a new buffer.