|
|
RefPtr< ::Data > | produce () override |
| | Object creation function (just returns the object which was specified during construction).
|
| |
| | AlzheimerCreator (const RefPtr< ::Data > &D, const WeakPtr< Cache > &cache) |
| | Construct a creator with optional data object.
|
| |
|
Creature::ReasonForReleasal | release () override |
| | Release operation, forget the data.
|
| |
| | 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.
|
| |
|
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.
|
| |
|
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.
|
| |
| 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.
|
| |
|
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.
|
| |
|
| 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.
|
| |