Public Types | |
typedef BYTE | NullBufferCount |
typedef ULONG_PTR | UserData |
Public Member Functions | |
CBufferChainStoresNulls (JetByteTools::Core::IIndexedOpaqueUserData::UserDataIndex nextBufferIndex=UseDefaultUserDataIndex) | |
CBufferChainStoresNulls (IAllocateBuffer &bufferAllocator, JetByteTools::Core::IIndexedOpaqueUserData::UserDataIndex nextBufferIndex=UseDefaultUserDataIndex) | |
CBufferChainStoresNulls (CBufferChainStoresNulls &&rhs) noexcept | |
CBufferChainStoresNulls (const CBufferChainStoresNulls &rhs) | |
~CBufferChainStoresNulls () override | |
CBufferChainStoresNulls & | operator= (const CBufferChainStoresNulls &rhs) |
JetByteTools::Core::_tstring | Dump () const |
void | Swap (CBufferChainStoresNulls &rhs) |
Swaps the current chain with 'rhs'. | |
IBuffer * | Detach () |
void | Attach (IBuffer *pChain) |
Attaches pBuffer to an empty chain. The supplied buffer can be a single buffer or a chain of buffers. The chain takes ownership of the supplied buffer's existing reference. | |
void | Attach (CSmartBuffer &buffer) |
Attaches buffer to an empty chain. The supplied buffer can be a single buffer or a chain of buffers. The chain takes ownership of the supplied buffer and extracts it from the smart buffer. | |
bool | CanStoreNulls () const override |
bool | IsEmpty () const override |
size_t | Size () const override |
size_t | TotalBytes () const override |
size_t | AvailableSpace () const override |
bool | HasAvailableSpace () const override |
void | GetTotalBytesAndAvailableSpace (size_t &totalBytes, size_t &availableSpace) const override |
size_t | Purge () override |
size_t | Purge (IBufferChain::IHandlePurgedBufferRelease &purgeHandler, UserData userData) override |
void | Add (CSmartBuffer &buffer) override |
void | AddToFront (CSmartBuffer &buffer) override |
CSmartBuffer | GetNext (CSmartBuffer &buffer) override |
CSmartBuffer | GetNext () override |
const IBuffer * | PeekTail () const |
CSmartBuffer | GetTail () |
virtual size_t | Purge (IHandlePurgedBufferRelease &purgeHandler, UserData userData)=0 |
virtual bool | TryAdd (CSmartBuffer &buffer) |
virtual CSmartBuffer | TryGetNext (CSmartBuffer &buffer, bool &inserted) |
Static Public Attributes | |
static const size_t | MaxNullBuffersBetweenBuffers = IBuffer::GetCounterMask() |
static const JetByteTools::Core::IIndexedOpaqueUserData::UserDataIndex | UseDefaultUserDataIndex = static_cast<JetByteTools::Core::IIndexedOpaqueUserData::UserDataIndex>(-1) |
Static Protected Member Functions | |
static JetByteTools::Core::IIndexedOpaqueUserData::UserDataIndex | GetNextBufferIndex (JetByteTools::Core::IIndexedOpaqueUserData::UserDataIndex nextBufferIndex) |
typedef BYTE NullBufferCount |
CBufferChainStoresNulls | ( | JetByteTools::Core::IIndexedOpaqueUserData::UserDataIndex | nextBufferIndex = UseDefaultUserDataIndex |
) | [explicit] |
CBufferChainStoresNulls | ( | IAllocateBuffer & | bufferAllocator, | |
JetByteTools::Core::IIndexedOpaqueUserData::UserDataIndex | nextBufferIndex = UseDefaultUserDataIndex | |||
) | [explicit] |
CBufferChainStoresNulls | ( | CBufferChainStoresNulls && | rhs | ) |
CBufferChainStoresNulls | ( | const CBufferChainStoresNulls & | rhs | ) |
~CBufferChainStoresNulls | ( | ) | [override] |
CBufferChainStoresNulls& operator= | ( | const CBufferChainStoresNulls & | rhs | ) |
_tstring Dump | ( | ) | const |
void Swap | ( | CBufferChainStoresNulls & | rhs | ) |
Swaps the current chain with 'rhs'.
IBuffer * Detach | ( | ) |
void Attach | ( | IBuffer * | pChain | ) |
Attaches pBuffer to an empty chain. The supplied buffer can be a single buffer or a chain of buffers. The chain takes ownership of the supplied buffer's existing reference.
void Attach | ( | CSmartBuffer & | buffer | ) |
Attaches buffer to an empty chain. The supplied buffer can be a single buffer or a chain of buffers. The chain takes ownership of the supplied buffer and extracts it from the smart buffer.
bool CanStoreNulls | ( | ) | const [inline, override, virtual] |
Implements IBufferChain.
bool IsEmpty | ( | ) | const [override, virtual] |
Implements IBufferChain.
size_t Size | ( | ) | const [override, virtual] |
Implements IBufferChain.
size_t TotalBytes | ( | ) | const [override, virtual] |
Implements IBufferChain.
size_t AvailableSpace | ( | ) | const [override, virtual] |
Implements IBufferChain.
bool HasAvailableSpace | ( | ) | const [override, virtual] |
Implements IBufferChain.
void GetTotalBytesAndAvailableSpace | ( | size_t & | totalBytes, | |
size_t & | availableSpace | |||
) | const [override, virtual] |
Implements IBufferChain.
size_t Purge | ( | ) | [override, virtual] |
Implements IBufferChain.
size_t Purge | ( | IBufferChain::IHandlePurgedBufferRelease & | purgeHandler, | |
UserData | userData | |||
) | [override] |
void Add | ( | CSmartBuffer & | buffer | ) | [override, virtual] |
Implements IBufferChain.
void AddToFront | ( | CSmartBuffer & | buffer | ) | [override, virtual] |
Implements IUnsortedBufferChain.
CSmartBuffer GetNext | ( | CSmartBuffer & | buffer | ) | [override, virtual] |
Implements IBufferChain.
CSmartBuffer GetNext | ( | ) | [override, virtual] |
Implements IBufferChain.
const IBuffer * PeekTail | ( | ) | const |
CSmartBuffer GetTail | ( | ) |
virtual size_t Purge | ( | IHandlePurgedBufferRelease & | purgeHandler, | |
UserData | userData | |||
) | [pure virtual, inherited] |
virtual bool TryAdd | ( | CSmartBuffer & | buffer | ) | [inline, virtual, inherited] |
Reimplemented in CSortedBufferChain.
virtual CSmartBuffer TryGetNext | ( | CSmartBuffer & | buffer, | |
bool & | inserted | |||
) | [inline, virtual, inherited] |
Reimplemented in CSortedBufferChain.
static JetByteTools::Core::IIndexedOpaqueUserData::UserDataIndex GetNextBufferIndex | ( | JetByteTools::Core::IIndexedOpaqueUserData::UserDataIndex | nextBufferIndex | ) | [static, protected, inherited] |
const size_t MaxNullBuffersBetweenBuffers = IBuffer::GetCounterMask() [static] |
const JetByteTools::Core::IIndexedOpaqueUserData::UserDataIndex UseDefaultUserDataIndex = static_cast<JetByteTools::Core::IIndexedOpaqueUserData::UserDataIndex>(-1) [static, inherited] |