The Vish Visualization Shell 0.3
Vish
Public Member Functions | List of all members
Wizt::AnemoneBasicCreator Struct Reference

Internal intermediate class bundling some caching functionality on AnemoneCreators. More...

#include <ocean/Anemonia/Seagrass.hpp>

Inheritance diagram for Wizt::AnemoneBasicCreator:
MemCore::AlzheimerCreator< Anemone, AnemoneCreatorBase > MemCore::Creator< RefType, MyCreatorBase > MemCore::CreatorBase< Domain > MemCore::Creature MemCore::ReferenceBase< Creature > MemCore::Intercube MemCore::Ageable Wizt::AnemoneCreator< AnemoneInitializer >

Public Member Functions

 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 WCachePtrmyCache () 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< ProvenancegetFirstCreationSource () const
 Retrieve the first creation source if there are any defined.
 
const WCachePtrmyCache () 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< InterfaceBasecreateInterface (const type_info &) const
 Virtual function which allows derived objects to create Interface objects on demand.
 
RefPtr< InterfaceBasefindInterface (const type_info &t) const
 Find a certain interface of specified type.
 
RefPtr< InterfaceBasegetInterface (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 AgeablegetAge () 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.
 
Ageabletouch () 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 AgeableInfinitelyNew () noexcept
 Return a time that is infinitely in the future (well, sort of).
 
static constexpr const AgeableInfinitelyOld () 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.
 
ReferenceBaseoperator= (const ReferenceBase &R)
 Protected assignment operator (should not be called).
 
void suicide ()
 Delete this.
 
virtual ~ReferenceBase ()
 Virtual destructor.
 

Detailed Description

Internal intermediate class bundling some caching functionality on AnemoneCreators.