Public Member Functions | Public Attributes | List of all members
AbstractFifo::ScopedReadWrite< mode > Class Template Referencefinal

Class for a scoped reader/writer. More...

Public Member Functions

 ScopedReadWrite ()=default
 Construct an unassigned reader/writer. More...
 
 ScopedReadWrite (AbstractFifo &f, int num) noexcept
 Construct a reader/writer and immediately call prepareRead/prepareWrite on the abstractFifo which was passed in. More...
 
 ScopedReadWrite (const ScopedReadWrite &)=delete
 
 ScopedReadWrite (ScopedReadWrite &&) noexcept
 
ScopedReadWriteoperator= (const ScopedReadWrite &)=delete
 
ScopedReadWriteoperator= (ScopedReadWrite &&) noexcept
 
 ~ScopedReadWrite () noexcept
 Calls finishedRead or finishedWrite if this is a non-null scoped reader/writer. More...
 
template<typename FunctionToApply >
void forEach (FunctionToApply &&func) const
 Calls the passed function with each index that was deemed valid for the current read/write operation. More...
 

Public Attributes

int startIndex1
 
int blockSize1
 
int startIndex2
 
int blockSize2
 

Detailed Description

template<ReadOrWrite mode>
class AbstractFifo::ScopedReadWrite< mode >

Class for a scoped reader/writer.

Constructor & Destructor Documentation

◆ ScopedReadWrite() [1/4]

template<ReadOrWrite mode>
AbstractFifo::ScopedReadWrite< mode >::ScopedReadWrite ( )
default

Construct an unassigned reader/writer.

Doesn't do anything upon destruction.

◆ ScopedReadWrite() [2/4]

template<ReadOrWrite mode>
AbstractFifo::ScopedReadWrite< mode >::ScopedReadWrite ( AbstractFifo f,
int  num 
)
noexcept

Construct a reader/writer and immediately call prepareRead/prepareWrite on the abstractFifo which was passed in.

This object will hold a pointer back to the fifo, so make sure that the fifo outlives this object.

References gl::num.

◆ ScopedReadWrite() [3/4]

template<ReadOrWrite mode>
AbstractFifo::ScopedReadWrite< mode >::ScopedReadWrite ( const ScopedReadWrite< mode > &  )
delete

◆ ScopedReadWrite() [4/4]

template<ReadOrWrite mode>
AbstractFifo::ScopedReadWrite< mode >::ScopedReadWrite ( ScopedReadWrite< mode > &&  )
noexcept

◆ ~ScopedReadWrite()

template<ReadOrWrite mode>
AbstractFifo::ScopedReadWrite< mode >::~ScopedReadWrite ( )
noexcept

Calls finishedRead or finishedWrite if this is a non-null scoped reader/writer.

Member Function Documentation

◆ operator=() [1/2]

template<ReadOrWrite mode>
ScopedReadWrite& AbstractFifo::ScopedReadWrite< mode >::operator= ( const ScopedReadWrite< mode > &  )
delete

◆ operator=() [2/2]

template<ReadOrWrite mode>
ScopedReadWrite& AbstractFifo::ScopedReadWrite< mode >::operator= ( ScopedReadWrite< mode > &&  )
noexcept

◆ forEach()

template<ReadOrWrite mode>
template<typename FunctionToApply >
void AbstractFifo::ScopedReadWrite< mode >::forEach ( FunctionToApply &&  func) const

Calls the passed function with each index that was deemed valid for the current read/write operation.

References gl::func.

Member Data Documentation

◆ startIndex1

template<ReadOrWrite mode>
int AbstractFifo::ScopedReadWrite< mode >::startIndex1

◆ blockSize1

template<ReadOrWrite mode>
int AbstractFifo::ScopedReadWrite< mode >::blockSize1

◆ startIndex2

template<ReadOrWrite mode>
int AbstractFifo::ScopedReadWrite< mode >::startIndex2

◆ blockSize2

template<ReadOrWrite mode>
int AbstractFifo::ScopedReadWrite< mode >::blockSize2

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