pl-nk v0.4.5
Plonk|Plink|Plank are a set of cross-platform C/C++ frameworks for audio software development
|
Reference counted pointer base class. More...
Inherits PlonkBase.
Inherited by AudioFileReaderInternal, AudioFileWriterInternalBase< SampleType >, AudioFileWriterInternalBase< Char >, AudioFileWriterInternalBase< Double >, AudioFileWriterInternalBase< Float >, AudioFileWriterInternalBase< Int >, AudioFileWriterInternalBase< Int24 >, AudioFileWriterInternalBase< Short >, Base64Internal, BinaryFileInternal, BusBufferInternal< SampleType >, DictionaryInternal< ValueType, KeyType >, DynamicInternal, FFTEngineInternal< float >, FilePathInternal, FunctionCallerInternal< FunctionType, ReturnType, ArgType1, ArgType2, ArgType3 >, FunctionCallerInternal< FunctionType, ReturnType >, FunctionCallerInternal< FunctionType, ReturnType, ArgType1 >, FunctionCallerInternal< FunctionType, ReturnType, ArgType1, ArgType2 >, FunctionProxyCallerInternal< FunctionType, ReturnType, ArgType1, ArgType2, ArgType3 >, FunctionProxyCallerInternal< FunctionType, ReturnType >, FunctionProxyCallerInternal< FunctionType, ReturnType, ArgType1 >, FunctionProxyCallerInternal< FunctionType, ReturnType, ArgType1, ArgType2 >, LockedValueInternal< ValueType >, LockFreeQueueInternal< ValueType >, LockFreeQueueInternal< ValueType * >, LockFreeStackInternal< ValueType >, LockFreeStackInternal< ValueType * >, LockInternalBase, NeuralNetworkInternal< ValueType >, NeuralNetworkInternal< float >, RNGInternal, SenderInternal< SenderContainerBaseType >, SenderInternal< BreakpointBase< SampleType > >, SenderInternal< BreakpointsBase< SampleType > >, SenderInternal< ChannelBase< FormType::SampleDataType > >, SenderInternal< ChannelBase< OutputSampleType > >, SenderInternal< ChannelBase< SampleType > >, SenderInternal< ChannelBase< ShapeType::SampleDataType > >, SenderInternal< ProcessInfo >, SenderInternal< Variable< Type > >, SignalInternal< SampleType >, SimpleLinkedListInternal< ValueType >, SimpleLinkedListInternal< ValueType * >, SimpleQueueInternal< ValueType >, SimpleQueueInternal< ValueType * >, SimpleStackInternal< ValueType >, SimpleStackInternal< ValueType * >, TaskBufferInternal< SampleType >, TaskMessageInternal, TextFileInternal, VariableInternal< Type & >, WeakPointer, and ZipInternal.
Public Member Functions | |
Construction and destruction | |
SmartPointer (const bool allocateWeakPointer=true) throw () | |
virtual | ~SmartPointer () |
void | incrementRefCount () throw () |
void | decrementRefCount () throw () |
Miscellaneous | |
void * | getWeak () const throw () |
int | getRefCount () const throw () |
virtual SmartPointer * | deepCopy () const throw () |
Friends | |
class | WeakPointer |
Reference counted pointer base class.
One of the most important classes. In fact on the internal side of things this perhaps is the most important class. It handles reference counting of all internal objects allocated using the new operator. The object deletes itself when its reference count reaches zero. This helps manage object lifetimes especially with dynamically allocated audio components. A 'weak' version of this pointer can also be obtained which will not affect the reference count but will get set to 0 when its SmartPointer peer is deleted.