WvStreams
|
The const in place raw memory buffer type. More...
#include <wvbuf.h>
Public Member Functions | |
WvConstInPlaceBuf (const void *_data, size_t _avail) | |
void | reset (const void *_data, size_t _avail) |
WvConstInPlaceBuf (const void *_data, size_t _avail) | |
void | reset (const void *_data, size_t _avail) |
const unsigned char * | ptr () const |
Returns the underlying array pointer. | |
const unsigned char * | ptr () const |
Returns the underlying array pointer. | |
void | reset (const unsigned char *_data, size_t _avail) |
Resets the underlying buffer pointer and properties. | |
void | setavail (size_t _avail) |
Sets the amount of available data using the current buffer and resets the read index to the beginning of the buffer. | |
void | setavail (size_t _avail) |
Sets the amount of available data using the current buffer and resets the read index to the beginning of the buffer. | |
WvBufStore * | getstore () |
Returns a pointer to the underlying storage class object. | |
WvBufStore * | getstore () |
Returns a pointer to the underlying storage class object. | |
bool | isreadable () const |
Returns true if the buffer supports reading. | |
bool | isreadable () const |
Returns true if the buffer supports reading. | |
size_t | used () const |
Returns the number of elements in the buffer currently available for reading. | |
size_t | used () const |
Returns the number of elements in the buffer currently available for reading. | |
const T * | get (size_t count) |
Reads exactly the specified number of elements and returns a pointer to a storage location owned by the buffer. | |
T | get () |
Reads the next element from the buffer. | |
const T * | get (size_t count) |
Reads exactly the specified number of elements and returns a pointer to a storage location owned by the buffer. | |
T | get () |
Reads the next element from the buffer. | |
void | skip (size_t count) |
Skips exactly the specified number of elements. | |
void | skip (size_t count) |
Skips exactly the specified number of elements. | |
size_t | optgettable () const |
Returns the optimal maximum number of elements in the buffer currently available for reading without incurring significant overhead. | |
size_t | optgettable () const |
Returns the optimal maximum number of elements in the buffer currently available for reading without incurring significant overhead. | |
void | unget (size_t count) |
Ungets exactly the specified number of elements by returning them to the buffer for subsequent reads. | |
void | unget (size_t count) |
Ungets exactly the specified number of elements by returning them to the buffer for subsequent reads. | |
size_t | ungettable () const |
Returns the maximum number of elements that may be ungotten at this time. | |
size_t | ungettable () const |
Returns the maximum number of elements that may be ungotten at this time. | |
const T * | peek (int offset, size_t count) |
Returns a const pointer into the buffer at the specified offset to the specified number of elements without actually adjusting the current get() index. | |
T | peek (int offset=0) |
Returns the element at the specified offset in the buffer. | |
const T * | peek (int offset, size_t count) |
Returns a const pointer into the buffer at the specified offset to the specified number of elements without actually adjusting the current get() index. | |
T | peek (int offset=0) |
Returns the element at the specified offset in the buffer. | |
size_t | peekable (int offset) |
size_t | peekable (int offset) |
size_t | optpeekable (int offset) |
size_t | optpeekable (int offset) |
void | zap () |
Clears the buffer. | |
void | zap () |
Clears the buffer. | |
void | move (T *buf, size_t count) |
Efficiently copies the specified number of elements from the buffer to the specified UNINITIALIZED storage location and removes the elements from the buffer. | |
void | move (T *buf, size_t count) |
Efficiently copies the specified number of elements from the buffer to the specified UNINITIALIZED storage location and removes the elements from the buffer. | |
void | copy (T *buf, int offset, size_t count) |
Efficiently copies the specified number of elements from the buffer to the specified UNINITIALIZED storage location but does not remove the elements from the buffer. | |
void | copy (T *buf, int offset, size_t count) |
Efficiently copies the specified number of elements from the buffer to the specified UNINITIALIZED storage location but does not remove the elements from the buffer. | |
bool | iswritable () const |
Returns true if the buffer supports writing. | |
bool | iswritable () const |
Returns true if the buffer supports writing. | |
size_t | free () const |
Returns the number of elements that the buffer can currently accept for writing. | |
size_t | free () const |
Returns the number of elements that the buffer can currently accept for writing. | |
T * | alloc (size_t count) |
Allocates exactly the specified number of elements and returns a pointer to an UNINITIALIZED storage location owned by the buffer. | |
T * | alloc (size_t count) |
Allocates exactly the specified number of elements and returns a pointer to an UNINITIALIZED storage location owned by the buffer. | |
size_t | optallocable () const |
Returns the optimal maximum number of elements that the buffer can currently accept for writing without incurring significant overhead. | |
size_t | optallocable () const |
Returns the optimal maximum number of elements that the buffer can currently accept for writing without incurring significant overhead. | |
void | unalloc (size_t count) |
Unallocates exactly the specified number of elements by removing them from the buffer and releasing their storage. | |
void | unalloc (size_t count) |
Unallocates exactly the specified number of elements by removing them from the buffer and releasing their storage. | |
size_t | unallocable () const |
Returns the maximum number of elements that may be unallocated at this time. | |
size_t | unallocable () const |
Returns the maximum number of elements that may be unallocated at this time. | |
T * | mutablepeek (int offset, size_t count) |
Returns a non-const pointer info the buffer at the specified offset to the specified number of elements without actually adjusting the current get() index. | |
T * | mutablepeek (int offset, size_t count) |
Returns a non-const pointer info the buffer at the specified offset to the specified number of elements without actually adjusting the current get() index. | |
void | put (const T *data, size_t count) |
Writes the specified number of elements from the specified storage location into the buffer at its tail. | |
void | put (T &value) |
Writes the element into the buffer at its tail. | |
void | put (const T *data, size_t count) |
Writes the specified number of elements from the specified storage location into the buffer at its tail. | |
void | put (T &value) |
Writes the element into the buffer at its tail. | |
void | poke (const T *data, int offset, size_t count) |
Efficiently copies the specified number of elements from the specified storage location into the buffer at a particular offset. | |
void | poke (T &value, int offset) |
Writes the element into the buffer at the specified offset. | |
void | poke (const T *data, int offset, size_t count) |
Efficiently copies the specified number of elements from the specified storage location into the buffer at a particular offset. | |
void | poke (T &value, int offset) |
Writes the element into the buffer at the specified offset. | |
void | merge (Buffer &inbuf, size_t count) |
Efficiently moves count bytes from the specified buffer into this one. | |
void | merge (Buffer &inbuf) |
Efficiently merges the entire contents of a buffer into this one. | |
void | merge (Buffer &inbuf, size_t count) |
Efficiently moves count bytes from the specified buffer into this one. | |
void | merge (Buffer &inbuf) |
Efficiently merges the entire contents of a buffer into this one. | |
Protected Types | |
typedef unsigned char | Elem |
typedef unsigned char | Elem |
typedef WvBufBase< T > | Buffer |
typedef WvBufBase< T > | Buffer |
Protected Attributes | |
WvConstInPlaceBufStore | mystore |
WvBufStore * | store |
The const in place raw memory buffer type.
Refines the interface to add support for untyped pointers.
Definition at line 187 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbuf.h.
|
protectedinherited |
Definition at line 730 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
|
protectedinherited |
Definition at line 730 of file include/wvbufbase.h.
|
protectedinherited |
Definition at line 40 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
|
protectedinherited |
Definition at line 40 of file include/wvbufbase.h.
|
inline |
Definition at line 190 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbuf.h.
|
inline |
Definition at line 193 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbuf.h.
|
inline |
Definition at line 190 of file include/wvbuf.h.
|
inline |
Definition at line 193 of file include/wvbuf.h.
|
inline |
Definition at line 195 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbuf.h.
|
inline |
Definition at line 195 of file include/wvbuf.h.
|
inlineinherited |
Returns the underlying array pointer.
Returns: the element pointer
Definition at line 763 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
|
inlineinherited |
Returns the underlying array pointer.
Returns: the element pointer
Definition at line 763 of file include/wvbufbase.h.
|
inlineinherited |
Resets the underlying buffer pointer and properties.
Never frees the old buffer.
"_data" is the array of data to wrap "_avail" is the amount of data available for reading
Definition at line 777 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
|
inlineinherited |
Sets the amount of available data using the current buffer and resets the read index to the beginning of the buffer.
"_avail" is the amount of data available for reading
Definition at line 788 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
|
inlineinherited |
Sets the amount of available data using the current buffer and resets the read index to the beginning of the buffer.
"_avail" is the amount of data available for reading
Definition at line 788 of file include/wvbufbase.h.
|
inlineinherited |
Returns a pointer to the underlying storage class object.
Returns: the low-level storage class object pointer, non-null
Definition at line 69 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
|
inlineinherited |
Returns a pointer to the underlying storage class object.
Returns: the low-level storage class object pointer, non-null
Definition at line 69 of file include/wvbufbase.h.
|
inlineinherited |
Returns true if the buffer supports reading.
Returns: true if reading is supported
Definition at line 81 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
|
inlineinherited |
Returns true if the buffer supports reading.
Returns: true if reading is supported
Definition at line 81 of file include/wvbufbase.h.
|
inlineinherited |
Returns the number of elements in the buffer currently available for reading.
This function could also be called gettable().
Definition at line 92 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
Referenced by WvLogBuffer::_end_line(), WvSyslog::_end_line(), WvStream::blocking_getline(), WvDBusMsg::demarshal(), WvDBusMsg::demarshal_bytes_needed(), WvEncoder::encodebufmem(), WvStreamClone::flush_internal(), WvStream::flush_then_close(), WvBufBaseCommonImpl< T >::get(), WvDBusConn::isidle(), WvFdStream::maybe_autoclose(), WvStream::maybe_autoclose(), WvBufBaseCommonImpl< T >::merge(), WvStreamClone::nowrite(), WvEncoderStream::post_select(), WvFdStream::post_select(), WvSSLStream::post_select(), WvStream::post_select(), WvStreamClone::post_select(), WvEncoderStream::pre_select(), WvFdStream::pre_select(), WvSSLStream::pre_select(), WvStream::pre_select(), WvStreamClone::pre_select(), WvStream::read(), UniIniGen::refresh(), WvX509Mgr::sign(), WvSSLStream::uread(), WvEncoderStream::uread(), WvSSLStream::uwrite(), and WvStream::write().
|
inlineinherited |
Returns the number of elements in the buffer currently available for reading.
This function could also be called gettable().
Definition at line 92 of file include/wvbufbase.h.
|
inlineinherited |
Reads exactly the specified number of elements and returns a pointer to a storage location owned by the buffer.
The pointer is only valid until the next non-const buffer member is called. eg. alloc(size_t)
If count == 0, a NULL pointer may be returned.
It is an error for count to be greater than the number of available elements in the buffer.
For maximum efficiency, call this function multiple times with count no greater than optgettable() each time.
After this operation, at least count elements may be ungotten.
Definition at line 114 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
References WvBufBaseCommonImpl< T >::used().
Referenced by WvLogBuffer::_end_line(), WvSyslog::_end_line(), WvFunctorEncoder< IT, OT, FT >::_typedencode(), WvStream::blocking_getline(), WvStream::read(), and WvSSLStream::uwrite().
|
inlineinherited |
Reads the next element from the buffer.
It is an error to invoke this method if used() == 0.
After this operation, at least 1 element may be ungotten.
Returns: the element
Definition at line 272 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
References WvBufBaseCommonImpl< T >::get().
Referenced by WvBufBaseCommonImpl< T >::get().
|
inlineinherited |
Reads exactly the specified number of elements and returns a pointer to a storage location owned by the buffer.
The pointer is only valid until the next non-const buffer member is called. eg. alloc(size_t)
If count == 0, a NULL pointer may be returned.
It is an error for count to be greater than the number of available elements in the buffer.
For maximum efficiency, call this function multiple times with count no greater than optgettable() each time.
After this operation, at least count elements may be ungotten.
Definition at line 114 of file include/wvbufbase.h.
References WvBufBaseCommonImpl< T >::used().
|
inlineinherited |
Reads the next element from the buffer.
It is an error to invoke this method if used() == 0.
After this operation, at least 1 element may be ungotten.
Returns: the element
Definition at line 272 of file include/wvbufbase.h.
References WvBufBaseCommonImpl< T >::get().
|
inlineinherited |
Skips exactly the specified number of elements.
This is equivalent to invoking get(size_t) with the count and discarding the result, but may be faster for certain types of buffers. As with get(size_t), the call may be followed up by an unget(size_t).
It is an error for count to be greater than the number of available elements in the buffer.
"count" is the number of elements
Definition at line 136 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
|
inlineinherited |
Skips exactly the specified number of elements.
This is equivalent to invoking get(size_t) with the count and discarding the result, but may be faster for certain types of buffers. As with get(size_t), the call may be followed up by an unget(size_t).
It is an error for count to be greater than the number of available elements in the buffer.
"count" is the number of elements
Definition at line 136 of file include/wvbufbase.h.
|
inlineinherited |
Returns the optimal maximum number of elements in the buffer currently available for reading without incurring significant overhead.
Invariants:
Returns: the number of elements
Definition at line 154 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
Referenced by WvFunctorEncoder< IT, OT, FT >::_typedencode().
|
inlineinherited |
Returns the optimal maximum number of elements in the buffer currently available for reading without incurring significant overhead.
Invariants:
Returns: the number of elements
Definition at line 154 of file include/wvbufbase.h.
|
inlineinherited |
Ungets exactly the specified number of elements by returning them to the buffer for subsequent reads.
This operation may always be safely performed with count less than or equal to that specified in the last get(size_t) if no non-const buffer members have been called since then.
If count == 0, nothing happens.
It is an error for count to be greater than ungettable().
"count" is the number of elements
Definition at line 177 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
Referenced by WvSSLStream::uwrite().
|
inlineinherited |
Ungets exactly the specified number of elements by returning them to the buffer for subsequent reads.
This operation may always be safely performed with count less than or equal to that specified in the last get(size_t) if no non-const buffer members have been called since then.
If count == 0, nothing happens.
It is an error for count to be greater than ungettable().
"count" is the number of elements
Definition at line 177 of file include/wvbufbase.h.
|
inlineinherited |
Returns the maximum number of elements that may be ungotten at this time.
Returns: the number of elements
Definition at line 188 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
|
inlineinherited |
Returns the maximum number of elements that may be ungotten at this time.
Returns: the number of elements
Definition at line 188 of file include/wvbufbase.h.
|
inlineinherited |
Returns a const pointer into the buffer at the specified offset to the specified number of elements without actually adjusting the current get() index.
The pointer is only valid until the next non-const buffer member is called. eg. alloc(size_t)
If count == 0, a NULL pointer may be returned.
If offset is greater than zero, then elements will be returned beginning with the with the offset'th element that would be returned by get(size_t).
If offset equals zero, then elements will be returned beginning with the next one available for get(size_t).
If offset is less than zero, then elements will be returned beginning with the first one that would be returned on a get(size_t) following an unget(-offset).
It is an error for count to be greater than peekable(offset).
For maximum efficiency, call this function multiple times with count no greater than that returned by optpeekable(size_t) at incremental offsets.
"offset" is the buffer offset "count" is the number of elements Returns: the element storage pointer
Definition at line 225 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
Referenced by WvDBusMsg::demarshal(), WvDBusMsg::demarshal_bytes_needed(), WvHttpStream::execute(), and WvBufBaseCommonImpl< T >::peek().
|
inlineinherited |
Returns the element at the specified offset in the buffer.
It is an error to invoke this method if used() == 0.
"offset" is the offset, default 0 Returns: the element
Definition at line 286 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
References WvBufBaseCommonImpl< T >::peek().
|
inlineinherited |
Returns a const pointer into the buffer at the specified offset to the specified number of elements without actually adjusting the current get() index.
The pointer is only valid until the next non-const buffer member is called. eg. alloc(size_t)
If count == 0, a NULL pointer may be returned.
If offset is greater than zero, then elements will be returned beginning with the with the offset'th element that would be returned by get(size_t).
If offset equals zero, then elements will be returned beginning with the next one available for get(size_t).
If offset is less than zero, then elements will be returned beginning with the first one that would be returned on a get(size_t) following an unget(-offset).
It is an error for count to be greater than peekable(offset).
For maximum efficiency, call this function multiple times with count no greater than that returned by optpeekable(size_t) at incremental offsets.
"offset" is the buffer offset "count" is the number of elements Returns: the element storage pointer
Definition at line 225 of file include/wvbufbase.h.
|
inlineinherited |
Returns the element at the specified offset in the buffer.
It is an error to invoke this method if used() == 0.
"offset" is the offset, default 0 Returns: the element
Definition at line 286 of file include/wvbufbase.h.
References WvBufBaseCommonImpl< T >::peek().
|
inlineinherited |
Definition at line 231 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
|
inlineinherited |
Definition at line 231 of file include/wvbufbase.h.
|
inlineinherited |
Definition at line 236 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
|
inlineinherited |
Definition at line 236 of file include/wvbufbase.h.
|
inlineinherited |
Clears the buffer.
For many types of buffers, calling zap() will increased the amount of free space available for writing (see below) by an amount greater than used(). Hence it is wise to zap() a buffer just before writing to it to maximize free space.
After this operation, used() == 0, and often ungettable() == 0.
Definition at line 257 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
Referenced by WvLogBuffer::_end_line(), WvSyslog::_end_line(), WvBackslashDecoder::_reset(), WvStream::unread(), WvSSLStream::uread(), and WvSSLStream::uwrite().
|
inlineinherited |
Clears the buffer.
For many types of buffers, calling zap() will increased the amount of free space available for writing (see below) by an amount greater than used(). Hence it is wise to zap() a buffer just before writing to it to maximize free space.
After this operation, used() == 0, and often ungettable() == 0.
Definition at line 257 of file include/wvbufbase.h.
|
inlineinherited |
Efficiently copies the specified number of elements from the buffer to the specified UNINITIALIZED storage location and removes the elements from the buffer.
It is an error for count to be greater than used().
For maximum efficiency, choose as large a count as possible.
The pointer buf may be NULL only if count == 0.
After this operation, an indeterminate number of elements may be ungotten.
"buf" is the buffer that will receive the elements "count" is the number of elements
Definition at line 309 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
Referenced by WvSSLStream::uread(), and WvEncoderStream::uread().
|
inlineinherited |
Efficiently copies the specified number of elements from the buffer to the specified UNINITIALIZED storage location and removes the elements from the buffer.
It is an error for count to be greater than used().
For maximum efficiency, choose as large a count as possible.
The pointer buf may be NULL only if count == 0.
After this operation, an indeterminate number of elements may be ungotten.
"buf" is the buffer that will receive the elements "count" is the number of elements
Definition at line 309 of file include/wvbufbase.h.
|
inlineinherited |
Efficiently copies the specified number of elements from the buffer to the specified UNINITIALIZED storage location but does not remove the elements from the buffer.
It is an error for count to be greater than peekable(offset).
For maximum efficiency, choose as large a count as possible.
The pointer buf may be NULL only if count == 0.
"buf" is the buffer that will receive the elements "offset" is the buffer offset "count" is the number of elements
Definition at line 330 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
|
inlineinherited |
Efficiently copies the specified number of elements from the buffer to the specified UNINITIALIZED storage location but does not remove the elements from the buffer.
It is an error for count to be greater than peekable(offset).
For maximum efficiency, choose as large a count as possible.
The pointer buf may be NULL only if count == 0.
"buf" is the buffer that will receive the elements "offset" is the buffer offset "count" is the number of elements
Definition at line 330 of file include/wvbufbase.h.
|
inlineinherited |
Returns true if the buffer supports writing.
Returns: true if writing is supported
Definition at line 342 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
|
inlineinherited |
Returns true if the buffer supports writing.
Returns: true if writing is supported
Definition at line 342 of file include/wvbufbase.h.
|
inlineinherited |
Returns the number of elements that the buffer can currently accept for writing.
Returns: the number of elements
Definition at line 353 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
Referenced by WvSSLStream::uread(), and WvSSLStream::uwrite().
|
inlineinherited |
Returns the number of elements that the buffer can currently accept for writing.
Returns: the number of elements
Definition at line 353 of file include/wvbufbase.h.
|
inlineinherited |
Allocates exactly the specified number of elements and returns a pointer to an UNINITIALIZED storage location owned by the buffer.
The pointer is only valid until the next non-const buffer member is called. eg. alloc(size_t)
If count == 0, a NULL pointer may be returned.
It is an error for count to be greater than free().
For best results, call this function multiple times with count no greater than optallocable() each time.
After this operation, at least count elements may be unallocated.
"count" is the number of elements Returns: the element storage pointer
Definition at line 379 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
Referenced by WvFunctorEncoder< IT, OT, FT >::_typedencode(), WvStream::blocking_getline(), WvDSAKey::getpem(), WvStream::read(), WvStream::read(), and WvSSLStream::uread().
|
inlineinherited |
Allocates exactly the specified number of elements and returns a pointer to an UNINITIALIZED storage location owned by the buffer.
The pointer is only valid until the next non-const buffer member is called. eg. alloc(size_t)
If count == 0, a NULL pointer may be returned.
It is an error for count to be greater than free().
For best results, call this function multiple times with count no greater than optallocable() each time.
After this operation, at least count elements may be unallocated.
"count" is the number of elements Returns: the element storage pointer
Definition at line 379 of file include/wvbufbase.h.
|
inlineinherited |
Returns the optimal maximum number of elements that the buffer can currently accept for writing without incurring significant overhead.
Invariants:
Returns: the number of elements
Definition at line 397 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
Referenced by WvFunctorEncoder< IT, OT, FT >::_typedencode().
|
inlineinherited |
Returns the optimal maximum number of elements that the buffer can currently accept for writing without incurring significant overhead.
Invariants:
Returns: the number of elements
Definition at line 397 of file include/wvbufbase.h.
|
inlineinherited |
Unallocates exactly the specified number of elements by removing them from the buffer and releasing their storage.
This operation may always be safely performed with count less than or equal to that specified in the last alloc(size_t) or put(const T*, size_t) if no non-const buffer members have been called since then.
If count == 0, nothing happens.
It is an error for count to be greater than unallocable().
"count" is the number of elements
Definition at line 421 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
Referenced by WvBackslashDecoder::_encode(), WvStream::blocking_getline(), WvDSAKey::getpem(), WvStream::read(), WvStream::read(), and WvSSLStream::uread().
|
inlineinherited |
Unallocates exactly the specified number of elements by removing them from the buffer and releasing their storage.
This operation may always be safely performed with count less than or equal to that specified in the last alloc(size_t) or put(const T*, size_t) if no non-const buffer members have been called since then.
If count == 0, nothing happens.
It is an error for count to be greater than unallocable().
"count" is the number of elements
Definition at line 421 of file include/wvbufbase.h.
|
inlineinherited |
Returns the maximum number of elements that may be unallocated at this time.
For all practical purposes, this number will always be at least as large as the amount currently in use. It is provided primarily for symmetry, but also to handle cases where buffer reading (hence used()) is not supported by the implementation.
Invariants:
Returns: the number of elements
Definition at line 443 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
|
inlineinherited |
Returns the maximum number of elements that may be unallocated at this time.
For all practical purposes, this number will always be at least as large as the amount currently in use. It is provided primarily for symmetry, but also to handle cases where buffer reading (hence used()) is not supported by the implementation.
Invariants:
Returns: the number of elements
Definition at line 443 of file include/wvbufbase.h.
|
inlineinherited |
Returns a non-const pointer info the buffer at the specified offset to the specified number of elements without actually adjusting the current get() index.
Other than the fact that the returned storage is mutable, operates identically to peek(int, size_t).
"offset" is the buffer offset "count" is the number of elements Returns: the element storage pointer
Definition at line 461 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
Referenced by WvStream::blocking_getline().
|
inlineinherited |
Returns a non-const pointer info the buffer at the specified offset to the specified number of elements without actually adjusting the current get() index.
Other than the fact that the returned storage is mutable, operates identically to peek(int, size_t).
"offset" is the buffer offset "count" is the number of elements Returns: the element storage pointer
Definition at line 461 of file include/wvbufbase.h.
|
inlineinherited |
Writes the specified number of elements from the specified storage location into the buffer at its tail.
It is an error for count to be greater than free().
For maximum efficiency, choose as large a count as possible.
The pointer buf may be NULL only if count == 0.
After this operation, at least count elements may be unallocated.
"data" is the buffer that contains the elements "count" is the number of elements
Definition at line 483 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
Referenced by WvSyslog::_begin_line(), WvLogBuffer::_end_line(), WvSyslog::_end_line(), WvLogBuffer::_mid_line(), WvSyslog::_mid_line(), WvStream::blocking_getline(), WvX509::certreq(), WvDBusMsg::demarshal(), WvDBusMsg::demarshal_bytes_needed(), UniConfKey::printable(), UniIniGen::refresh(), WvX509Mgr::sign(), strreplace(), url_encode(), WvUnixDGSocket::uwrite(), WvSSLStream::uwrite(), WvBufStream::uwrite(), WvEncoderStream::uwrite(), and WvStream::write().
|
inlineinherited |
Writes the element into the buffer at its tail.
It is an error to invoke this method if free() == 0.
After this operation, at least 1 element may be unallocated.
"valid" is the element
Definition at line 519 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
|
inlineinherited |
Writes the specified number of elements from the specified storage location into the buffer at its tail.
It is an error for count to be greater than free().
For maximum efficiency, choose as large a count as possible.
The pointer buf may be NULL only if count == 0.
After this operation, at least count elements may be unallocated.
"data" is the buffer that contains the elements "count" is the number of elements
Definition at line 483 of file include/wvbufbase.h.
|
inlineinherited |
Writes the element into the buffer at its tail.
It is an error to invoke this method if free() == 0.
After this operation, at least 1 element may be unallocated.
"valid" is the element
Definition at line 519 of file include/wvbufbase.h.
|
inlineinherited |
Efficiently copies the specified number of elements from the specified storage location into the buffer at a particular offset.
If offset <= used() and offset + count > used(), the remaining data is simply tacked onto the end of the buffer with put().
It is an error for count to be greater than free() - offset.
"data" is the buffer that contains the elements "count" is the number of elements "offset" is the buffer offset, default 0
Definition at line 504 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
Referenced by WvBufBaseCommonImpl< T >::poke().
|
inlineinherited |
Writes the element into the buffer at the specified offset.
It is an error to invoke this method if free() == 0.
After this operation, at least 1 element may be unallocated.
"value" is the element "offset" is the buffer offset
Definition at line 535 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
References WvBufBaseCommonImpl< T >::poke().
|
inlineinherited |
Efficiently copies the specified number of elements from the specified storage location into the buffer at a particular offset.
If offset <= used() and offset + count > used(), the remaining data is simply tacked onto the end of the buffer with put().
It is an error for count to be greater than free() - offset.
"data" is the buffer that contains the elements "count" is the number of elements "offset" is the buffer offset, default 0
Definition at line 504 of file include/wvbufbase.h.
|
inlineinherited |
Writes the element into the buffer at the specified offset.
It is an error to invoke this method if free() == 0.
After this operation, at least 1 element may be unallocated.
"value" is the element "offset" is the buffer offset
Definition at line 535 of file include/wvbufbase.h.
References WvBufBaseCommonImpl< T >::poke().
|
inlineinherited |
Efficiently moves count bytes from the specified buffer into this one.
In some cases, this may be a zero-copy operation.
It is an error for count to be greater than inbuf.used().
For maximum efficiency, choose as large a count as possible.
After this operation, an indeterminate number of elements may be ungotten from inbuf.
"inbuf" is the buffer from which to read "count" is the number of elements
Definition at line 558 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
Referenced by WvEncoderStream::finish_read(), WvEncoderStream::flush_read(), WvBufBaseCommonImpl< T >::merge(), and WvStream::unread().
|
inlineinherited |
Efficiently merges the entire contents of a buffer into this one.
"inbuf" is the buffer from which to read
Definition at line 568 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
References WvBufBaseCommonImpl< T >::merge(), and WvBufBaseCommonImpl< T >::used().
|
inlineinherited |
Efficiently moves count bytes from the specified buffer into this one.
In some cases, this may be a zero-copy operation.
It is an error for count to be greater than inbuf.used().
For maximum efficiency, choose as large a count as possible.
After this operation, an indeterminate number of elements may be ungotten from inbuf.
"inbuf" is the buffer from which to read "count" is the number of elements
Definition at line 558 of file include/wvbufbase.h.
|
inlineinherited |
Efficiently merges the entire contents of a buffer into this one.
"inbuf" is the buffer from which to read
Definition at line 568 of file include/wvbufbase.h.
References WvBufBaseCommonImpl< T >::merge(), and WvBufBaseCommonImpl< T >::used().
|
protectedinherited |
Definition at line 732 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.
|
protectedinherited |
Definition at line 42 of file debian/libwvstreams-dev/usr/include/wvstreams/wvbufbase.h.