JUCE
Typedefs | Functions

Typedefs

template<typename A , typename B >
using DisableIfSameOrDerived = typename std::enable_if_t<! std::is_base_of< A, std::remove_reference_t< B > >::value >
 Can be used to disable template constructors that would otherwise cause ambiguity with compiler-generated copy and move constructors. More...
 

Functions

template<typename Object , typename OtherObject , typename Member >
Object withMember (Object copy, Member OtherObject::*member, Member &&value)
 Copies an object, sets one of the copy's members to the specified value, and then returns the copy. More...
 

Detailed Description

Typedef Documentation

◆ DisableIfSameOrDerived

template<typename A , typename B >
using DisableIfSameOrDerived = typename std::enable_if_t<! std::is_base_of<A, std::remove_reference_t<B> >::value>

Can be used to disable template constructors that would otherwise cause ambiguity with compiler-generated copy and move constructors.

Adapted from https://ericniebler.com/2013/08/07/universal-references-and-the-copy-constructo/

Function Documentation

◆ withMember()

template<typename Object , typename OtherObject , typename Member >
Object withMember ( Object  copy,
Member OtherObject::*  member,
Member &&  value 
)

Copies an object, sets one of the copy's members to the specified value, and then returns the copy.

References StandardApplicationCommandIDs::copy, and gl::value.

Referenced by AudioProcessorParameterWithIDAttributes::withAutomatable(), AudioProcessorValueTreeStateParameterAttributes::withAutomatable(), RangedAudioParameterAttributes< Derived, Value >::withAutomatable(), AudioProcessorValueTreeStateParameterAttributes::withBoolean(), AudioProcessorParameterWithIDAttributes::withCategory(), AudioProcessorValueTreeStateParameterAttributes::withCategory(), RangedAudioParameterAttributes< Derived, Value >::withCategory(), AudioProcessorValueTreeStateParameterAttributes::withDiscrete(), AudioProcessorParameterWithIDAttributes::withInverted(), AudioProcessorValueTreeStateParameterAttributes::withInverted(), RangedAudioParameterAttributes< Derived, Value >::withInverted(), AudioProcessorParameterWithIDAttributes::withLabel(), AudioProcessorValueTreeStateParameterAttributes::withLabel(), RangedAudioParameterAttributes< Derived, Value >::withLabel(), AudioProcessorParameterWithIDAttributes::withMeta(), AudioProcessorValueTreeStateParameterAttributes::withMeta(), RangedAudioParameterAttributes< Derived, Value >::withMeta(), AudioProcessorValueTreeStateParameterAttributes::withStringFromValueFunction(), RangedAudioParameterAttributes< Derived, Value >::withStringFromValueFunction(), AudioProcessorValueTreeStateParameterAttributes::withValueFromStringFunction(), and RangedAudioParameterAttributes< Derived, Value >::withValueFromStringFunction().