|
| cQueueRW () noexcept |
|
| cQueueRW (TYPE *pData, ITERATE_t iDataAlloc, ITERATE_t iReadLast, ITERATE_t iWriteLast, ITERATE_t iAutoReadCommit=0) |
|
| cQueueRW (const TYPE *pData, ITERATE_t iDataMax) |
|
| ~cQueueRW () |
|
void | ReadCommitCheck () |
|
ITERATE_t | get_AutoReadCommit () const |
|
void | put_AutoReadCommit (ITERATE_t iAutoReadCommit=8 *1024) |
|
void | put_ReadIndex (ITERATE_t iReadLo) |
|
STREAM_SEEKRET_t | SeekQ (STREAM_OFFSET_t iOffset, SEEK_ORIGIN_TYPE eSeekOrigin=SEEK_Set) |
|
HRESULT | ReadQty (TYPE *pData, ITERATE_t iDataMaxQty) |
|
HRESULT | ReadX (void *pData, size_t nDataSize) |
|
bool | isFullQ () const |
|
ITERATE_t | get_WriteQty () const |
|
TYPE * | get_WritePtr () const |
|
HRESULT | WriteQty (const TYPE *pData, ITERATE_t iQtyMax) |
|
HRESULT | WriteX (const void *pData, size_t nDataSize) |
|
void | AdvanceWrite (ITERATE_t iCount=1) |
|
| cQueueRead (const BYTE *pData=nullptr, ITERATE_t iReadLast=0, ITERATE_t iWriteLast=0) noexcept |
|
| ~cQueueRead () |
|
const BYTE * | get_ReadPtr () const |
|
void | SetQueueRead (const BYTE *pData, ITERATE_t iReadLast=0, ITERATE_t iWriteLast=0) |
|
BYTE | Read1 (void) |
|
HRESULT | ReadPeek (BYTE *pData, ITERATE_t iDataMaxQty) |
|
HRESULT | ReadQty (BYTE *pData, ITERATE_t iDataMaxQty) |
|
void | ReadCommitNow () |
|
| cQueueBase (ITERATE_t iReadLast=0, ITERATE_t iWriteLast=0) noexcept |
|
void | InitQ (ITERATE_t iReadLast=0, ITERATE_t iWriteLast=0) noexcept |
|
bool | isEmptyQ () const noexcept |
|
void | EmptyQ () noexcept |
|
ITERATE_t | get_ReadIndex () const noexcept |
|
ITERATE_t | get_WriteIndex () const noexcept |
|
ITERATE_t | get_ReadQty () const |
|
void | AdvanceRead (ITERATE_t iCount=1) |
|
STREAM_SEEKRET_t | SeekQ (STREAM_OFFSET_t iOffset, SEEK_ORIGIN_TYPE eSeekOrigin=SEEK_Set) |
|
template<class TYPE = BYTE>
class Gray::cQueueRW< TYPE >
Create an simple arbitrary queue of TYPE elements. can read and write.
- Note
- This queue does NOT wrap. Does NOT grow. Non managed memory.
-
This is NOT thread safe
-
Does NOT free memory on destruct. Use cQueueBytes for that. Does NOT auto expand buffer to hold more data if write past end.