FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
Fiber::DataRangeBase Struct Referenceabstract

Base class for ranges that can be attached to Creators. More...

#include <RangeBase.hpp>

Inheritance diagram for Fiber::DataRangeBase:
MemCore::Interface< DataRangeBase > MemCore::Ageable MemCore::InterfaceBase MemCore::ReferenceBase< InterfaceBase > Fiber::DataRange< Type >

Classes

struct  NoDataRange
 

Public Types

typedef RefPtr< DataRangeBasecompute_range_and_set_attribute_func(CreativeArrayBase &CAB, const RefPtr< MemBase > &ArrayBase)
 
typedef RefPtr< DataRangeBaseget_range_if_older_than_creator_data_func(CreativeArrayBase &CAB)
 
- Public Types inherited from MemCore::Interface< DataRangeBase >
typedef Domain InterfaceDomain_t
 
- Public Types inherited from MemCore::ReferenceBase< InterfaceBase >
typedef Object reference_domain_t
 
typedef WeakPtr< Object, Object > SelfPtr_t
 

Public Member Functions

 DataRangeBase (DataRangeBase &Db)
 Copy Constructor.
 
 DataRangeBase ()
 Constructor, age will be youngest.
 
 DataRangeBase (const MemCore::Ageable &Age)
 Construct with specific age.
 
virtual ~DataRangeBase ()=0
 Pure virtual destructor.
 
virtual void expandRange (const RefPtr< DataRangeBase > &DRB)=0
 Append a given range, if possible. Child class might do type conversions.
 
virtual RefPtr< DataRangeBasegetFloatRange () const =0
 Virtual function to retrieve a general floating-point version of a range which may be any kind of integer or floating point number.
 
virtual std::string str () const =0
 
virtual RefPtr< DataRangeBasegetIndexedRange (const RefPtr< MemBase > &ArrayBase, const std::vector< uint32_t > &index_array) const =0
 
virtual RefPtr< DataRangeBasegetIndexedRange (const RefPtr< MemBase > &ArrayBase, const std::vector< size_t > &index_array) const =0
 
- Public Member Functions inherited from MemCore::Interface< DataRangeBase >
const type_info & getInterfaceDomain () const
 
- Public Member Functions inherited from MemCore::InterfaceBase
virtual bool apply (Intercube &I, const RefPtr< InterfaceIterationParameter > &)
 
virtual bool apply_const (const Intercube &I, const RefPtr< InterfaceIterationParameter > &)
 
- Public Member Functions inherited from MemCore::ReferenceBase< InterfaceBase >
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::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
 

Static Public Member Functions

static void clear (CreativeArrayBase &CAB)
 
static void clear (Field &F)
 
static RefPtr< MemCore::ChunkBaseget_range_attribute (const Field &F)
 
static RefPtr< DataRangeBaseget_cached_rangebase_if_older_than_field (const Field &F)
 
static bool need_to_recompute (const Field &F)
 
static void setRangeCompleteness (Field &F, unsigned nFragments, unsigned FragmentsNotUsedForRangeComputation)
 
static bool isRangeComplete (Field &F)
 
static void computeRangeOnAvailableFragments (Field &F, compute_range_and_set_attribute_func *typed_compute_function, get_range_if_older_than_creator_data_func *range_determinator, bool RequestToLoadMore=false)
 
- Static Public Member Functions inherited from MemCore::Ageable
static const AgeableInfinitelyNew () noexcept
 
static constexpr const AgeableInfinitelyOld () noexcept
 
static age_t now () noexcept
 

Additional Inherited Members

- Protected Member Functions inherited from MemCore::ReferenceBase< InterfaceBase >
virtual void extremeUnction ()
 
ReferenceBaseoperator= (const ReferenceBase &R)
 
void suicide ()
 

Detailed Description

Base class for ranges that can be attached to Creators.

Member Function Documentation

◆ expandRange()

virtual void Fiber::DataRangeBase::expandRange ( const RefPtr< DataRangeBase > &  DRB)
pure virtual

Append a given range, if possible. Child class might do type conversions.

Implemented in Fiber::DataRange< Type >.

◆ getFloatRange()

virtual RefPtr< DataRangeBase > Fiber::DataRangeBase::getFloatRange ( ) const
pure virtual

Virtual function to retrieve a general floating-point version of a range which may be any kind of integer or floating point number.

Synopsis:

if (RefPtr<DataRange<double>> R = HeightRange->getFloatRange() )
{
double diff = R[1] - R[0]; // or whatever
}
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34

If the range type is not a scalar but something derived from a FixedArray, then this function will return a corresponding FixedArray<double,?> .

Implemented in Fiber::DataRange< Type >.

References MemCore::Intercube::removeInterface().