JUCE v8.0.9
JUCE API
 
Loading...
Searching...
No Matches
juce::detail::RangedValuesIterator< T > Class Template Reference

#include <juce_Ranges.h>

Collaboration diagram for juce::detail::RangedValuesIterator< T >:

Classes

struct  PointerProxy
 

Public Types

using difference_type = std::ptrdiff_t
 
using iterator_category = std::random_access_iterator_tag
 
using pointer = PointerProxy
 
using reference = value_type
 
using value_type = RangedValuesIteratorItem< T >
 

Public Member Functions

 RangedValuesIterator (T *valuesIn, InternalIterator iteratorBaseIn, InternalIterator iteratorIn)
 
reference operator* () const
 
RangedValuesIteratoroperator++ ()
 
RangedValuesIterator operator++ (int) const
 
RangedValuesIteratoroperator+= (difference_type distance)
 
RangedValuesIteratoroperator-- ()
 
RangedValuesIterator operator-- (int) const
 
RangedValuesIteratoroperator-= (difference_type distance)
 
pointer operator-> () const
 
reference operator[] (difference_type d) const
 

Private Types

using InternalIterator = const Range< int64 > *
 

Private Member Functions

reference makeReference (const InternalIterator &it) const
 

Private Attributes

InternalIterator iterator
 
InternalIterator iteratorBase
 
T * values {}
 

Friends

bool operator!= (RangedValuesIterator a, RangedValuesIterator b)
 
RangedValuesIterator operator+ (difference_type d, RangedValuesIterator i)
 
RangedValuesIterator operator+ (RangedValuesIterator i, difference_type d)
 
difference_type operator- (RangedValuesIterator a, RangedValuesIterator b)
 
RangedValuesIterator operator- (RangedValuesIterator i, difference_type d)
 
bool operator< (RangedValuesIterator a, RangedValuesIterator b)
 
bool operator<= (RangedValuesIterator a, RangedValuesIterator b)
 
bool operator== (RangedValuesIterator a, RangedValuesIterator b)
 
bool operator> (RangedValuesIterator a, RangedValuesIterator b)
 
bool operator>= (RangedValuesIterator a, RangedValuesIterator b)
 

Member Typedef Documentation

◆ difference_type

template<typename T >
using juce::detail::RangedValuesIterator< T >::difference_type = std::ptrdiff_t

◆ InternalIterator

template<typename T >
using juce::detail::RangedValuesIterator< T >::InternalIterator = const Range<int64>*
private

◆ iterator_category

template<typename T >
using juce::detail::RangedValuesIterator< T >::iterator_category = std::random_access_iterator_tag

◆ pointer

template<typename T >
using juce::detail::RangedValuesIterator< T >::pointer = PointerProxy

◆ reference

template<typename T >
using juce::detail::RangedValuesIterator< T >::reference = value_type

◆ value_type

template<typename T >
using juce::detail::RangedValuesIterator< T >::value_type = RangedValuesIteratorItem<T>

Constructor & Destructor Documentation

◆ RangedValuesIterator()

template<typename T >
juce::detail::RangedValuesIterator< T >::RangedValuesIterator ( T *  valuesIn,
InternalIterator  iteratorBaseIn,
InternalIterator  iteratorIn 
)
inline

Member Function Documentation

◆ makeReference()

◆ operator*()

◆ operator++() [1/2]

◆ operator++() [2/2]

template<typename T >
RangedValuesIterator juce::detail::RangedValuesIterator< T >::operator++ ( int  ) const
inline

◆ operator+=()

template<typename T >
RangedValuesIterator & juce::detail::RangedValuesIterator< T >::operator+= ( difference_type  distance)
inline

◆ operator--() [1/2]

◆ operator--() [2/2]

template<typename T >
RangedValuesIterator juce::detail::RangedValuesIterator< T >::operator-- ( int  ) const
inline

◆ operator-=()

template<typename T >
RangedValuesIterator & juce::detail::RangedValuesIterator< T >::operator-= ( difference_type  distance)
inline

◆ operator->()

◆ operator[]()

Friends And Related Symbol Documentation

◆ operator!=

template<typename T >
bool operator!= ( RangedValuesIterator< T >  a,
RangedValuesIterator< T >  b 
)
friend

◆ operator+ [1/2]

template<typename T >
RangedValuesIterator operator+ ( difference_type  d,
RangedValuesIterator< T >  i 
)
friend

◆ operator+ [2/2]

template<typename T >
RangedValuesIterator operator+ ( RangedValuesIterator< T >  i,
difference_type  d 
)
friend

◆ operator- [1/2]

template<typename T >
difference_type operator- ( RangedValuesIterator< T >  a,
RangedValuesIterator< T >  b 
)
friend

◆ operator- [2/2]

template<typename T >
RangedValuesIterator operator- ( RangedValuesIterator< T >  i,
difference_type  d 
)
friend

◆ operator<

template<typename T >
bool operator< ( RangedValuesIterator< T >  a,
RangedValuesIterator< T >  b 
)
friend

◆ operator<=

template<typename T >
bool operator<= ( RangedValuesIterator< T >  a,
RangedValuesIterator< T >  b 
)
friend

◆ operator==

template<typename T >
bool operator== ( RangedValuesIterator< T >  a,
RangedValuesIterator< T >  b 
)
friend

◆ operator>

template<typename T >
bool operator> ( RangedValuesIterator< T >  a,
RangedValuesIterator< T >  b 
)
friend

◆ operator>=

template<typename T >
bool operator>= ( RangedValuesIterator< T >  a,
RangedValuesIterator< T >  b 
)
friend

Member Data Documentation

◆ iterator

◆ iteratorBase

◆ values

template<typename T >
T* juce::detail::RangedValuesIterator< T >::values {}
private

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