WvBufStore Class Reference

#include <wvbufstore.h>

Inheritance diagram for WvBufStore:
[legend]

List of all members.


Detailed Description

The abstract buffer storage base class.

Definition at line 26 of file wvbufstore.h.


Public Member Functions

virtual ~WvBufStore ()
virtual bool isreadable () const
virtual size_t used () const =0
virtual size_t optgettable () const
virtual const void * get (size_t count)=0
virtual void skip (size_t count)
virtual void unget (size_t count)=0
virtual size_t ungettable () const =0
virtual size_t peekable (int offset) const
virtual size_t optpeekable (int offset) const
virtual const void * peek (int offset, size_t count)
virtual void zap ()=0
void move (void *buf, size_t count)
void copy (void *buf, int offset, size_t count)
virtual bool iswritable () const
virtual size_t free () const =0
virtual size_t optallocable () const
virtual void * alloc (size_t count)=0
virtual void unalloc (size_t count)=0
virtual size_t unallocable () const =0
virtual void * mutablepeek (int offset, size_t count)=0
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)

Protected Member Functions

 WvBufStore (int _granularity)
 Creates a new buffer.
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 WvBufStorefirstsubbuffer () 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.

Protected Attributes

int granularity

Constructor & Destructor Documentation

WvBufStore::WvBufStore ( int  _granularity  )  [explicit, protected]

Creates a new buffer.

"_granularity" is the suggested granularity for data allocation and alignment purposes

Definition at line 84 of file wvbufferstore.cc.


Member Function Documentation

virtual bool WvBufStore::usessubbuffers (  )  const [inline, protected, virtual]

Returns true if the buffer uses subbuffers for storage.

Reimplemented in WvLinkedBufferStore.

Definition at line 96 of file wvbufstore.h.

Referenced by merge().

virtual size_t WvBufStore::numsubbuffers (  )  const [inline, protected, virtual]

Returns the number of subbuffers in the buffer.

Reimplemented in WvLinkedBufferStore.

Definition at line 100 of file wvbufstore.h.

virtual WvBufStore* WvBufStore::firstsubbuffer (  )  const [inline, protected, virtual]

Returns the first subbuffer.

Returns: the buffer or NULL if none or not supported

Reimplemented in WvLinkedBufferStore.

Definition at line 107 of file wvbufstore.h.

Referenced by merge().

virtual void WvBufStore::appendsubbuffer ( WvBufStore buffer,
bool  autofree 
) [inline, protected, virtual]

Appends a subbuffer to the buffer.

Reimplemented in WvLinkedBufferStore.

Definition at line 111 of file wvbufstore.h.

Referenced by merge().

virtual void WvBufStore::prependsubbuffer ( WvBufStore buffer,
bool  autofree 
) [inline, protected, virtual]

Prepends a subbuffer to the buffer.

Reimplemented in WvLinkedBufferStore.

Definition at line 115 of file wvbufstore.h.

virtual bool WvBufStore::unlinksubbuffer ( WvBufStore buffer,
bool  allowautofree 
) [inline, protected, virtual]

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.

Referenced by merge().


The documentation for this class was generated from the following files:
Generated on Fri Oct 5 18:20:34 2007 for WvStreams by  doxygen 1.5.3