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

#include <juce_Ranges.h>

Inheritance diagram for juce::detail::RangedValues< T >:
Collaboration diagram for juce::detail::RangedValues< T >:

Classes

struct  ConstItem
 
struct  Item
 

Public Member Functions

Item back ()
 
ConstItem back () const
 
auto begin ()
 
auto begin () const
 
auto cbegin () const
 
auto cend () const
 
void clear ()
 
template<typename MergeEquals = MergeEqualItemsYes>
void drop (Range< int64 > r, Ranges::Operations &ops, MergeEquals={})
 
auto end ()
 
auto end () const
 
void erase (Range< int64 > r, Ranges::Operations &ops)
 
void eraseFrom (int64 i, Ranges::Operations &ops)
 
void eraseUpTo (int64 i, Ranges::Operations &ops)
 
auto find (int64 i)
 
auto find (int64 i) const
 
Item front ()
 
ConstItem front () const
 
RangedValues< T > getIntersectionsStartingAtZeroWith (Range< int64 > r) const
 
RangedValues< T > getIntersectionsWith (Range< int64 > r) const
 
Item getItem (size_t i)
 
ConstItem getItem (size_t i) const
 
auto getItemWithEnclosingRange (int64 i)
 
auto getItemWithEnclosingRange (int64 i) const
 
const auto & getRanges () const
 
template<typename MergeEquals = MergeEqualItemsYes>
void insert (Range< int64 > r, T v, Ranges::Operations &ops, MergeEquals={})
 
bool isEmpty () const
 
bool operator!= (const RangedValues &other) const
 
bool operator== (const RangedValues &other) const
 
template<typename MergeEquals = MergeEqualItemsYes>
void set (Range< int64 > r, T v, Ranges::Operations &ops, MergeEquals={})
 
void shift (int64 from, int64 amount, Ranges::Operations &ops)
 
size_t size () const
 

Static Public Member Functions

template<typename U >
static auto createSubSpan (U &s, size_t offset)
 
template<typename Self >
static auto findImpl (Self &self, int64 i)
 
template<typename RangedValuesType >
static auto makeIterator (RangedValuesType *rv, const Range< int64 > *base, const Range< int64 > *iterator)
 

Static Public Attributes

static constexpr bool canMergeEqualItems = hasEqualityOperator<T>
 

Private Member Functions

void applyOperation (const Ranges::Op &op)
 
void applyOperation (const Ranges::Op &op, T v)
 
void applyOperations (Span< const Ranges::Op > ops)
 
void applyOperations (Span< const Ranges::Op > ops, T v)
 
void mergeEqualItems (int64 i, Ranges::Operations &ops)
 
auto tie () const
 

Static Private Member Functions

template<typename Self >
static auto getItemWithEnclosingRangeImpl (Self &self, int64 i)
 

Private Attributes

Ranges ranges
 
std::vector< T > values
 

Member Function Documentation

◆ applyOperation() [1/2]

◆ applyOperation() [2/2]

template<typename T >
void juce::detail::RangedValues< T >::applyOperation ( const Ranges::Op op,
v 
)
inlineprivate

◆ applyOperations() [1/2]

template<typename T >
void juce::detail::RangedValues< T >::applyOperations ( Span< const Ranges::Op ops)
inlineprivate

◆ applyOperations() [2/2]

template<typename T >
void juce::detail::RangedValues< T >::applyOperations ( Span< const Ranges::Op ops,
v 
)
inlineprivate

◆ back() [1/2]

◆ back() [2/2]

◆ begin() [1/2]

◆ begin() [2/2]

◆ cbegin()

◆ cend()

◆ clear()

◆ createSubSpan()

template<typename T >
template<typename U >
static auto juce::detail::RangedValues< T >::createSubSpan ( U &  s,
size_t  offset 
)
inlinestatic

◆ drop()

template<typename T >
template<typename MergeEquals = MergeEqualItemsYes>
void juce::detail::RangedValues< T >::drop ( Range< int64 r,
Ranges::Operations ops,
MergeEquals  = {} 
)
inline

◆ end() [1/2]

◆ end() [2/2]

◆ erase()

◆ eraseFrom()

◆ eraseUpTo()

◆ find() [1/2]

template<typename T >
auto juce::detail::RangedValues< T >::find ( int64  i)
inline

◆ find() [2/2]

template<typename T >
auto juce::detail::RangedValues< T >::find ( int64  i) const
inline

◆ findImpl()

template<typename T >
template<typename Self >
static auto juce::detail::RangedValues< T >::findImpl ( Self &  self,
int64  i 
)
inlinestatic

◆ front() [1/2]

◆ front() [2/2]

◆ getIntersectionsStartingAtZeroWith()

template<typename T >
RangedValues< T > juce::detail::RangedValues< T >::getIntersectionsStartingAtZeroWith ( Range< int64 r) const
inline

◆ getIntersectionsWith()

◆ getItem() [1/2]

◆ getItem() [2/2]

◆ getItemWithEnclosingRange() [1/2]

template<typename T >
auto juce::detail::RangedValues< T >::getItemWithEnclosingRange ( int64  i)
inline

◆ getItemWithEnclosingRange() [2/2]

template<typename T >
auto juce::detail::RangedValues< T >::getItemWithEnclosingRange ( int64  i) const
inline

◆ getItemWithEnclosingRangeImpl()

template<typename T >
template<typename Self >
static auto juce::detail::RangedValues< T >::getItemWithEnclosingRangeImpl ( Self &  self,
int64  i 
)
inlinestaticprivate

◆ getRanges()

template<typename T >
const auto & juce::detail::RangedValues< T >::getRanges ( ) const
inline

◆ insert()

template<typename T >
template<typename MergeEquals = MergeEqualItemsYes>
void juce::detail::RangedValues< T >::insert ( Range< int64 r,
v,
Ranges::Operations ops,
MergeEquals  = {} 
)
inline

◆ isEmpty()

template<typename T >
bool juce::detail::RangedValues< T >::isEmpty ( ) const
inline

◆ makeIterator()

template<typename T >
template<typename RangedValuesType >
static auto juce::detail::RangedValues< T >::makeIterator ( RangedValuesType *  rv,
const Range< int64 > *  base,
const Range< int64 > *  iterator 
)
inlinestatic

◆ mergeEqualItems()

◆ operator!=()

template<typename T >
bool juce::detail::RangedValues< T >::operator!= ( const RangedValues< T > &  other) const
inline

◆ operator==()

template<typename T >
bool juce::detail::RangedValues< T >::operator== ( const RangedValues< T > &  other) const
inline

◆ set()

template<typename T >
template<typename MergeEquals = MergeEqualItemsYes>
void juce::detail::RangedValues< T >::set ( Range< int64 r,
v,
Ranges::Operations ops,
MergeEquals  = {} 
)
inline

◆ shift()

template<typename T >
void juce::detail::RangedValues< T >::shift ( int64  from,
int64  amount,
Ranges::Operations ops 
)
inline

◆ size()

template<typename T >
size_t juce::detail::RangedValues< T >::size ( ) const
inline

◆ tie()

Member Data Documentation

◆ canMergeEqualItems

template<typename T >
constexpr bool juce::detail::RangedValues< T >::canMergeEqualItems = hasEqualityOperator<T>
staticconstexpr

◆ ranges

◆ values


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