JUCE v8.0.9
JUCE API
 
Loading...
Searching...
No Matches
juce::detail::IntersectingRangedValues< Values >::IntersectionIterator Struct Reference

#include <juce_Ranges.h>

Collaboration diagram for juce::detail::IntersectingRangedValues< Values >::IntersectionIterator:

Public Types

using iterator_category = std::forward_iterator_tag
 
using reference = std::tuple< Range< int64 >, const Values &... >
 

Public Member Functions

 IntersectionIterator (IteratorWrappersType wrappers)
 
reference operator* () const
 
IntersectionIteratoroperator++ ()
 
IntersectionIterator operator++ (int) const
 

Private Member Functions

void advance ()
 
bool isValid () const
 
auto makeReference () const
 

Private Attributes

std::list< RangedIterator * > iterators
 
IteratorWrappersType iteratorWrappers
 
int64 maxStart
 
int64 minEnd
 

Friends

bool operator!= (IntersectionIterator a, IntersectionIteratorSentinel)
 

Member Typedef Documentation

◆ iterator_category

template<typename... Values>
using juce::detail::IntersectingRangedValues< Values >::IntersectionIterator::iterator_category = std::forward_iterator_tag

◆ reference

template<typename... Values>
using juce::detail::IntersectingRangedValues< Values >::IntersectionIterator::reference = std::tuple<Range<int64>, const Values&...>

Constructor & Destructor Documentation

◆ IntersectionIterator()

template<typename... Values>
juce::detail::IntersectingRangedValues< Values >::IntersectionIterator::IntersectionIterator ( IteratorWrappersType  wrappers)
inlineexplicit

Member Function Documentation

◆ advance()

template<typename... Values>
void juce::detail::IntersectingRangedValues< Values >::IntersectionIterator::advance ( )
inlineprivate

◆ isValid()

template<typename... Values>
bool juce::detail::IntersectingRangedValues< Values >::IntersectionIterator::isValid ( ) const
inlineprivate

◆ makeReference()

template<typename... Values>
auto juce::detail::IntersectingRangedValues< Values >::IntersectionIterator::makeReference ( ) const
inlineprivate

◆ operator*()

template<typename... Values>
reference juce::detail::IntersectingRangedValues< Values >::IntersectionIterator::operator* ( ) const
inline

◆ operator++() [1/2]

template<typename... Values>
IntersectionIterator & juce::detail::IntersectingRangedValues< Values >::IntersectionIterator::operator++ ( )
inline

◆ operator++() [2/2]

template<typename... Values>
IntersectionIterator juce::detail::IntersectingRangedValues< Values >::IntersectionIterator::operator++ ( int  ) const
inline

Friends And Related Symbol Documentation

◆ operator!=

template<typename... Values>
bool operator!= ( IntersectionIterator  a,
IntersectionIteratorSentinel   
)
friend

Member Data Documentation

◆ iterators

template<typename... Values>
std::list<RangedIterator*> juce::detail::IntersectingRangedValues< Values >::IntersectionIterator::iterators
private

◆ iteratorWrappers

template<typename... Values>
IteratorWrappersType juce::detail::IntersectingRangedValues< Values >::IntersectionIterator::iteratorWrappers
private

◆ maxStart

template<typename... Values>
int64 juce::detail::IntersectingRangedValues< Values >::IntersectionIterator::maxStart
private

◆ minEnd

template<typename... Values>
int64 juce::detail::IntersectingRangedValues< Values >::IntersectionIterator::minEnd
private

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