13#ifndef ML_MEMORY_BLOCK_HANDLE_H 
   14#define ML_MEMORY_BLOCK_HANDLE_H 
   18#pragma warning( push,0 ) 
   25#include "../mlMemoryManagerDllExport.h" 
   85#ifndef DOXYGEN_SHOULD_SKIP_THIS 
   92  MLMemoryBlock* _memoryBlock;
 
   94  friend class MLMemoryBlock;
 
 
The strong handle of a MLMemoryBlock.
 
MLMemoryBlockHandle()
Creates a memory block handle that is NULL.
 
MLMemoryBlockHandle(const MLWeakMemoryBlockHandle &weakMemoryBlockHandle)
Creates an memory block handle to the memory block of weakMemoryBlockHandle.
 
~MLMemoryBlockHandle()
If only weak handles to the memory block exist, then the memory block is added to the cache list.
 
size_t size() const
Returns the size of the data. If this handle is NULL, then 0 is returned.
 
bool isNull() const
Returns true if the handle does not reference a valid memory block.
 
void clear()
Releases the reference to the memory block.
 
MLMemoryBlockHandle(const MLMemoryBlockHandle &memoryBlockHandle)
Creates an additional memory block handle to the memory block of memoryBlockHandle.
 
void * data() const
Returns the data of the memory block. If this handle is NULL, then NULL is returned.
 
The weak handle of a MLMemoryBlock.
 
MLMemoryBlockHandle & operator=(const MLWeakMemoryBlockHandle &weakMemoryBlockHandle)
Creates a memory block handle from the weak memory block handle.
 
MLMemoryBlockHandle & operator=(const MLMemoryBlockHandle &memoryBlockHandle)
Creates a memory block handle from the memory block handle.