|
Fish - FiberLib for VISH 0.3
Fish - The Fiber Bundle API for the Vish Visualization Shell
|
Base class for multidimensional arrays that employ deferred storage, i.e. More...
#include <CreativeArrayBase.hpp>
Public Types | |
| enum class | CreationFailure { None , OutOfMemory , CannotOpen , CannotRead , CannotSave , Timeout , Unknown } |
| Public Types inherited from Fiber::OwnerBase | |
| template<class ItemType> | |
| using | Item = MemCore::InterfaceData<ItemType> |
| An optional convenience class that allows to easily add arbitrary types to Intercubes . | |
Public Member Functions | |
| CreativeArrayBase (const MemCore::WCachePtr &theCache) | |
| Ageable & | touch () throw () |
| const Ageable & | touchAttributes () const |
| const Ageable & | updateAttributeAge (const Ageable &A) const |
| void | extremeUnction () |
| bool | needsSaving () const |
| Check if the data here need to be saved, i.e. | |
| void | hasBeenSaved () const |
| Indicate that this dataset has been saved and does not need to be saved again. | |
| void | addDataMetaInfo (const MemCore::RefPtr< MemBase > &D) |
| Set the type and size interfaces according to the given data. | |
| const FiberTypeIndex & | getFiberTypeIndex () const |
| auto | value_type_size () const |
| How many bytes this object occupies in memory. | |
| RefPtr< FiberTypeBase > | getFiberType () const |
| void | setFiberType (const RefPtr< FiberTypeBase > &FTB) |
| template<class ... T> | |
| bool | isType () const |
| void | addMetaInfo (const DynamicSize &theSize, const RefPtr< FiberTypeBase > &theDataType) |
| void | addMetaInfo (int nDimensions, const RefPtr< FiberTypeBase > &theDataType) |
| RefPtr< BinderBase > | getBinder () const |
| Get the Binder from the Bundle where this Creator is contained, processing via Bundle::processOwnership(), which may be relatively slow. | |
| void | save (const MemCore::RefPtr< MemBase > &D) const |
| Passes the data object backwards through the ownership hierarchy, ultimately calling Bundle::processOwnership() which in turn calls Binder::save(). | |
| Public Member Functions inherited from MemCore::CreatorBase< MemBase > | |
| RefPtr< Domain > | create (bool CreateAsOld=false) |
| RefPtr< Domain > | createAsOld () |
| CreatorBase (const WCachePtr &theCache) | |
| virtual RefPtr< Domain > | get () const =0 |
| RefPtr< Domain > | get_or_request (const result &R=nullptr) |
| virtual const type_info & | getType ()=0 |
| bool | isUnderCreation () const override |
| virtual bool | request (const result &R=nullptr) |
| virtual RefPtr< Domain > | take () |
| Public Member Functions inherited from Fiber::Ownable< CreativeArrayBase, CreativeArrayBaseContainerBase > | |
| void | x_updateOwnershipAge (const MemCore::Ageable &theNewAge) override |
| Forward some age to all Owners. | |
| void | insertOwner (const Container &theOwner) |
| Add some owner. | |
| void | addOwner (const Container &theOwner, const MemCore::Ageable &theNewAge) |
| Add some owner and broadcast a new age to all Ownerrs. | |
| Ownable () | |
| Default constructor, empty Ownership list. | |
| Ownable & | operator= (const Ownable &) |
| Assignment, does NOT copy any ownership information, the assigned Ownable will retain all its ownership information. | |
| MemCore::WeakPtr< Container > | getPrimaryOwner () const |
| Get the first valid owner. | |
| size_t | getNumberOfValidOwners () const |
| Get the first valid owner. | |
| bool | processOwnership (MemCore::Intercube &Output, const MemCore::Intercube &Input) const override |
| Process some ownership action. | |
| Public Member Functions inherited from Fiber::OwnerBase | |
| bool | processOwnership (MemCore::Intercube &OutputAndInput) const |
| Process ownership where the input information is shared with the output information in the same Intercube. | |
| Public Member Functions inherited from Fiber::SaveableAttributes | |
| void | attributesHaveBeenSaved () const |
| bool | attributesNeedSaving () const |
| Public Member Functions inherited from MemCore::Attributes | |
| MemCore::RefPtr< MemCore::ChunkBase > | getAttribute (const std::string &name) const |
| const Ageable & | getAttributeAge () const |
| std::pair< bool, T > | getAttributeValue (const string &AttributeName, size_t ElementNumber=0) const |
| attributes_t & | getAttributeValues () |
| const attributes_t & | getAttributeValues () const |
| size_t | getNumberOfAttributes () const |
| bool | hasAttribute (const std::string &name) const |
| int | Iterate (const Functor &L) const |
| int | iterate (Iterator &it) const |
| int | iterate_attributes (const Functor &L) const |
| size_t | NumberOfAttributes () const |
| void | setAttribute (const std::string &name, const MemCore::RefPtr< MemCore::ChunkBase > &AttribData) |
| ResizableChunk< T > & | setAttributeValue (const std::string &name, const T &AttribData) |
| ResizableChunk< T > & | setAttributeValues (const std::string &name, const std::initializer_list< T > &AttribData) |
| const T & | setValue (const T &AttribData, const std::string &name) |
| const T & | setValue (const T &AttribData, const std::string &name, const std::string &Comment, const std::string &CommentPrefix="Comment") |
| string | toString () const |
| const Ageable & | touchAttributes () const |
| const Ageable & | updateAttributeAge (const Ageable &A) const |
Static Public Member Functions | |
| static bool | retryCreation (CreativeArrayBase &) |
Public Attributes | |
| AgeRelativeToBinder | LastSavedTimes |
| enum Fiber::CreativeArrayBase::CreationFailure | Error = CreationFailure::None |
| Public Attributes inherited from Fiber::Ownable< CreativeArrayBase, CreativeArrayBaseContainerBase > | |
| std::unordered_set< MemCore::WeakPtr< Container > > | Owners |
| The (internal) list of owners. | |
| Public Attributes inherited from Fiber::SaveableAttributes | |
| MemCore::Ageable | LastSavedAttributes |
Protected Attributes | |
| FiberTypeIndex | myFiberTypeIndex |
| MemCore::WeakPtr< FiberTypeBase > | myFiberTypeBase |
Related Symbols | |
(Note that these are not member symbols.) | |
| Ageable | LastSaved |
| The age when the data contained here had been saved last. | |
Base class for multidimensional arrays that employ deferred storage, i.e.
they do not reside in memory all time, but are created on demand. Child classes must implement the virtual functions
| RefPtr< BinderBase > Fiber::CreativeArrayBase::getBinder | ( | ) | const |
Get the Binder from the Bundle where this Creator is contained, processing via Bundle::processOwnership(), which may be relatively slow.
Use this function to determine whether a Creator needs to be saved at all. This information is not available from the Creator itself because it may change depending on the containing bundle and whether that one is bound to a file or not. If a Creator is contained in multiple bundles, then this information is no longer unique and depends on what processOwnership() yields.
References MemCore::Intercube::addInterface(), getBinder(), and Fiber::Ownable< CreativeArrayBase, CreativeArrayBaseContainerBase >::processOwnership().
Referenced by getBinder().
|
inline |
|
inline |
Check if the data here need to be saved, i.e.
the modification date of this creator is younger than the last save date.
References LastSaved, and needsSaving().
Referenced by needsSaving().
| void Fiber::CreativeArrayBase::save | ( | const MemCore::RefPtr< MemBase > & | D | ) | const |
Passes the data object backwards through the ownership hierarchy, ultimately calling Bundle::processOwnership() which in turn calls Binder::save().
The intercubes as provided to the processOwnership() call will be equipped with two interfaces:
which allow to extract the saving information in the Binder::save() implementation.
References MemCore::Intercube::addInterface(), Fiber::Ownable< CreativeArrayBase, CreativeArrayBaseContainerBase >::getPrimaryOwner(), LastSaved, Fiber::Ownable< CreativeArrayBase, CreativeArrayBaseContainerBase >::processOwnership(), and save().
Referenced by save().
|
inline |
How many bytes this object occupies in memory.
Alias for mem_size(), for compatiblity with Chunk::value_type_size().
|
The age when the data contained here had been saved last.
(), CreatorConstructionContext
Referenced by hasBeenSaved(), needsSaving(), and save().