FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
Public Types | Public Member Functions | Protected Member Functions | List of all members

A helper class that keeps objects in memory all time. More...

#include <CreativeArray.hpp>

Inheritance diagram for Fiber::CreativeArray:
MemCore::Creator< MemBase, CreativeArrayBase > MemCore::CreatorBase< class Domain > MemCore::Creature MemCore::ReferenceBase< Creature > MemCore::Intercube MemCore::Ageable

Public Types

typedef MemCore::Creator< MemBase, CreativeArrayBaseCreator_t
 
- Public Types inherited from MemCore::ReferenceBase< Creature >
typedef Object reference_domain_t
 
typedef WeakPtr< Object, Object > SelfPtr_t
 

Public Member Functions

 CreativeArray (const MemCore::RefPtr< MemBase > &Mb, const MemCore::RefPtr< MemCore::Cache > &Cache=MemCore::Cache::MemCache())
 Construct a creative array from data and Cache.
 
Creature::ReasonForReleasal release () override
 
- Public Member Functions inherited from MemCore::Creator< MemBase, CreativeArrayBase >
 Creator (const RefPtr< RefType > &D, const WCachePtr &MyCache)
 
RefPtr< RefType > get () const override
 
CacheablePtr getCacheable () const override
 
const type_info & getType () override
 
bool hasData () const override
 
Creature::ReasonForReleasal release () override
 
bool supersede (const RefPtr< Domain > &NewData, bool CreateAsOld=false)
 
RefPtr< RefType > take () override
 
- Public Member Functions inherited from MemCore::CreatorBase< class Domain >
RefPtr< Domain > create (bool CreateAsOld=false)
 
RefPtr< Domain > createAsOld ()
 
 CreatorBase (const WCachePtr &theCache)
 
RefPtr< Domain > get_or_request (const result &R=nullptr)
 
std::string hasProducer () const override
 
bool isReproducible () const override
 
bool isUnderCreation () const override
 
const WCachePtr & myCache () const
 
virtual bool request (const result &R=nullptr)
 
- Public Member Functions inherited from MemCore::Creature
std::string addrstr () const
 
stringappendProvenance (const RefPtr< Provenance > &P)
 
stringappendProvenance (const string &s)
 
 Creature (const WCachePtr &myCache)
 
virtual bool discardCreation ()
 
void enableCaching (bool CreateAsOld=false) const
 
RefPtr< ProvenancegetFirstCreationSource () const
 
const WCachePtr & myCache () const
 
ReasonForReleasal releasePtr (RefPtr< RefType > &Data) const
 
void resetStatistics ()
 
stringsetProvenance (const RefPtr< Provenance > &P)
 
stringsetProvenance (const string &s)
 
- Public Member Functions inherited from MemCore::ReferenceBase< Creature >
auto getObjectCountID () const noexcept
 
bool isIdentical (const WeakPtr< Object, Object > &PossibleSelf) const noexcept
 
void mkAutoDestructive ()
 
refcount_t refcount () const noexcept
 
 ReferenceBase (Object *that) noexcept
 
const auto & self () const
 
refcount_t wrefcount () const noexcept
 
- Public Member Functions inherited from MemCore::Intercube
void addInterface (const RefPtr< InterfaceBase > &I) const
 
void addInterfaceData (const Data &D)
 
void addInterfaceData (const Data &D)
 
void clearInterfaces ()
 
bool const_iterateInterfaces (const RefPtr< InterfaceIterationParameter > &IIP) const
 
virtual RefPtr< InterfaceBasecreateInterface (const type_info &) const
 
RefPtr< InterfaceBasefindInterface (const type_info &t) const
 
RefPtr< InterfaceBasegetInterface (const type_info &t)
 
std::string getInterfaceNames (const char delim=';') const
 
bool gotNewInterfaceData (const Data &D)
 
bool gotNewInterfaceData (mutex &M, const Data &D)
 
bool gotNewInterfaceData (mutex &M, const Data &D)
 
bool gotNewInterfaceData (mutex &M, const Data &D, const Selector &S)
 
bool gotNewInterfaceData (mutex &M, const Data &D, const Selector *S)
 
bool hasChangedInterfaceData (const Data &D) const
 
bool hasChangedInterfaceData (const Data &D) const
 
bool hasChangedInterfaceData (const Data &D, const Selector &) const
 
bool hasChangedInterfaceData (const Data &D, const Selector *) const
 
bool hasInterface (const type_info &t) const
 
bool iterateInterfaces (const RefPtr< InterfaceIterationParameter > &IIP)
 
void printInterfaces () const
 
void registerInterface (const type_info &t)
 
void removeInterface ()
 
void removeInterfaceBase (const type_info &InterfaceBaseID)
 
- Public Member Functions inherited from MemCore::Ageable
constexpr Ageable (age_t t) noexcept
 
constexpr Ageable (const Ageable &A) noexcept
 
 Ageable (const volatile Ageable &A) noexcept
 
constexpr const AgeablegetAge () const
 
bool isNewerThan (const Ageable &a) const noexcept
 
bool isOlderThan (const Ageable &a) const noexcept
 
bool isYoungerThan (const Ageable &a) const noexcept
 
bool operator!= (const Ageable &a) const noexcept
 
bool operator< (const Ageable &a) const noexcept
 
bool operator<= (const Ageable &a) const noexcept
 
bool operator<= (const volatile Ageable &a) const volatile noexcept
 
bool operator== (const Ageable &a) const noexcept
 
bool operator> (const Ageable &a) const noexcept
 
bool operator> (const volatile Ageable &a) const volatile
 
bool operator>= (const Ageable &a) const noexcept
 
bool operator>= (const volatile Ageable &a) const volatile noexcept
 
constexpr void resetAge () noexcept
 
void setInfinitelyNew () noexcept
 
age_t time_value () const noexcept
 
age_t time_value () const volatile noexcept
 
Ageabletouch () noexcept
 
age_t update (age_t age) noexcept
 
age_t update (const Ageable &Other) noexcept
 
age_t update (const volatile Ageable &Other) volatile noexcept
 

Protected Member Functions

 ~CreativeArray ()
 Destructor.
 
- Protected Member Functions inherited from MemCore::Creator< MemBase, CreativeArrayBase >
 Creator (const WCachePtr &MyCache)
 
RefPtr< RefType > produce () override
 
- Protected Member Functions inherited from MemCore::ReferenceBase< Creature >
virtual void extremeUnction ()
 
ReferenceBaseoperator= (const ReferenceBase &R)
 
void suicide ()
 

Additional Inherited Members

- Static Public Member Functions inherited from MemCore::Ageable
static const AgeableInfinitelyNew () noexcept
 
static constexpr const AgeableInfinitelyOld () noexcept
 
static age_t now () noexcept
 
- Public Attributes inherited from MemCore::Creature
std::string creationError
 
double LastCreationTime
 
std::list< RefPtr< Provenance > > myCreationSources
 
double TotalCreationTime
 

Detailed Description

A helper class that keeps objects in memory all time.

This is in general not a good idea, but convenient, so it's used in a lots of places. To make it right, should replace this class by Creator that does real memory management, which means releasing memory when requested and re-creating it on demand (see OnDemandCreator). This class is just stilly and stupid, and wastes memory resources, for the sake of simplicity.

This Creator is used by the Field::setPersistentData() function.

Examples
XF_LineSetHierarchicalRegularized.cpp.

Member Function Documentation

◆ release()

CreativeArray::ReasonForReleasal Fiber::CreativeArray::release ( )
overridevirtual

Implements MemCore::Creature.