FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | List of all members
Fiber::HDF5CreatorBase Class Referenceabstract

Deferred creation of MemBase objects from an HDF5 file. More...

#include <HDF5CreatorBase.hpp>

Inheritance diagram for Fiber::HDF5CreatorBase:
MemCore::AlzheimerCreator< MemBase, CreativeArrayBase > F5Fragment MemCore::Creator< class RefType, class MyCreatorBase > MemCore::CreatorBase< class Domain > MemCore::Creature MemCore::ReferenceBase< Creature > MemCore::Intercube MemCore::Ageable Fiber::HDF5Creator

Public Member Functions

 HDF5CreatorBase (const RefPtr< LoaderProgress > &BLP, const F5Fragment &HC, const DynamicSize &theSize, const RefPtr< MemBase > &Data, const WeakPtr< Cache > &theCache)
 Construct a HDF5 creator for reading.
 
string makeInfoString () const
 
const type_infogetType () override
 
const type_infoconst_getType () const
 
size_t getMemSize () const
 
RefPtr< MemBaseproduce () override
 Implemented from CreatureBase<MemBase>::create() : Actually allocate memory and load data from disc, if not yet loaded.
 
bool request (const result &R) override
 
bool isUnderCreation () const override
 
bool discardCreation () override
 
Creature::ReasonForReleasal release () override
 
- Public Member Functions inherited from MemCore::AlzheimerCreator< MemBase, CreativeArrayBase >
 AlzheimerCreator (const RefPtr< Object > &D, const WeakPtr< Cache > &cache)
 
- Public Member Functions inherited from MemCore::Creator< class RefType, class MyCreatorBase >
 Creator (const RefPtr< RefType > &D, const WCachePtr &MyCache)
 
RefPtr< RefType > get () const override
 
CacheablePtr getCacheable () const override
 
bool hasData () const 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
 
const WCachePtr & myCache () const
 
- Public Member Functions inherited from MemCore::Creature
std::string addrstr () const
 
stringappendProvenance (const RefPtr< Provenance > &P)
 
stringappendProvenance (const string &s)
 
 Creature (const WCachePtr &myCache)
 
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
 
- Public Member Functions inherited from F5Fragment
 F5Fragment (const MemCore::RefPtr< H5Group > &theGroup, const std::string &theDatasetName, const std::string &Filename, const std::string &FragmentPath, size_t NumberOfAvailableFragments, size_t CurrentFragmentNumber)
 
 F5Fragment (const MemCore::RefPtr< H5Group > &theGroup, const std::string &Filename, const std::string &FragmentPath, const RefPtr< H5ID > &H5ElementType, size_t NumberOfAvailableFragments, size_t CurrentFragmentNumber)
 
MemCore::RefPtr< Readeropen ()
 
void invalidate ()
 

Static Public Member Functions

static bool loadHDF5Data (const RefPtr< HDF5CreatorBase > &TheHDF5Creator, const result &R)
 
- Static Public Member Functions inherited from MemCore::Ageable
static const AgeableInfinitelyNew () noexcept
 
static constexpr const AgeableInfinitelyOld () noexcept
 
static age_t now () noexcept
 

Public Attributes

string path_info
 Some textual information about this dataset, to be displayed in a progress/status bar if part of a GUI.
 
WeakPtr< LoaderProgressLP
 
WeakPtr< StorageTransformations::IOPerformanceLoadPerformance
 
int FragmentNumber = 1
 
WeakPtr< FieldMyLoaderField
 
Timer Stats
 
- Public Attributes inherited from MemCore::Creature
std::string creationError
 
double LastCreationTime
 
std::list< RefPtr< Provenance > > myCreationSources
 
double TotalCreationTime
 
- Public Attributes inherited from F5Fragment
std::string DatasetName
 
std::string Filename
 
std::string FragmentPath
 
size_t NumberOfAvailableFragments = 0
 
size_t CurrentFragmentNumber = 0
 
RefPtr< H5DatasetAccessDatasetAccess
 

Protected Types

typedef AlzheimerCreator< MemBase, CreativeArrayBaseBase_t
 

Protected Member Functions

virtual HDF5CreatorBase::DataPtr_t load_data ()=0
 
void setup (const RefPtr< FiberTypeBase > &MyFiberType)
 
- Protected Member Functions inherited from MemCore::Creator< class RefType, class MyCreatorBase >
 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 ()
 

Protected Attributes

DynamicSize mySize
 
unsigned ElementSize = 0
 
std::atomic< longNumberOfLoadingOperations = 0
 
std::atomic< boolisLoading = false
 
std::mutex CreationMutex
 
std::future< boolAsynchroneouslyComputedData
 
RefPtr< H5GroupmyGroup
 
- Protected Attributes inherited from F5Fragment
RefPtr< H5GroupmyGroup
 
RefPtr< H5IDH5ElementType
 

Additional Inherited Members

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

Detailed Description

Deferred creation of MemBase objects from an HDF5 file.

Constructor & Destructor Documentation

◆ HDF5CreatorBase()

Fiber::HDF5CreatorBase::HDF5CreatorBase ( const RefPtr< LoaderProgress > &  BLP,
const F5Fragment HC,
const DynamicSize theSize,
const RefPtr< MemBase > &  Data,
const WeakPtr< Cache > &  theCache 
)

Construct a HDF5 creator for reading.

Indicate that the data managed here are already saved, and their "last saved" time is identical to the construction time of this Creator.

References MemCore::ReferenceBase< Creature >::self().

Member Function Documentation

◆ discardCreation()

bool Fiber::HDF5CreatorBase::discardCreation ( )
overridevirtual

Reimplemented from MemCore::Creature.

◆ getType()

const type_info & Fiber::HDF5CreatorBase::getType ( )
overridevirtual

◆ isUnderCreation()

bool Fiber::HDF5CreatorBase::isUnderCreation ( ) const
overridevirtual

◆ release()

Creature::ReasonForReleasal Fiber::HDF5CreatorBase::release ( )
overridevirtual

◆ request()

bool Fiber::HDF5CreatorBase::request ( const result &  R)
overridevirtual