OpenShot Library | OpenShotAudio 0.2.2
|
Holds a pointer to an object which can optionally be deleted when this pointer goes out of scope. More...
#include <juce_OptionalScopedPointer.h>
Public Member Functions | |
OptionalScopedPointer ()=default | |
Creates an empty OptionalScopedPointer. | |
OptionalScopedPointer (ObjectType *objectToHold, bool takeOwnership) | |
Creates an OptionalScopedPointer to point to a given object, and specifying whether the OptionalScopedPointer will delete it. More... | |
OptionalScopedPointer (OptionalScopedPointer &objectToTransferFrom) | |
Takes ownership of the object that another OptionalScopedPointer holds. More... | |
OptionalScopedPointer & | operator= (OptionalScopedPointer &objectToTransferFrom) |
Takes ownership of the object that another OptionalScopedPointer holds. More... | |
~OptionalScopedPointer () | |
The destructor may or may not delete the object that is being held, depending on the takeOwnership flag that was specified when the object was first passed into an OptionalScopedPointer constructor. More... | |
operator ObjectType * () const noexcept | |
Returns the object that this pointer is managing. More... | |
ObjectType * | get () const noexcept |
Returns the object that this pointer is managing. More... | |
ObjectType & | operator* () const noexcept |
Returns the object that this pointer is managing. More... | |
ObjectType * | operator-> () const noexcept |
Lets you access methods and properties of the object that this pointer is holding. More... | |
ObjectType * | release () noexcept |
Removes the current object from this OptionalScopedPointer without deleting it. More... | |
void | reset () |
Resets this pointer to null, possibly deleting the object that it holds, if it has ownership of it. More... | |
void | clear () |
Does the same thing as reset(). More... | |
void | set (ObjectType *newObject, bool takeOwnership) |
Makes this OptionalScopedPointer point at a new object, specifying whether the OptionalScopedPointer will take ownership of the object. More... | |
void | setOwned (ObjectType *newObject) |
Makes this OptionalScopedPointer point at a new object, and take ownership of that object. More... | |
void | setNonOwned (ObjectType *newObject) |
Makes this OptionalScopedPointer point at a new object, but will not take ownership of that object. More... | |
bool | willDeleteObject () const noexcept |
Returns true if the target object will be deleted when this pointer object is deleted. More... | |
void | swapWith (OptionalScopedPointer< ObjectType > &other) noexcept |
Swaps this object with another OptionalScopedPointer. More... | |
Holds a pointer to an object which can optionally be deleted when this pointer goes out of scope.
This acts in many ways like a std::unique_ptr, but allows you to specify whether or not the object is deleted.
Definition at line 41 of file juce_OptionalScopedPointer.h.
|
inline |
Creates an OptionalScopedPointer to point to a given object, and specifying whether the OptionalScopedPointer will delete it.
If takeOwnership is true, then the OptionalScopedPointer will act like a std::unique_ptr, deleting the object when it is itself deleted. If this parameter is false, then the OptionalScopedPointer just holds a normal pointer to the object, and won't delete it.
Definition at line 55 of file juce_OptionalScopedPointer.h.
|
inline |
Takes ownership of the object that another OptionalScopedPointer holds.
Like a normal std::unique_ptr, the objectToTransferFrom object will become null, as ownership of the managed object is transferred to this object.
The flag to indicate whether or not to delete the managed object is also copied from the source object.
Definition at line 68 of file juce_OptionalScopedPointer.h.
|
inline |
The destructor may or may not delete the object that is being held, depending on the takeOwnership flag that was specified when the object was first passed into an OptionalScopedPointer constructor.
Definition at line 98 of file juce_OptionalScopedPointer.h.
References juce::OptionalScopedPointer< ObjectType >::reset().
|
inline |
Takes ownership of the object that another OptionalScopedPointer holds.
Like a normal std::unique_ptr, the objectToTransferFrom object will become null, as ownership of the managed object is transferred to this object.
The ownership flag that says whether or not to delete the managed object is also copied from the source object.
Definition at line 82 of file juce_OptionalScopedPointer.h.
References juce::OptionalScopedPointer< ObjectType >::reset().
|
inlinenoexcept |
Returns the object that this pointer is managing.
Definition at line 105 of file juce_OptionalScopedPointer.h.
|
inlinenoexcept |
Returns the object that this pointer is managing.
Definition at line 108 of file juce_OptionalScopedPointer.h.
Referenced by juce::OptionalScopedPointer< ObjectType >::set().
|
inlinenoexcept |
Returns the object that this pointer is managing.
Definition at line 111 of file juce_OptionalScopedPointer.h.
|
inlinenoexcept |
Lets you access methods and properties of the object that this pointer is holding.
Definition at line 114 of file juce_OptionalScopedPointer.h.
|
inlinenoexcept |
Removes the current object from this OptionalScopedPointer without deleting it.
This will return the current object, and set this OptionalScopedPointer to a null pointer.
Definition at line 120 of file juce_OptionalScopedPointer.h.
|
inline |
Resets this pointer to null, possibly deleting the object that it holds, if it has ownership of it.
Definition at line 125 of file juce_OptionalScopedPointer.h.
Referenced by juce::OptionalScopedPointer< ObjectType >::clear(), juce::OptionalScopedPointer< ObjectType >::operator=(), juce::OptionalScopedPointer< ObjectType >::set(), and juce::OptionalScopedPointer< ObjectType >::~OptionalScopedPointer().
|
inline |
Does the same thing as reset().
Definition at line 134 of file juce_OptionalScopedPointer.h.
References juce::OptionalScopedPointer< ObjectType >::reset().
|
inline |
Makes this OptionalScopedPointer point at a new object, specifying whether the OptionalScopedPointer will take ownership of the object.
If takeOwnership is true, then the OptionalScopedPointer will act like a std::unique_ptr, deleting the object when it is itself deleted. If this parameter is false, then the OptionalScopedPointer just holds a normal pointer to the object, and won't delete it.
Definition at line 143 of file juce_OptionalScopedPointer.h.
References juce::OptionalScopedPointer< ObjectType >::get(), and juce::OptionalScopedPointer< ObjectType >::reset().
Referenced by juce::OptionalScopedPointer< ObjectType >::setNonOwned(), and juce::OptionalScopedPointer< ObjectType >::setOwned().
|
inline |
Makes this OptionalScopedPointer point at a new object, and take ownership of that object.
Definition at line 155 of file juce_OptionalScopedPointer.h.
References juce::OptionalScopedPointer< ObjectType >::set().
|
inline |
Makes this OptionalScopedPointer point at a new object, but will not take ownership of that object.
Definition at line 161 of file juce_OptionalScopedPointer.h.
References juce::OptionalScopedPointer< ObjectType >::set().
|
inlinenoexcept |
Returns true if the target object will be deleted when this pointer object is deleted.
Definition at line 169 of file juce_OptionalScopedPointer.h.
|
inlinenoexcept |
Swaps this object with another OptionalScopedPointer.
The two objects simply exchange their states.
Definition at line 175 of file juce_OptionalScopedPointer.h.