Loading...
Searching...
No Matches
juce::OrderedContainerHelpers Struct Reference

## Detailed Description

A helper struct providing functions for managing sorted containers.

These helper functions simplify common operations on containers that are kept in a sorted order.

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

- juce_core/misc/juce_OrderedContainerHelpers.h

## Public Member Functions

| OrderedContainerHelpers ()=delete

## Static Public Member Functions

template<typename A, typename B, typename Less = std::less<>>
static constexpr bool | equivalent (const A &a, const B &b, Less less={})
| Returns true if neither value compares less than the other.
template<typename OrderedContainer, typename ValueType, typename Less = std::less<>>
static void | insertOrAssign (OrderedContainer &container, const ValueType &valueToInsert, Less less={})
| If the container already contains a value equivalent to the valueToInsert, assigns the new value over the old one; otherwise, if no equivalent tag exists, inserts the new value preserving the sorted property of the container.
template<typename OrderedContainer, typename ValueType, typename Less = std::less<>>
static bool | remove (OrderedContainer &container, const ValueType &valueToRemove, Less less={})
| Removes a specific element from a sorted array, preserving order.

## Constructors and Destructors

## OrderedContainerHelpers()

juce::OrderedContainerHelpers::OrderedContainerHelpers | ( |  | ) |

delete

## Member Functions

## equivalent()

template<typename A, typename B, typename Less = std::less<>>

constexpr bool juce::OrderedContainerHelpers::equivalent | ( | const A & | a,
|  | const B & | b,
|  | Less | less = {} )

inline static constexpr

Returns true if neither value compares less than the other.

This is the same definition of equivalence as used by the std containers "set" and "map".

## insertOrAssign()

template<typename OrderedContainer, typename ValueType, typename Less = std::less<>>

void juce::OrderedContainerHelpers::insertOrAssign | ( | OrderedContainer & | container,
|  | const ValueType & | valueToInsert,
|  | Less | less = {} )

inline static

If the container already contains a value equivalent to the valueToInsert, assigns the new value over the old one; otherwise, if no equivalent tag exists, inserts the new value preserving the sorted property of the container.

## remove()

template<typename OrderedContainer, typename ValueType, typename Less = std::less<>>

bool juce::OrderedContainerHelpers::remove | ( | OrderedContainer & | container,
|  | const ValueType & | valueToRemove,
|  | Less | less = {} )

inline static

Removes a specific element from a sorted array, preserving order.

Searches for an element in the container that compares equivalent to valueToRemove and erases it if present, preserving the sorted property of the container.

Returns true if the array was modified or false otherwise (i.e. the element was not removed).

### Purchase

Get JUCE

### Discover

What's New in JUCE Features

### Learn

Documentaion Tutorials Made with JUCE Resources

### Support

JUCE Forum Newsletter Archive

### About

Contact Us JUCE Legal JUCE Licensing FAQ

### Events

Audio Developer Conference
© Raw Material Software Limited