Vector BLF
Loading...
Searching...
No Matches
Vector::BLF::ObjectQueue< T > Class Template Referencefinal

#include <ObjectQueue.h>

Public Member Functions

T * read ()
 
uint32_t tellg () const
 
void write (T *obj)
 
uint32_t tellp () const
 
bool good () const
 
bool eof () const
 
void abort ()
 
void setFileSize (uint32_t fileSize)
 
void setBufferSize (uint32_t bufferSize)
 

Public Attributes

std::condition_variable tellgChanged {}
 
std::condition_variable tellpChanged {}
 

Detailed Description

template<typename T>
class Vector::BLF::ObjectQueue< T >

Thread-safe queue for ObjectHeaderBase

Member Function Documentation

◆ abort()

template<typename T >
void Vector::BLF::ObjectQueue< T >::abort ( )

Stop further operations. Return from waiting reads.

◆ eof()

template<typename T >
bool Vector::BLF::ObjectQueue< T >::eof ( ) const

Check whether eofbit is set.

Returns
true if eofbit is set

◆ good()

template<typename T >
bool Vector::BLF::ObjectQueue< T >::good ( ) const

Check whether state of stream is good.

Returns
true if no error flags are set

◆ read()

template<typename T >
T * Vector::BLF::ObjectQueue< T >::read ( )

Get access to front of queue.

Returns
object (or nullptr if empty)

◆ setBufferSize()

template<typename T >
void Vector::BLF::ObjectQueue< T >::setBufferSize ( uint32_t bufferSize)

Sets the maximum file size. Write operations block, if the size is reached.

Parameters
[in]bufferSizemaximum file size

◆ setFileSize()

template<typename T >
void Vector::BLF::ObjectQueue< T >::setFileSize ( uint32_t fileSize)

Set file size resp. end-of-file position.

Parameters
[in]fileSizefile size

◆ tellg()

template<typename T >
uint32_t Vector::BLF::ObjectQueue< T >::tellg ( ) const

Get position in input sequence.

Returns
Read position

◆ tellp()

template<typename T >
uint32_t Vector::BLF::ObjectQueue< T >::tellp ( ) const

Get position in output sequence.

Returns
Write position

◆ write()

template<typename T >
void Vector::BLF::ObjectQueue< T >::write ( T * obj)

Enqueue an object to end of queue.

nullptr can be pushed to indicate eof.

Parameters
[in]objobject

Member Data Documentation

◆ tellgChanged

template<typename T >
std::condition_variable Vector::BLF::ObjectQueue< T >::tellgChanged {}

data was dequeued

◆ tellpChanged

template<typename T >
std::condition_variable Vector::BLF::ObjectQueue< T >::tellpChanged {}

data was enqueued


The documentation for this class was generated from the following files: