JUCE v8.0.9
JUCE API
 
Loading...
Searching...
No Matches
juce_Enumerate.h File Reference
This graph shows which files directly or indirectly include this file:

Classes

struct  juce::Enumerated< Index, Value >
 Returned when dereferencing an EnumerateIterator. More...
 
class  juce::EnumerateIterator< Iter, Index >
 An iterator that wraps some other iterator, keeping track of the relative position of that iterator based on calls to arithmetic operators such as operator++(), operator--(), operator+(), and operator-(). More...
 
class  juce::IteratorPair< Begin, End >
 Wraps a pair of iterators, providing member begin() and end() functions that return those iterators. More...
 

Namespaces

namespace  juce
 
namespace  juce::detail
 
namespace  juce::detail::withAdlSize
 

Typedefs

template<typename Range >
using juce::detail::withAdlSize::AdlSignedSize = std::common_type_t< std::ptrdiff_t, std::make_signed_t< AdlSize< Range > > >
 
template<typename Range >
using juce::detail::withAdlSize::AdlSize = decltype(size(std::declval< Range >()))
 

Functions

template<typename Range , typename Index = detail::withAdlSize::AdlSignedSize<Range>>
constexpr auto juce::enumerate (Range &&range, Index startingValue={})
 Given a range and an optional starting offset, returns an IteratorPair that holds EnumerateIterators wrapping the begin() and end() of the range.
 
template<typename Begin , typename End = Begin>
constexpr auto juce::makeRange (Begin begin, End end)
 Given two iterators "begin" and "end", returns an IteratorPair with a member begin() and end() function.
 

Variables

template<typename T , typename I , typename = void>
constexpr auto juce::detail::canAdd = false
 
template<typename T , typename I , typename = void>
constexpr auto juce::detail::canAddAssign = false
 
template<typename T , typename I , typename = void>
constexpr auto juce::detail::canGreaterThan = false
 
template<typename T , typename I , typename = void>
constexpr auto juce::detail::canGreaterThanEqual = false
 
template<typename T , typename I , typename = void>
constexpr auto juce::detail::canLessThan = false
 
template<typename T , typename I , typename = void>
constexpr auto juce::detail::canLessThanEqual = false
 
template<typename T , typename = void>
constexpr auto juce::detail::canPreDecrement = false
 
template<typename T , typename I , typename = void>
constexpr auto juce::detail::canSub = false
 
template<typename T , typename I , typename = void>
constexpr auto juce::detail::canSubAssign = false