JUCE
Typedefs | Functions

Typedefs

template<typename A , typename B >
using DisableIfSameOrDerived = std::enable_if_t<! std::is_base_of_v< A, std::remove_reference_t< B > >>
 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 , typename Other >
Object withMember (Object copy, Member OtherObject::*member, Other &&value)
 Copies an object, sets one of the copy's members to the specified value, and then returns the copy. More...
 
template<typename Fn >
 ScopeGuard (Fn) -> ScopeGuard< Fn >
 

Detailed Description

Typedef Documentation

◆ DisableIfSameOrDerived

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

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 , typename Other >
Object withMember ( Object  copy,
Member OtherObject::*  member,
Other &&  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(), WebBrowserComponent::Options::withBackend(), WebBrowserComponent::Options::WinWebView2::withBackgroundColour(), AudioProcessorValueTreeStateParameterAttributes::withBoolean(), WebBrowserComponent::Options::WinWebView2::withBuiltInErrorPageDisabled(), AudioProcessorParameterWithIDAttributes::withCategory(), AudioProcessorValueTreeStateParameterAttributes::withCategory(), RangedAudioParameterAttributes< Derived, Value >::withCategory(), AudioProcessorValueTreeStateParameterAttributes::withDiscrete(), WebBrowserComponent::Options::WinWebView2::withDLLLocation(), AudioProcessorParameterWithIDAttributes::withInverted(), AudioProcessorValueTreeStateParameterAttributes::withInverted(), RangedAudioParameterAttributes< Derived, Value >::withInverted(), WebBrowserComponent::Options::withKeepPageLoadedWhenBrowserIsHidden(), AudioProcessorParameterWithIDAttributes::withLabel(), AudioProcessorValueTreeStateParameterAttributes::withLabel(), RangedAudioParameterAttributes< Derived, Value >::withLabel(), AudioProcessorParameterWithIDAttributes::withMeta(), AudioProcessorValueTreeStateParameterAttributes::withMeta(), RangedAudioParameterAttributes< Derived, Value >::withMeta(), WebBrowserComponent::Options::WinWebView2::withStatusBarDisabled(), AudioProcessorValueTreeStateParameterAttributes::withStringFromValueFunction(), RangedAudioParameterAttributes< Derived, Value >::withStringFromValueFunction(), WebBrowserComponent::Options::withUserAgent(), WebBrowserComponent::Options::WinWebView2::withUserDataFolder(), AudioProcessorValueTreeStateParameterAttributes::withValueFromStringFunction(), RangedAudioParameterAttributes< Derived, Value >::withValueFromStringFunction(), and WebBrowserComponent::Options::withWinWebView2Options().

◆ ScopeGuard()

template<typename Fn >
ScopeGuard ( Fn  ) -> ScopeGuard< Fn >