The WvCircularBuf storage class.
More...
#include <wvbufstore.h>
|
| WvCircularBufStore (int _granularity, void *_data, size_t _avail, size_t _size, bool _autofree) |
|
| WvCircularBufStore (int _granularity, size_t _size) |
|
void * | ptr () const |
|
size_t | size () const |
|
bool | get_autofree () const |
|
void | set_autofree (bool _autofree) |
|
void | reset (void *_data, size_t _avail, size_t _size, bool _autofree) |
|
void | setavail (size_t _avail) |
|
void | normalize () |
|
virtual size_t | used () const |
|
virtual size_t | optgettable () const |
|
virtual const void * | get (size_t count) |
|
virtual void | unget (size_t count) |
|
virtual size_t | ungettable () const |
|
virtual void | zap () |
|
virtual size_t | free () const |
|
virtual size_t | optallocable () const |
|
virtual void * | alloc (size_t count) |
|
virtual void | unalloc (size_t count) |
|
virtual size_t | unallocable () const |
|
virtual void * | mutablepeek (int offset, size_t count) |
|
virtual bool | isreadable () const |
|
virtual void | skip (size_t count) |
|
virtual size_t | peekable (int offset) const |
|
virtual size_t | optpeekable (int offset) const |
|
virtual const void * | peek (int offset, size_t count) |
|
void | move (void *buf, size_t count) |
|
void | copy (void *buf, int offset, size_t count) |
|
virtual bool | iswritable () const |
|
void | put (const void *data, size_t count) |
|
void | fastput (const void *data, size_t count) |
|
void | poke (const void *data, int offset, size_t count) |
|
virtual void | merge (WvBufStore &instore, size_t count) |
|
void | basicmerge (WvBufStore &instore, size_t count) |
|
|
size_t | ensurecontiguous (int offset, size_t count, bool keephistory) |
| Ensures that count new bytes can be read from or written to the buffer beginning at the specified offset as one large contiguous block.
|
|
virtual bool | usessubbuffers () const |
| Returns true if the buffer uses subbuffers for storage.
|
|
virtual size_t | numsubbuffers () const |
| Returns the number of subbuffers in the buffer.
|
|
virtual WvBufStore * | firstsubbuffer () const |
| Returns the first subbuffer.
|
|
virtual void | appendsubbuffer (WvBufStore *buffer, bool autofree) |
| Appends a subbuffer to the buffer.
|
|
virtual void | prependsubbuffer (WvBufStore *buffer, bool autofree) |
| Prepends a subbuffer to the buffer.
|
|
virtual bool | unlinksubbuffer (WvBufStore *buffer, bool allowautofree) |
| Unlinks the specified subbuffer.
|
|
|
static void | compact (void *data, size_t size, size_t head, size_t count) |
| Compacts an array arranged as a circular buffer such that the specified region is moved to the beginning of the array.
|
|
The WvCircularBuf storage class.
Definition at line 320 of file wvbufstore.h.
◆ WvCircularBufStore() [1/2]
WvCircularBufStore::WvCircularBufStore |
( |
int |
_granularity, |
|
|
void * |
_data, |
|
|
size_t |
_avail, |
|
|
size_t |
_size, |
|
|
bool |
_autofree |
|
) |
| |
◆ WvCircularBufStore() [2/2]
WvCircularBufStore::WvCircularBufStore |
( |
int |
_granularity, |
|
|
size_t |
_size |
|
) |
| |
◆ ~WvCircularBufStore()
WvCircularBufStore::~WvCircularBufStore |
( |
| ) |
|
|
virtual |
◆ ptr()
void * WvCircularBufStore::ptr |
( |
| ) |
const |
|
inline |
◆ size()
size_t WvCircularBufStore::size |
( |
| ) |
const |
|
inline |
◆ get_autofree()
bool WvCircularBufStore::get_autofree |
( |
| ) |
const |
|
inline |
◆ set_autofree()
void WvCircularBufStore::set_autofree |
( |
bool |
_autofree | ) |
|
|
inline |
◆ reset()
void WvCircularBufStore::reset |
( |
void * |
_data, |
|
|
size_t |
_avail, |
|
|
size_t |
_size, |
|
|
bool |
_autofree = false |
|
) |
| |
◆ setavail()
void WvCircularBufStore::setavail |
( |
size_t |
_avail | ) |
|
◆ normalize()
void WvCircularBufStore::normalize |
( |
| ) |
|
◆ used()
size_t WvCircularBufStore::used |
( |
| ) |
const |
|
virtual |
◆ optgettable()
size_t WvCircularBufStore::optgettable |
( |
| ) |
const |
|
virtual |
◆ get()
const void * WvCircularBufStore::get |
( |
size_t |
count | ) |
|
|
virtual |
◆ unget()
void WvCircularBufStore::unget |
( |
size_t |
count | ) |
|
|
virtual |
◆ ungettable()
size_t WvCircularBufStore::ungettable |
( |
| ) |
const |
|
virtual |
◆ zap()
void WvCircularBufStore::zap |
( |
| ) |
|
|
virtual |
◆ free()
size_t WvCircularBufStore::free |
( |
| ) |
const |
|
virtual |
◆ optallocable()
size_t WvCircularBufStore::optallocable |
( |
| ) |
const |
|
virtual |
◆ alloc()
void * WvCircularBufStore::alloc |
( |
size_t |
count | ) |
|
|
virtual |
◆ unalloc()
void WvCircularBufStore::unalloc |
( |
size_t |
count | ) |
|
|
virtual |
◆ unallocable()
size_t WvCircularBufStore::unallocable |
( |
| ) |
const |
|
virtual |
◆ mutablepeek()
void * WvCircularBufStore::mutablepeek |
( |
int |
offset, |
|
|
size_t |
count |
|
) |
| |
|
virtual |
◆ ensurecontiguous()
size_t WvCircularBufStore::ensurecontiguous |
( |
int |
offset, |
|
|
size_t |
count, |
|
|
bool |
keephistory |
|
) |
| |
|
protected |
Ensures that count new bytes can be read from or written to the buffer beginning at the specified offset as one large contiguous block.
"offset" is the offset "count" is the number of bytes "keephistory" is if true, does not purge unget history Returns: the offset of the first available byte
Definition at line 647 of file wvbufferstore.cc.
References compact().
◆ compact()
void WvCircularBufStore::compact |
( |
void * |
data, |
|
|
size_t |
size, |
|
|
size_t |
head, |
|
|
size_t |
count |
|
) |
| |
|
staticprotected |
◆ isreadable()
virtual bool WvBufStore::isreadable |
( |
| ) |
const |
|
inlinevirtualinherited |
◆ skip()
virtual void WvBufStore::skip |
( |
size_t |
count | ) |
|
|
inlinevirtualinherited |
◆ peekable()
size_t WvBufStore::peekable |
( |
int |
offset | ) |
const |
|
virtualinherited |
◆ optpeekable()
virtual size_t WvBufStore::optpeekable |
( |
int |
offset | ) |
const |
|
inlinevirtualinherited |
◆ peek()
virtual const void * WvBufStore::peek |
( |
int |
offset, |
|
|
size_t |
count |
|
) |
| |
|
inlinevirtualinherited |
◆ move()
void WvBufStore::move |
( |
void * |
buf, |
|
|
size_t |
count |
|
) |
| |
|
inherited |
◆ copy()
void WvBufStore::copy |
( |
void * |
buf, |
|
|
int |
offset, |
|
|
size_t |
count |
|
) |
| |
|
inherited |
◆ iswritable()
virtual bool WvBufStore::iswritable |
( |
| ) |
const |
|
inlinevirtualinherited |
◆ put()
void WvBufStore::put |
( |
const void * |
data, |
|
|
size_t |
count |
|
) |
| |
|
inherited |
◆ fastput()
void WvBufStore::fastput |
( |
const void * |
data, |
|
|
size_t |
count |
|
) |
| |
|
inherited |
◆ poke()
void WvBufStore::poke |
( |
const void * |
data, |
|
|
int |
offset, |
|
|
size_t |
count |
|
) |
| |
|
inherited |
◆ merge()
void WvBufStore::merge |
( |
WvBufStore & |
instore, |
|
|
size_t |
count |
|
) |
| |
|
virtualinherited |
◆ basicmerge()
void WvBufStore::basicmerge |
( |
WvBufStore & |
instore, |
|
|
size_t |
count |
|
) |
| |
|
inherited |
◆ usessubbuffers()
virtual bool WvBufStore::usessubbuffers |
( |
| ) |
const |
|
inlineprotectedvirtualinherited |
◆ numsubbuffers()
virtual size_t WvBufStore::numsubbuffers |
( |
| ) |
const |
|
inlineprotectedvirtualinherited |
◆ firstsubbuffer()
virtual WvBufStore * WvBufStore::firstsubbuffer |
( |
| ) |
const |
|
inlineprotectedvirtualinherited |
◆ appendsubbuffer()
virtual void WvBufStore::appendsubbuffer |
( |
WvBufStore * |
buffer, |
|
|
bool |
autofree |
|
) |
| |
|
inlineprotectedvirtualinherited |
◆ prependsubbuffer()
virtual void WvBufStore::prependsubbuffer |
( |
WvBufStore * |
buffer, |
|
|
bool |
autofree |
|
) |
| |
|
inlineprotectedvirtualinherited |
◆ unlinksubbuffer()
virtual bool WvBufStore::unlinksubbuffer |
( |
WvBufStore * |
buffer, |
|
|
bool |
allowautofree |
|
) |
| |
|
inlineprotectedvirtualinherited |
Unlinks the specified subbuffer.
Only autofrees the buffer if allowautofree == true. Returns: the autofree flag for the buffer
Reimplemented in WvLinkedBufferStore.
Definition at line 123 of file wvbufstore.h.
◆ data
void* WvCircularBufStore::data |
|
protected |
◆ xsize
size_t WvCircularBufStore::xsize |
|
protected |
◆ head
size_t WvCircularBufStore::head |
|
protected |
◆ totalused
size_t WvCircularBufStore::totalused |
|
protected |
◆ totalinit
size_t WvCircularBufStore::totalinit |
|
protected |
◆ xautofree
bool WvCircularBufStore::xautofree |
|
protected |
◆ granularity
int WvBufStore::granularity |
|
protectedinherited |
The documentation for this class was generated from the following files: