|
The Vish Visualization Shell 0.3
Vish
|
The Anemone Cache, called the Seagrass, is based on Anemone objects. More...
#include <ocean/Anemonia/Seagrass.hpp>
Public Member Functions | |
| template<class AnemoneInitializerArgument > | |
| AnemoneCreator (const Seagrass &theSeagrass, const AnemoneInitializerArgument &A, const MemCore::RefPtr< Anemone > &theAnemone=nullptr) | |
| Construct from Seagrass with optional intialization argument for the AnemoneInitializer. | |
| template<class FirstAnemoneInitializerArgument , class SecondAnemoneInitializerArgument > | |
| AnemoneCreator (const Seagrass &theSeagrass, const FirstAnemoneInitializerArgument &A1, const SecondAnemoneInitializerArgument &A2, const MemCore::RefPtr< Anemone > &theAnemone=nullptr) | |
| Construct from Seagrass with two optional intialization arguments for the AnemoneInitializer. | |
| AnemoneCreator (const Seagrass &theSeagrass, const MemCore::RefPtr< Anemone > &theAnemone=nullptr) | |
| Construct from Seagrass. | |
| MemCore::RefPtr< Anemone > | produce () override |
| Create an Anemone object calling the initializer's initialize() function. | |
Public Member Functions inherited from Wizt::AnemoneBasicCreator | |
| AnemoneBasicCreator (const Seagrass &theSeagrass, const MemCore::RefPtr< Anemone > &theAnemone=nullptr) | |
| Construct from Seagrass. | |
Public Member Functions inherited from MemCore::AlzheimerCreator< Anemone, AnemoneCreatorBase > | |
| AlzheimerCreator (const RefPtr< Anemone > &D, const WeakPtr< Cache > &cache) | |
| Construct a creator with optional data object. | |
| Creature::ReasonForReleasal | release () override |
| Release operation, forget the data. | |
Public Member Functions inherited from MemCore::Creator< RefType, MyCreatorBase > | |
| Creator (const RefPtr< RefType > &D, const WCachePtr &MyCache) | |
| Construct a creator with a data object. | |
| RefPtr< RefType > | get () const override |
| A passive function to return the current Data object if it exists. | |
| CacheablePtr | getCacheable () const override |
| A passive function to return the current Data object if it exists. | |
| const type_info & | getType () override |
| It is assumed that the Data object provides a getType() function retrieving the actual operational value type id. | |
| bool | hasData () const override |
| Tell whether data exist here. | |
| Creature::ReasonForReleasal | release () override |
| Release operation, nothing can be done here. | |
| bool | supersede (const RefPtr< Domain > &NewData, bool CreateAsOld=false) |
| Replace the data stored here (if any) by another data set. | |
| RefPtr< RefType > | take () override |
| An active function to take the strong pointer out of here. | |
Public Member Functions inherited from MemCore::CreatorBase< Domain > | |
| RefPtr< Domain > | create (bool CreateAsOld=false) |
| Actually create the object, using an existing one if existent via the get() function, otherwise calling the virtual produce() function. | |
| RefPtr< Domain > | createAsOld () |
| Get and possibly create data here without touching it, which is useful if the data is required only temporary. | |
| CreatorBase (const WCachePtr &theCache) | |
| Construct with Cache object given. | |
| RefPtr< Domain > | get_or_request (const result &R=nullptr) |
| Asynchronous data access: Get the data if available, otherwise request them if possible and return nullptr. | |
| std::string | hasProducer () const override |
| Query some more info about the kind of re-production facility associated with this creature. | |
| bool | isReproducible () const override |
| Query whether this Creature can be reproduced (i.e., be created again ) after release(). | |
| bool | isUnderCreation () const override |
| return true while a request issued by the producer is still ongoing | |
| const WCachePtr & | myCache () const |
| Return the associated Cache object. | |
| virtual bool | request (const result &R=nullptr) |
| Asynchron mode: Request data to be created. | |
Public Member Functions inherited from MemCore::Creature | |
| std::string | addrstr () const |
| make a string containing hex numbers from the object's adress. | |
| string & | appendProvenance (const RefPtr< Provenance > &P) |
| Append a Provenance object. | |
| string & | appendProvenance (const string &s) |
| Append a provenance information string. | |
| Creature (const WCachePtr &myCache) | |
| Constructor, keeps track of the cache, but does NOT insert this object into the Cache. | |
| virtual bool | discardCreation () |
| Asynchron mode: aha. | |
| void | enableCaching (bool CreateAsOld=false) const |
| Insert the available Cacheable object, as retrieved by the getCacheable() function to the Cache associated with this Creator. | |
| RefPtr< Provenance > | getFirstCreationSource () const |
| Retrieve the first creation source if there are any defined. | |
| const WCachePtr & | myCache () const |
| Return the associated Cache object. | |
| template<class RefType > | |
| ReasonForReleasal | releasePtr (RefPtr< RefType > &Data) const |
| Template helper function to release a data pointer in a derived class. | |
| void | resetStatistics () |
| Reset statistic info, creation times and number of creations. | |
| string & | setProvenance (const RefPtr< Provenance > &P) |
| Append provenance information. | |
| string & | setProvenance (const string &s) |
| Overwrite latest provenance information. | |
Public Member Functions inherited from MemCore::ReferenceBase< Creature > | |
| auto | getObjectCountID () const noexcept |
| Get a unique ID for this object in the given domain. | |
| bool | isIdentical (const WeakPtr< Creature, Creature > &PossibleSelf) const noexcept |
| Check if this object is identical to the one used by the given pointer. | |
| void | mkAutoDestructive () |
| Marks this object as being automatically destructed, e.g. | |
| refcount_t | refcount () const noexcept |
| The strong reference count. | |
| ReferenceBase (Creature *that) noexcept | |
| Constructor, initializes reference counter to zero. | |
| const auto & | self () const |
| Return weak pointer to the object self. | |
| refcount_t | wrefcount () const noexcept |
| The weak reference count. | |
Public Member Functions inherited from MemCore::Intercube | |
| void | addInterface (const RefPtr< InterfaceBase > &I) const |
| Add an interface class object. | |
| template<class Data > | |
| void | addInterfaceData (const Data &D) |
| Add data via an interface class object. | |
| template<class Data , typename TypeSelector > | |
| void | addInterfaceData (const Data &D) |
| Add data via an interface class object. | |
| void | clearInterfaces () |
| Remove all interfaces. | |
| bool | const_iterateInterfaces (const RefPtr< InterfaceIterationParameter > &IIP) const |
| Constant iterator. | |
| virtual RefPtr< InterfaceBase > | createInterface (const type_info &) const |
| Virtual function which allows derived objects to create Interface objects on demand. | |
| RefPtr< InterfaceBase > | findInterface (const type_info &t) const |
| Find a certain interface of specified type. | |
| RefPtr< InterfaceBase > | getInterface (const type_info &t) |
| Retrieve an interface object from a certain type. | |
| std::string | getInterfaceNames (const char delim=';') const |
| Debug function retrieving all interfaces as human-readable string. | |
| template<class Data > | |
| bool | gotNewInterfaceData (const Data &D) |
| Check whether data on the given interface have changed, and if so, set new data as interface. | |
| template<class Data > | |
| bool | gotNewInterfaceData (mutex &M, const Data &D) |
| Check whether interface data have changed, if so, then set new interface data and return true. | |
| template<class Data , typename Selector > | |
| bool | gotNewInterfaceData (mutex &M, const Data &D) |
| Check whether interface data have changed, if so, then set new interface data and return true. | |
| template<class Data , typename Selector > | |
| bool | gotNewInterfaceData (mutex &M, const Data &D, const Selector &S) |
| Check whether interface data have changed, if so, then set new interface data and return true. | |
| template<class Data , typename Selector > | |
| bool | gotNewInterfaceData (mutex &M, const Data &D, const Selector *S) |
| Check whether interface data have changed, if so, then set new interface data and return true. | |
| template<class Data > | |
| bool | hasChangedInterfaceData (const Data &D) const |
| Check whether interface data have changed. | |
| template<class Data , typename Selector > | |
| bool | hasChangedInterfaceData (const Data &D) const |
| Check whether interface data have changed. | |
| template<class Data , typename Selector > | |
| bool | hasChangedInterfaceData (const Data &D, const Selector &) const |
| Check whether interface data have changed. | |
| template<class Data , typename Selector > | |
| bool | hasChangedInterfaceData (const Data &D, const Selector *) const |
| Check whether interface data have changed. | |
| bool | hasInterface (const type_info &t) const |
| Check if some Interface might exist. | |
| Intercube () | |
| Constructor. | |
| bool | iterateInterfaces (const RefPtr< InterfaceIterationParameter > &IIP) |
| Modifyable iterator. | |
| void | printInterfaces () const |
| Debug function that prints the names of all interfaces. | |
| void | registerInterface (const type_info &t) |
| Register an interface type; when the interface is actually required, the virtual createInterface() function will be called. | |
| template<class InterfaceType > | |
| void | removeInterface () |
| Remove an interface. | |
| void | removeInterfaceBase (const type_info &InterfaceBaseID) |
| Remove an interface. | |
| virtual | ~Intercube () |
| Destructor. | |
Public Member Functions inherited from MemCore::Ageable | |
| Ageable () noexcept | |
| Constructor; remembers birth time from current time counter. | |
| constexpr | Ageable (age_t t) noexcept |
| Constructor with explicit time value. | |
| constexpr | Ageable (const Ageable &A) noexcept |
| Copy constructor. | |
| Ageable (const volatile Ageable &A) noexcept | |
| Copy constructor. | |
| constexpr const Ageable & | getAge () const |
| Return reference to this age, useful for derived classes. | |
| bool | isNewerThan (const Ageable &a) const noexcept |
| Comparison operator. | |
| bool | isOlderThan (const Ageable &a) const noexcept |
| Comparison operator. | |
| bool | isYoungerThan (const Ageable &a) const noexcept |
| Comparison operator (alias to isNewerThan() ) | |
| bool | operator!= (const Ageable &a) const noexcept |
| Comparison operator. | |
| bool | operator< (const Ageable &a) const noexcept |
| Comparison operator. | |
| bool | operator<= (const Ageable &a) const noexcept |
| Comparision operator. | |
| bool | operator<= (const volatile Ageable &a) const volatile noexcept |
| Comparision operator. | |
| bool | operator== (const Ageable &a) const noexcept |
| Comparison operator. | |
| bool | operator> (const Ageable &a) const noexcept |
| Comparison operator. | |
| bool | operator> (const volatile Ageable &a) const volatile throw () |
| Comparision operator. | |
| bool | operator>= (const Ageable &a) const noexcept |
| Comparision operator. | |
| bool | operator>= (const volatile Ageable &a) const volatile noexcept |
| Comparison operator. | |
| constexpr void | resetAge () noexcept |
| Set time value to InfinitelyOld(). | |
| void | setInfinitelyNew () noexcept |
| Set time value to InfinitelyOld(). | |
| age_t | time_value () const noexcept |
| Return an object's current age. | |
| age_t | time_value () const volatile noexcept |
| Return an object's current age. | |
| Ageable & | touch () noexcept |
| Mark the current object as being modified "now". | |
| age_t | update (age_t age) noexcept |
| Set the age of the current object to a specific age if that is newer than the current one. | |
| age_t | update (const Ageable &Other) noexcept |
| Set the age of the current object to the age of another object if that other one is newer than the current one. | |
| age_t | update (const volatile Ageable &Other) volatile noexcept |
| Set the age of the current object to the age of another object if that other one is newer than the current one. | |
| ~Ageable () noexcept | |
| Destructor. | |
Additional Inherited Members | |
Public Types inherited from MemCore::ReferenceBase< Creature > | |
| using | reference_domain_t = Creature |
| The type of the base class. | |
| using | SelfPtr_t = WeakPtr< Creature, Creature > |
| Type for a pointer to this object itself. | |
Static Public Member Functions inherited from MemCore::Ageable | |
| static const Ageable & | InfinitelyNew () noexcept |
| Return a time that is infinitely in the future (well, sort of). | |
| static constexpr const Ageable & | InfinitelyOld () noexcept |
| Return a time that is infinitely in the past (well, sort of). | |
| static age_t | now () noexcept |
| Return the current global time. | |
Public Attributes inherited from MemCore::Creature | |
| std::string | creationError |
| Indicator of possible creation errors. | |
| double | LastCreationTime = 0.0 |
| Seconds, last call. | |
| std::list< RefPtr< Provenance > > | myCreationSources |
| Optional information about this Creator, how it was born and to which data origin it may refer to. | |
| double | TotalCreationTime = 0.0 |
| Seconds, total. | |
Protected Member Functions inherited from MemCore::Creator< RefType, MyCreatorBase > | |
| Creator (const WCachePtr &MyCache) | |
| Constructor for no data yet. | |
| RefPtr< RefType > | produce () override |
| Object creation function (just returns the object which was specified during construction). | |
Protected Member Functions inherited from MemCore::Creature | |
| virtual | ~Creature ()=0 |
| Destructor (virtual) | |
Protected Member Functions inherited from MemCore::ReferenceBase< Creature > | |
| virtual void | extremeUnction () |
| A virtual function that will be called just before the object is destroyed. | |
| ReferenceBase & | operator= (const ReferenceBase &R) |
| Protected assignment operator (should not be called). | |
| void | suicide () |
| Delete this. | |
| virtual | ~ReferenceBase () |
| Virtual destructor. | |
The Anemone Cache, called the Seagrass, is based on Anemone objects.
The Seagrass class manages Anemone objects, which are referred to from creator objects that are stored in application code. All these creator objects are child classes of the AnemoneCreatorBase;