LMMS
Loading...
Searching...
No Matches
juce::AbstractFifo::ScopedReadWrite< mode > Class Template Referencefinal

#include <juce_AbstractFifo.h>

Public Member Functions

 ScopedReadWrite ()=default
 ScopedReadWrite (AbstractFifo &f, int num) noexcept
 ScopedReadWrite (const ScopedReadWrite &)=delete
 ScopedReadWrite (ScopedReadWrite &&) noexcept
ScopedReadWriteoperator= (const ScopedReadWrite &)=delete
ScopedReadWriteoperator= (ScopedReadWrite &&) noexcept
 ~ScopedReadWrite () noexcept
template<typename FunctionToApply>
void forEach (FunctionToApply &&func) const

Public Attributes

int startIndex1
int blockSize1
int startIndex2
int blockSize2

Private Member Functions

void prepare (AbstractFifo &, int) noexcept
void swap (ScopedReadWrite &) noexcept
void finish (AbstractFifo &f, int num) noexcept
void finish (AbstractFifo &f, int num) noexcept
void prepare (AbstractFifo &f, int num) noexcept
void prepare (AbstractFifo &f, int num) noexcept

Static Private Member Functions

static void finish (AbstractFifo &, int) noexcept

Private Attributes

AbstractFifofifo = nullptr

Detailed Description

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

Class for a scoped reader/writer

Constructor & Destructor Documentation

◆ ScopedReadWrite() [1/4]

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

Construct an unassigned reader/writer. Doesn't do anything upon destruction.

◆ ScopedReadWrite() [2/4]

template<ReadOrWrite mode>
juce::AbstractFifo::ScopedReadWrite< mode >::ScopedReadWrite ( AbstractFifo & f,
int num )
inlinenoexcept

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.

◆ ScopedReadWrite() [3/4]

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

◆ ScopedReadWrite() [4/4]

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

◆ ~ScopedReadWrite()

template<ReadOrWrite mode>
juce::AbstractFifo::ScopedReadWrite< mode >::~ScopedReadWrite ( )
inlinenoexcept

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

Member Function Documentation

◆ finish() [1/3]

template<ReadOrWrite mode>
void juce::AbstractFifo::ScopedReadWrite< mode >::finish ( AbstractFifo & ,
int  )
staticprivatenoexcept

◆ finish() [2/3]

◆ finish() [3/3]

◆ forEach()

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

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

◆ operator=() [1/2]

◆ operator=() [2/2]

◆ prepare() [1/3]

template<ReadOrWrite mode>
void juce::AbstractFifo::ScopedReadWrite< mode >::prepare ( AbstractFifo & ,
int  )
privatenoexcept

◆ prepare() [2/3]

◆ prepare() [3/3]

◆ swap()

template<ReadOrWrite mode>
void juce::AbstractFifo::ScopedReadWrite< mode >::swap ( ScopedReadWrite< mode > & other)
privatenoexcept

Member Data Documentation

◆ blockSize1

◆ blockSize2

◆ fifo

◆ startIndex1

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

◆ startIndex2

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

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