BloombergLP::ball::RecordBuffer

Provide a protocol (or pure interface) for managing record handles (specifically instances of bsl::shared_ptr<Record>).

Synopsis

Declared in <ball_recordbuffer.h>

class RecordBuffer;

Member Functions

NameDescription
~RecordBuffer [destructor] [virtual]Remove all record handles stored in this record buffer and destroy this record buffer.
back [virtual]Return a reference of the shared pointer referring to the record positioned at the back of this record buffer.
beginSequence [virtual]Lock this record buffer so that a sequence of method invocations on this record buffer can occur uninterrupted by other threads.
endSequence [virtual]Unlock this record buffer, thus allowing other threads to access it. The behavior is undefined unless the buffer is already locked by beginSequence method.
front [virtual]Return a reference of the shared pointer referring to the record positioned at the front of this record buffer.
length [virtual]Return the number of record handles in this record buffer.
popBack [virtual]Remove from this record buffer the record handle positioned at the back of the buffer. The behavior is undefined unless 0 < length().
popFront [virtual]Remove from this record buffer the record handle positioned at the front of the buffer. The behavior is undefined unless 0 < length().
pushBack [virtual]Append the specified handle to the back of this record buffer.
pushFront [virtual]Insert the specified handle at the front of this record buffer.
removeAll [virtual]Remove all record handles stored in this record buffer. Note that length() is now 0.

Derived Classes

NameDescription
FixedSizeRecordBuffer Concrete, thread-safe fixed-size buffer of record handles.