13#ifndef ML_WEAK_MEMORY_BLOCK_HANDLE_H 
   14#define ML_WEAK_MEMORY_BLOCK_HANDLE_H 
   16#include "../mlMemoryManagerDllExport.h" 
   68#ifndef DOXYGEN_SHOULD_SKIP_THIS 
   70  void markMemoryBlockWasDeleted();
 
   73  MLMemoryBlock* setMemoryBlock(MLMemoryBlock* memoryBlock);
 
   78  MLMemoryBlock*           _memoryBlock;
 
   81  bool                     _deletionOngoing;
 
   83  friend class MLMemoryBlock;
 
 
The strong handle of a MLMemoryBlock.
 
The weak handle of a MLMemoryBlock.
 
void clear()
Releases this handle from the memory block.
 
MLWeakMemoryBlockHandle(const MLWeakMemoryBlockHandle &weakMemoryBlockHandle)
Creates a weak memory block handle from another weak handle.
 
~MLWeakMemoryBlockHandle()
If this is the last weak handle of the memory block and no strong handle references it,...
 
MLWeakMemoryBlockHandle(const MLMemoryBlockHandle &memoryBlockHandle)
Creates a weak memory block handle from the the strong handle.
 
bool deletionOngoing() const
 
MLWeakMemoryBlockHandle()
Creates a weak memory block handle that is NULL.
 
MLWeakMemoryBlockHandle & operator=(const MLWeakMemoryBlockHandle &weakMemoryBlockHandle)
Creates a weak memory block handle from the memory block handle.
 
MLWeakMemoryBlockHandle & operator=(const MLMemoryBlockHandle &memoryBlockHandle)
Creates a weak memory block handle from the memory block handle.
 
bool isNull() const
Returns true if the weak memory block references a NULL memory block.