LMMS
Loading...
Searching...
No Matches
lmms::detail::InterleavedFrameIterator< T, channelCount > Class Template Reference

#include <AudioBufferView.h>

Inheritance diagram for lmms::detail::InterleavedFrameIterator< T, channelCount >:
lmms::detail::InterleavedFrameIteratorData< T, DynamicChannelCount >

Public Types

using iterator_concept = std::random_access_iterator_tag
using value_type = T*
using difference_type = std::ptrdiff_t

Public Member Functions

constexpr auto operator* () const noexcept -> value_type
constexpr auto operator[] (difference_type frames) const noexcept -> value_type
constexpr auto operator++ () noexcept -> InterleavedFrameIterator &
constexpr auto operator++ (int) noexcept -> InterleavedFrameIterator
constexpr auto operator-- () noexcept -> InterleavedFrameIterator &
constexpr auto operator-- (int) noexcept -> InterleavedFrameIterator
constexpr auto operator+= (difference_type channels) noexcept -> InterleavedFrameIterator &
constexpr auto operator-= (difference_type channels) noexcept -> InterleavedFrameIterator &
constexpr auto operator- (difference_type frames) const noexcept -> InterleavedFrameIterator
constexpr auto operator- (InterleavedFrameIterator other) const noexcept -> difference_type
constexpr auto operator<=> (InterleavedFrameIterator other) const noexcept
constexpr auto operator== (InterleavedFrameIterator other) const noexcept -> bool
constexpr auto operator<=> (T *sentinel) const noexcept
constexpr auto operator== (T *sentinel) const noexcept -> bool
constexpr auto base () const noexcept -> T *
Public Member Functions inherited from lmms::detail::InterleavedFrameIteratorData< T, DynamicChannelCount >
constexpr InterleavedFrameIteratorData ()=default
constexpr InterleavedFrameIteratorData (const InterleavedFrameIteratorData &)=default
constexpr InterleavedFrameIteratorData (T *data, ch_cnt_t channels) noexcept
constexpr auto channels () const noexcept -> ch_cnt_t

Private Types

using Base = InterleavedFrameIteratorData<T, channelCount>

Friends

constexpr auto operator+ (InterleavedFrameIterator iter, difference_type frames) noexcept -> InterleavedFrameIterator
constexpr auto operator+ (difference_type frames, InterleavedFrameIterator iter) noexcept -> InterleavedFrameIterator

Additional Inherited Members

Protected Attributes inherited from lmms::detail::InterleavedFrameIteratorData< T, DynamicChannelCount >
T * m_data = nullptr
ch_cnt_t m_channels = 0

Member Typedef Documentation

◆ Base

template<typename T, ch_cnt_t channelCount = DynamicChannelCount>
using lmms::detail::InterleavedFrameIterator< T, channelCount >::Base = InterleavedFrameIteratorData<T, channelCount>
private

◆ difference_type

template<typename T, ch_cnt_t channelCount = DynamicChannelCount>
using lmms::detail::InterleavedFrameIterator< T, channelCount >::difference_type = std::ptrdiff_t

◆ iterator_concept

template<typename T, ch_cnt_t channelCount = DynamicChannelCount>
using lmms::detail::InterleavedFrameIterator< T, channelCount >::iterator_concept = std::random_access_iterator_tag

◆ value_type

template<typename T, ch_cnt_t channelCount = DynamicChannelCount>
using lmms::detail::InterleavedFrameIterator< T, channelCount >::value_type = T*

Member Function Documentation

◆ base()

template<typename T, ch_cnt_t channelCount = DynamicChannelCount>
auto lmms::detail::InterleavedFrameIterator< T, channelCount >::base ( ) const -> T *
inlineconstexprnoexcept

◆ operator*()

template<typename T, ch_cnt_t channelCount = DynamicChannelCount>
auto lmms::detail::InterleavedFrameIterator< T, channelCount >::operator* ( ) const -> value_type
inlineconstexprnoexcept

◆ operator++() [1/2]

template<typename T, ch_cnt_t channelCount = DynamicChannelCount>
auto lmms::detail::InterleavedFrameIterator< T, channelCount >::operator++ ( ) -> InterleavedFrameIterator &
inlineconstexprnoexcept

◆ operator++() [2/2]

template<typename T, ch_cnt_t channelCount = DynamicChannelCount>
auto lmms::detail::InterleavedFrameIterator< T, channelCount >::operator++ ( int ) -> InterleavedFrameIterator
inlineconstexprnoexcept

◆ operator+=()

template<typename T, ch_cnt_t channelCount = DynamicChannelCount>
auto lmms::detail::InterleavedFrameIterator< T, channelCount >::operator+= ( difference_type channels) -> InterleavedFrameIterator &
inlineconstexprnoexcept

◆ operator-() [1/2]

template<typename T, ch_cnt_t channelCount = DynamicChannelCount>
auto lmms::detail::InterleavedFrameIterator< T, channelCount >::operator- ( difference_type frames) const -> InterleavedFrameIterator
inlineconstexprnoexcept

◆ operator-() [2/2]

template<typename T, ch_cnt_t channelCount = DynamicChannelCount>
auto lmms::detail::InterleavedFrameIterator< T, channelCount >::operator- ( InterleavedFrameIterator< T, channelCount > other) const -> difference_type
inlineconstexprnoexcept

◆ operator--() [1/2]

template<typename T, ch_cnt_t channelCount = DynamicChannelCount>
auto lmms::detail::InterleavedFrameIterator< T, channelCount >::operator-- ( ) -> InterleavedFrameIterator &
inlineconstexprnoexcept

◆ operator--() [2/2]

template<typename T, ch_cnt_t channelCount = DynamicChannelCount>
auto lmms::detail::InterleavedFrameIterator< T, channelCount >::operator-- ( int ) -> InterleavedFrameIterator
inlineconstexprnoexcept

◆ operator-=()

template<typename T, ch_cnt_t channelCount = DynamicChannelCount>
auto lmms::detail::InterleavedFrameIterator< T, channelCount >::operator-= ( difference_type channels) -> InterleavedFrameIterator &
inlineconstexprnoexcept

◆ operator<=>() [1/2]

template<typename T, ch_cnt_t channelCount = DynamicChannelCount>
auto lmms::detail::InterleavedFrameIterator< T, channelCount >::operator<=> ( InterleavedFrameIterator< T, channelCount > other) const
inlineconstexprnoexcept

◆ operator<=>() [2/2]

template<typename T, ch_cnt_t channelCount = DynamicChannelCount>
auto lmms::detail::InterleavedFrameIterator< T, channelCount >::operator<=> ( T * sentinel) const
inlineconstexprnoexcept

◆ operator==() [1/2]

template<typename T, ch_cnt_t channelCount = DynamicChannelCount>
auto lmms::detail::InterleavedFrameIterator< T, channelCount >::operator== ( InterleavedFrameIterator< T, channelCount > other) const -> bool
inlineconstexprnoexcept

◆ operator==() [2/2]

template<typename T, ch_cnt_t channelCount = DynamicChannelCount>
auto lmms::detail::InterleavedFrameIterator< T, channelCount >::operator== ( T * sentinel) const -> bool
inlineconstexprnoexcept

◆ operator[]()

template<typename T, ch_cnt_t channelCount = DynamicChannelCount>
auto lmms::detail::InterleavedFrameIterator< T, channelCount >::operator[] ( difference_type frames) const -> value_type
inlineconstexprnoexcept

◆ operator+ [1/2]

template<typename T, ch_cnt_t channelCount = DynamicChannelCount>
auto operator+ ( difference_type frames,
InterleavedFrameIterator< T, channelCount > iter ) -> InterleavedFrameIterator
friend

◆ operator+ [2/2]

template<typename T, ch_cnt_t channelCount = DynamicChannelCount>
auto operator+ ( InterleavedFrameIterator< T, channelCount > iter,
difference_type frames ) -> InterleavedFrameIterator
friend

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