AbstractFifo::ScopedReadWrite< mode > Class Template Referencefinal
juce_core » containers

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
ScopedReadWrite & | operator= (const ScopedReadWrite &)=delete
ScopedReadWrite & | operator= (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.

## 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.

## 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:

- juce_AbstractFifo.h