OpenShot Audio Library | OpenShotAudio 0.3.2
|
#include <juce_CachedValue.h>
This class acts as a typed wrapper around a property inside a ValueTree.
A CachedValue provides an easy way to read and write a ValueTree property with a chosen type. So for example a CachedValue<int> allows you to read or write the property as an int, and a CachedValue<String> lets you work with it as a String.
It also allows efficient access to the value, by caching a copy of it in the type that is being used.
You can give the CachedValue an optional UndoManager which it will use when writing to the underlying ValueTree.
If the property inside the ValueTree is missing, the CachedValue will automatically return an optional default value, which can be specified when initialising the CachedValue.
To create one, you can either use the constructor to attach the CachedValue to a ValueTree, or can create an uninitialised CachedValue with its default constructor and then attach it later with the referTo() methods.
Common types like String, int, double which can be easily converted to a var should work out-of-the-box, but if you want to use more complex custom types, you may need to implement some template specialisations of VariantConverter which this class uses to convert between the type and the ValueTree's internal var.
Definition at line 59 of file juce_CachedValue.h.
|
inlinedefault |
Default constructor. Creates a default CachedValue not referring to any property. To initialise the object, call one of the referTo() methods.
|
inline |
Constructor.
Creates a CachedValue referring to a Value property inside a ValueTree. If you use this constructor, the fallback value will be a default-constructed instance of Type.
tree | The ValueTree containing the property |
propertyID | The identifier of the property |
undoManager | The UndoManager to use when writing to the property |
Definition at line 212 of file juce_CachedValue.h.
|
inline |
Constructor.
Creates a default Cached Value referring to a Value property inside a ValueTree, and specifies a fallback value to use if the property does not exist.
tree | The ValueTree containing the property |
propertyID | The identifier of the property |
undoManager | The UndoManager to use when writing to the property |
defaultToUse | The fallback default value to use. |
Definition at line 220 of file juce_CachedValue.h.
|
inline |
Force an update in case the referenced property has been changed from elsewhere.
Note: The CachedValue is a ValueTree::Listener and therefore will be informed of changes of the referenced property anyway (and update itself). But this may happen asynchronously. forceUpdateOfCachedValue() forces an update immediately.
Definition at line 282 of file juce_CachedValue.h.
|
inlinenoexcept |
Returns the current value of the property. If the property does not exist, returns the fallback default value.
Definition at line 106 of file juce_CachedValue.h.
|
inline |
Returns the current fallback default value.
Definition at line 138 of file juce_CachedValue.h.
|
inline |
Returns the current property as a Value object.
Definition at line 228 of file juce_CachedValue.h.
|
inlinenoexcept |
Returns the property ID of the referenced property.
Definition at line 182 of file juce_CachedValue.h.
|
inlinenoexcept |
Returns the UndoManager that is being used.
Definition at line 185 of file juce_CachedValue.h.
|
inlinenoexcept |
Returns a reference to the ValueTree containing the referenced property.
Definition at line 179 of file juce_CachedValue.h.
|
inline |
Returns true if the current property does not exist and the CachedValue is using the fallback default value instead.
Definition at line 234 of file juce_CachedValue.h.
|
inlinenoexcept |
Returns the current value of the property. If the property does not exist, returns the fallback default value.
This is the same as calling get().
Definition at line 101 of file juce_CachedValue.h.
|
inline |
Returns true if the current value of the property (or the fallback value) is not equal to other.
Definition at line 126 of file juce_CachedValue.h.
|
inlinenoexcept |
Dereference operator. Provides direct access to the property.
Definition at line 109 of file juce_CachedValue.h.
|
inlinenoexcept |
Dereference operator. Provides direct access to members of the property if it is of object type.
Definition at line 114 of file juce_CachedValue.h.
|
inline |
Sets the property. This will actually modify the property in the referenced ValueTree.
Definition at line 240 of file juce_CachedValue.h.
|
inline |
Returns true if the current value of the property (or the fallback value) is equal to other.
Definition at line 120 of file juce_CachedValue.h.
|
inline |
Makes the CachedValue refer to the specified property inside the given ValueTree.
Definition at line 270 of file juce_CachedValue.h.
|
inline |
Makes the CachedValue refer to the specified property inside the given ValueTree, and specifies a fallback value to use if the property does not exist.
Definition at line 276 of file juce_CachedValue.h.
|
inline |
Removes the property from the referenced ValueTree and makes the CachedValue return the fallback default value instead.
Definition at line 257 of file juce_CachedValue.h.
|
inline |
Removes the property from the referenced ValueTree and makes the CachedValue return the fallback default value instead.
Definition at line 263 of file juce_CachedValue.h.
|
inline |
Resets the fallback default value.
Definition at line 158 of file juce_CachedValue.h.
|
inline |
Sets the property. This will actually modify the property in the referenced ValueTree.
Definition at line 247 of file juce_CachedValue.h.