|
The Vish Visualization Shell 0.3
Vish
|
Classes for the management of administration of objects which require fragments of a limited shared resources, such as RAM, disc space or OpenGL display lists. More...
Classes | |
| class | MemCore::Cache |
| Main administrative Cache object container. More... | |
| class | MemCore::Cacheable |
| A domain for objects which may be cached. More... | |
| class | MemCore::CacheBase |
| Abstract base class for Cache objects. More... | |
| class | MemCore::CacheMap |
| A list of cache queues for each cacheable type. More... | |
| struct | MemCore::CacheMultiQueue |
| Cache queues of different purpose. More... | |
| class | MemCore::CacheQueue |
| A root object that holds a tail of cacheable objects. More... | |
| class | MemCore::Creator< RefType, MyCreatorBase > |
| A Creator is a forwarding of some data object to its creational object. More... | |
| class | MemCore::CreatorBase< Domain > |
| A Domain-related abstract base class for reference-counted objects which occupy some memory but are able to release it on demand. More... | |
| class | MemCore::CreatorCacheMap |
| A list of cache maps for each creator type. More... | |
| class | MemCore::MutableCacheable |
| Cache objects that are allowed to change their size after creation. More... | |
| class | MemCore::NamedCreatures |
| A convenience class to remember Creatures, which are base classes of all Creators, by name. More... | |
Typedefs | |
| typedef StrongPtr< Cacheable, Cacheable > | MemCore::CacheablePtr |
| Strong pointer to a cacheable object. | |
| typedef MemSizeConfig< sizeof(void *)>::memsize_t | MemCore::memsize_t |
| The type to describe memory in bytes. | |
| using | MemCore::WCacheablePtr = WeakPtr<Cacheable, Cacheable> |
| Weak pointer to a cacheable object. | |
Variables | |
| std::list< RefPtr< Provenance > > | MemCore::myCreationSources |
| An abstract base class for object creators. | |
Classes for the management of administration of objects which require fragments of a limited shared resources, such as RAM, disc space or OpenGL display lists.
| typedef MemSizeConfig<sizeof(void*)>::memsize_t MemCore::memsize_t |
The type to describe memory in bytes.
It must be large enough to cover the local memory space of an architecture, i.e. of the same size as a pointer. However, the cacheing classes may also be used for non-memory objects but other limited resources, e.g. OpenGL display lists or disc space.
| std::list<RefPtr<Provenance> > MemCore::myCreationSources |
An abstract base class for object creators.
A memory management repository might want to keep track of all `Creatures' and try to release some of them when memory gets tight. The virtual release() function will then ask each object to remove itself from memory. If the object dies by itself, it will be removed from the cache list if that correctly refers to the Creature via a WeakPtrImpl<Creature>. */ class MEMCORE_API Creature : public ReferenceBase<Creature>, public Intercube, public Ageable { WCachePtr MyCache;
public:
/ Associated Exception class struct MEMCORE_API Exception : MemCore::Exception { const char*what() const throw() override; };
double TotalCreationTime = 0.0,///< Seconds, total LastCreationTime = 0.0;///< Seconds, last call
/ int NumberOfCreations = 0;
/** Optional information about this Creator, how it was born and to which data origin it may refer to.
Referenced by appendProvenance(), appendProvenance(), getFirstCreationSource(), setProvenance(), and setProvenance().