Devel Lib
Devel::IO::IBuffer Class Referenceabstract

An interface for working with byte buffers. More...

#include <Buffer.h>

Inheritance diagram for Devel::IO::IBuffer:

Public Member Functions

virtual const char * buffer () const =0
 Get a constant pointer to the start of the buffer. More...
 
virtual char * rawBuffer () const =0
 Get a mutable pointer to the start of the buffer. More...
 
virtual size_t size () const =0
 Get the size of the buffer. More...
 

Detailed Description

An interface for working with byte buffers.

This class represents an interface for a buffer of bytes, providing a consistent way to interact with various types of byte buffers.

Example

Here's an example of how you might use an IBuffer:

class CExampleBuffer : public IBuffer {
char data[128];
const char *buffer() const override {
return data;
}
char *rawBuffer() const override {
return data;
}
size_t size() const override {
return sizeof(data);
}
};
CExampleBuffer myBuffer;
const char *buffer = myBuffer.buffer();
size_t bufferSize = myBuffer.size();
virtual const char * buffer() const =0
Get a constant pointer to the start of the buffer.
virtual size_t size() const =0
Get the size of the buffer.
virtual char * rawBuffer() const =0
Get a mutable pointer to the start of the buffer.

Member Function Documentation

◆ buffer()

virtual const char* Devel::IO::IBuffer::buffer ( ) const
pure virtual

Get a constant pointer to the start of the buffer.

Returns
A const char pointer to the buffer.

Implemented in Devel::IO::CDynamicBuffer.

◆ rawBuffer()

virtual char* Devel::IO::IBuffer::rawBuffer ( ) const
pure virtual

Get a mutable pointer to the start of the buffer.

Returns
A char pointer to the buffer.

Implemented in Devel::IO::CDynamicBuffer.

◆ size()

virtual size_t Devel::IO::IBuffer::size ( ) const
pure virtual

Get the size of the buffer.

Returns
The size of the buffer.

Implemented in Devel::IO::CDynamicBuffer.


The documentation for this class was generated from the following file: