LMMS
Loading...
Searching...
No Matches
juce::lv2_shared::Iterator< Traits > Class Template Reference

#include <juce_LV2Common.h>

Public Types

using difference_type = ptrdiff_t
using value_type = decltype (Traits::get (std::declval<Container>(), std::declval<Iter>()))
using pointer = value_type*
using reference = value_type
using iterator_category = std::input_iterator_tag

Public Member Functions

 Iterator ()=default
 Iterator (Container p) noexcept
Iterator begin () const noexcept
Iterator end () const noexcept
bool operator== (const Iterator &other) const noexcept
bool operator!= (const Iterator &other) const noexcept
Iteratoroperator++ ()
Iterator operator++ (int)
reference operator* () const noexcept

Private Types

using Container = typename Traits::Container
using Iter = typename Traits::Iter

Private Member Functions

Iter testEnd (Iter i) const noexcept

Private Attributes

Container container {}
Iter iter {}

Member Typedef Documentation

◆ Container

template<typename Traits>
using juce::lv2_shared::Iterator< Traits >::Container = typename Traits::Container
private

◆ difference_type

template<typename Traits>
using juce::lv2_shared::Iterator< Traits >::difference_type = ptrdiff_t

◆ Iter

template<typename Traits>
using juce::lv2_shared::Iterator< Traits >::Iter = typename Traits::Iter
private

◆ iterator_category

template<typename Traits>
using juce::lv2_shared::Iterator< Traits >::iterator_category = std::input_iterator_tag

◆ pointer

template<typename Traits>
using juce::lv2_shared::Iterator< Traits >::pointer = value_type*

◆ reference

template<typename Traits>
using juce::lv2_shared::Iterator< Traits >::reference = value_type

◆ value_type

template<typename Traits>
using juce::lv2_shared::Iterator< Traits >::value_type = decltype (Traits::get (std::declval<Container>(), std::declval<Iter>()))

Constructor & Destructor Documentation

◆ Iterator() [1/2]

template<typename Traits>
juce::lv2_shared::Iterator< Traits >::Iterator ( )
default

Create iterator in end/sentinel state

◆ Iterator() [2/2]

template<typename Traits>
juce::lv2_shared::Iterator< Traits >::Iterator ( Container p)
inlineexplicitnoexcept

Create iterator pointing to the beginning of this collection

Member Function Documentation

◆ begin()

template<typename Traits>
Iterator juce::lv2_shared::Iterator< Traits >::begin ( ) const
inlinenoexcept

◆ end()

template<typename Traits>
Iterator juce::lv2_shared::Iterator< Traits >::end ( ) const
inlinenoexcept

◆ operator!=()

template<typename Traits>
bool juce::lv2_shared::Iterator< Traits >::operator!= ( const Iterator< Traits > & other) const
inlinenoexcept

◆ operator*()

template<typename Traits>
reference juce::lv2_shared::Iterator< Traits >::operator* ( ) const
inlinenoexcept

◆ operator++() [1/2]

template<typename Traits>
Iterator & juce::lv2_shared::Iterator< Traits >::operator++ ( )
inline

◆ operator++() [2/2]

template<typename Traits>
Iterator juce::lv2_shared::Iterator< Traits >::operator++ ( int )
inline

◆ operator==()

template<typename Traits>
bool juce::lv2_shared::Iterator< Traits >::operator== ( const Iterator< Traits > & other) const
inlinenoexcept

◆ testEnd()

template<typename Traits>
Iter juce::lv2_shared::Iterator< Traits >::testEnd ( Iter i) const
inlineprivatenoexcept

Member Data Documentation

◆ container

template<typename Traits>
Container juce::lv2_shared::Iterator< Traits >::container {}
private

◆ iter

template<typename Traits>
Iter juce::lv2_shared::Iterator< Traits >::iter {}
private

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