WvStreams
|
The WvCircularBuf storage class. More...
#include <wvbufstore.h>
Public Member Functions | |
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) |
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 bool | isreadable () const |
virtual void | skip (size_t count) |
virtual void | skip (size_t count) |
virtual size_t | peekable (int offset) const |
virtual size_t | peekable (int offset) const |
virtual size_t | optpeekable (int offset) const |
virtual size_t | optpeekable (int offset) const |
virtual const void * | peek (int offset, size_t count) |
virtual const void * | peek (int offset, size_t count) |
void | move (void *buf, size_t count) |
void | move (void *buf, size_t count) |
void | copy (void *buf, int offset, size_t count) |
void | copy (void *buf, int offset, size_t count) |
virtual bool | iswritable () const |
virtual bool | iswritable () const |
void | put (const void *data, size_t count) |
void | put (const void *data, size_t count) |
void | fastput (const void *data, size_t count) |
void | fastput (const void *data, size_t count) |
void | poke (const void *data, int offset, size_t count) |
void | poke (const void *data, int offset, size_t count) |
virtual void | merge (WvBufStore &instore, size_t count) |
virtual void | merge (WvBufStore &instore, size_t count) |
void | basicmerge (WvBufStore &instore, size_t count) |
void | basicmerge (WvBufStore &instore, size_t count) |
Protected Member Functions | |
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. | |
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 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 size_t | numsubbuffers () const |
Returns the number of subbuffers in the buffer. | |
virtual WvBufStore * | firstsubbuffer () const |
Returns the first subbuffer. | |
virtual WvBufStore * | firstsubbuffer () const |
Returns the first subbuffer. | |
virtual void | appendsubbuffer (WvBufStore *buffer, bool autofree) |
Appends a subbuffer to the buffer. | |
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 void | prependsubbuffer (WvBufStore *buffer, bool autofree) |
Prepends a subbuffer to the buffer. | |
virtual bool | unlinksubbuffer (WvBufStore *buffer, bool allowautofree) |
Unlinks the specified subbuffer. | |
virtual bool | unlinksubbuffer (WvBufStore *buffer, bool allowautofree) |
Unlinks the specified subbuffer. | |
Static Protected Member Functions | |
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. | |
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. | |
Protected Attributes | |
void * | data |
size_t | xsize |
size_t | head |
size_t | totalused |
size_t | totalinit |
bool | xautofree |
int | granularity |
The WvCircularBuf storage class.
Definition at line 320 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufstore.h.
WvCircularBufStore::WvCircularBufStore | ( | int | _granularity, |
void * | _data, | ||
size_t | _avail, | ||
size_t | _size, | ||
bool | _autofree | ||
) |
Definition at line 485 of file wvbufferstore.cc.
WvCircularBufStore::WvCircularBufStore | ( | int | _granularity, |
size_t | _size | ||
) |
Definition at line 493 of file wvbufferstore.cc.
|
virtual |
Definition at line 500 of file wvbufferstore.cc.
|
inline |
Definition at line 335 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufstore.h.
|
inline |
Definition at line 337 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufstore.h.
|
inline |
Definition at line 339 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufstore.h.
|
inline |
Definition at line 341 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufstore.h.
void WvCircularBufStore::reset | ( | void * | _data, |
size_t | _avail, | ||
size_t | _size, | ||
bool | _autofree = false |
||
) |
Definition at line 507 of file wvbufferstore.cc.
void WvCircularBufStore::setavail | ( | size_t | _avail | ) |
Definition at line 520 of file wvbufferstore.cc.
void WvCircularBufStore::normalize | ( | ) |
Definition at line 636 of file wvbufferstore.cc.
|
virtual |
Implements WvBufStore.
Definition at line 528 of file wvbufferstore.cc.
|
virtual |
Reimplemented from WvBufStore.
Definition at line 534 of file wvbufferstore.cc.
|
virtual |
Implements WvBufStore.
Definition at line 543 of file wvbufferstore.cc.
|
virtual |
Implements WvBufStore.
Definition at line 555 of file wvbufferstore.cc.
|
virtual |
Implements WvBufStore.
Definition at line 564 of file wvbufferstore.cc.
|
virtual |
Implements WvBufStore.
Definition at line 570 of file wvbufferstore.cc.
|
virtual |
Implements WvBufStore.
Definition at line 577 of file wvbufferstore.cc.
|
virtual |
Reimplemented from WvBufStore.
Definition at line 583 of file wvbufferstore.cc.
|
virtual |
Implements WvBufStore.
Definition at line 592 of file wvbufferstore.cc.
|
virtual |
Implements WvBufStore.
Definition at line 606 of file wvbufferstore.cc.
|
virtual |
Implements WvBufStore.
Definition at line 615 of file wvbufferstore.cc.
|
virtual |
Implements WvBufStore.
Definition at line 621 of file wvbufferstore.cc.
|
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().
|
staticprotected |
Compacts an array arranged as a circular buffer such that the specified region is moved to the beginning of the array.
"data" is the array base "size" is the size of the array "head" is the beginning of the region to keep "count" is the number of bytes in the region to keep
Definition at line 684 of file wvbufferstore.cc.
References MemOps::deletearray(), MemOps::newarray(), MemOps::swap(), and MemOps::uninit_move().
Referenced by ensurecontiguous().
|
inline |
Definition at line 335 of file include/wvbufstore.h.
|
inline |
Definition at line 337 of file include/wvbufstore.h.
|
inline |
Definition at line 339 of file include/wvbufstore.h.
|
inline |
Definition at line 341 of file include/wvbufstore.h.
|
virtual |
Implements WvBufStore.
|
virtual |
Reimplemented from WvBufStore.
|
virtual |
Implements WvBufStore.
|
virtual |
Implements WvBufStore.
|
virtual |
Implements WvBufStore.
|
virtual |
Implements WvBufStore.
|
virtual |
Implements WvBufStore.
|
virtual |
Reimplemented from WvBufStore.
|
virtual |
Implements WvBufStore.
|
virtual |
Implements WvBufStore.
|
virtual |
Implements WvBufStore.
|
virtual |
Implements WvBufStore.
|
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
|
staticprotected |
Compacts an array arranged as a circular buffer such that the specified region is moved to the beginning of the array.
"data" is the array base "size" is the size of the array "head" is the beginning of the region to keep "count" is the number of bytes in the region to keep
|
inlinevirtualinherited |
Definition at line 47 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufstore.h.
|
inlinevirtualinherited |
Definition at line 47 of file include/wvbufstore.h.
|
inlinevirtualinherited |
Definition at line 53 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufstore.h.
|
inlinevirtualinherited |
Definition at line 53 of file include/wvbufstore.h.
|
virtualinherited |
Definition at line 90 of file wvbufferstore.cc.
|
inlinevirtualinherited |
Definition at line 58 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufstore.h.
|
inlinevirtualinherited |
Definition at line 58 of file include/wvbufstore.h.
|
inlinevirtualinherited |
Definition at line 60 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufstore.h.
|
inlinevirtualinherited |
Definition at line 60 of file include/wvbufstore.h.
|
inherited |
Definition at line 111 of file wvbufferstore.cc.
|
inherited |
Definition at line 128 of file wvbufferstore.cc.
|
inlinevirtualinherited |
Definition at line 70 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufstore.h.
|
inlinevirtualinherited |
Definition at line 70 of file include/wvbufstore.h.
|
inherited |
Definition at line 146 of file wvbufferstore.cc.
|
inherited |
Definition at line 163 of file wvbufferstore.cc.
|
inherited |
Definition at line 170 of file wvbufferstore.cc.
|
virtualinherited |
Definition at line 198 of file wvbufferstore.cc.
|
inherited |
Definition at line 229 of file wvbufferstore.cc.
|
inlineprotectedvirtualinherited |
Returns true if the buffer uses subbuffers for storage.
Reimplemented in WvLinkedBufferStore, and WvLinkedBufferStore.
Definition at line 96 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufstore.h.
|
inlineprotectedvirtualinherited |
Returns true if the buffer uses subbuffers for storage.
Reimplemented in WvLinkedBufferStore, and WvLinkedBufferStore.
Definition at line 96 of file include/wvbufstore.h.
|
inlineprotectedvirtualinherited |
Returns the number of subbuffers in the buffer.
Reimplemented in WvLinkedBufferStore, and WvLinkedBufferStore.
Definition at line 100 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufstore.h.
|
inlineprotectedvirtualinherited |
Returns the number of subbuffers in the buffer.
Reimplemented in WvLinkedBufferStore, and WvLinkedBufferStore.
Definition at line 100 of file include/wvbufstore.h.
|
inlineprotectedvirtualinherited |
Returns the first subbuffer.
Returns: the buffer or NULL if none or not supported
Reimplemented in WvLinkedBufferStore, and WvLinkedBufferStore.
Definition at line 107 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufstore.h.
|
inlineprotectedvirtualinherited |
Returns the first subbuffer.
Returns: the buffer or NULL if none or not supported
Reimplemented in WvLinkedBufferStore, and WvLinkedBufferStore.
Definition at line 107 of file include/wvbufstore.h.
|
inlineprotectedvirtualinherited |
Appends a subbuffer to the buffer.
Reimplemented in WvLinkedBufferStore, and WvLinkedBufferStore.
Definition at line 111 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufstore.h.
|
inlineprotectedvirtualinherited |
Appends a subbuffer to the buffer.
Reimplemented in WvLinkedBufferStore, and WvLinkedBufferStore.
Definition at line 111 of file include/wvbufstore.h.
|
inlineprotectedvirtualinherited |
Prepends a subbuffer to the buffer.
Reimplemented in WvLinkedBufferStore, and WvLinkedBufferStore.
Definition at line 115 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufstore.h.
|
inlineprotectedvirtualinherited |
Prepends a subbuffer to the buffer.
Reimplemented in WvLinkedBufferStore, and WvLinkedBufferStore.
Definition at line 115 of file include/wvbufstore.h.
|
inlineprotectedvirtualinherited |
Unlinks the specified subbuffer.
Only autofrees the buffer if allowautofree == true. Returns: the autofree flag for the buffer
Reimplemented in WvLinkedBufferStore, and WvLinkedBufferStore.
Definition at line 123 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufstore.h.
|
inlineprotectedvirtualinherited |
Unlinks the specified subbuffer.
Only autofrees the buffer if allowautofree == true. Returns: the autofree flag for the buffer
Reimplemented in WvLinkedBufferStore, and WvLinkedBufferStore.
Definition at line 123 of file include/wvbufstore.h.
|
protected |
Definition at line 323 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufstore.h.
|
protected |
Definition at line 324 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufstore.h.
|
protected |
Definition at line 325 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufstore.h.
|
protected |
Definition at line 326 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufstore.h.
|
protected |
Definition at line 327 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufstore.h.
|
protected |
Definition at line 328 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufstore.h.
|
protectedinherited |
Definition at line 33 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufstore.h.