DD::Image::MemoryHolder Class Reference

Inherited by DD::Image::CacheBase, DD::Image::DeepOpCache, DD::Image::MemoryBufferImpl, and ImageCacheQueue.

List of all members.

Public Member Functions

virtual bool memoryFree (size_t amount)=0
virtual void memoryInfo (Memory::MemoryInfoArray &output, const void *restrict_to) const =0
virtual int memoryWeight () const =0
bool isRegistered () const
 Returns if we've registered with the memory system.

Protected Member Functions

void registerMemory ()


Detailed Description

Implement this interface to enable a class to be registered with the Memory system for free, info and weight callbacks. Call registerMemory() in your constructor to register with the memory system

Member Function Documentation

virtual bool DD::Image::MemoryHolder::memoryFree ( size_t  amount  )  [pure virtual]

Try to deallocate at least "amount_to_free" bytes of memory. Returns true if *any* memory was actually freed.

virtual void DD::Image::MemoryHolder::memoryInfo ( Memory::MemoryInfoArray &  output,
const void *  restrict_to 
) const [pure virtual]

This is called to determine how much memory is being used for a particular Node. you can fill in as many as needed

virtual int DD::Image::MemoryHolder::memoryWeight (  )  const [pure virtual]

Return a "weight" or importance to your data. Higher numbers mean "more important, keep this around longer." See the "cache_report" TCL command for an idea of the weights used by the cache, etc.



©2009 The Foundry Visionmongers, Ltd. All Rights Reserved.
www.thefoundry.co.uk