Classes | Typedefs | Functions

Interfacing the Vector library with the MemCore library.

This library extents the header-only Vector template library with the memory management capabilities of the MemCore library. More...

Classes

Typedefs

Functions


Detailed Description

This library extents the header-only Vector template library with the memory management capabilities of the MemCore library.

It equips e.g. the abstract multidimensional arrays with memory managament and concrete memory layouts.


Typedef Documentation

typedef MemCore::CreatorBase<MemBase> Fiber::CreativeArrayBase

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

  • bool release()
  • const type_info& getType()
  • RefPtr<MemBase> create()

Function Documentation

template<int N>
bool makeDimensions ( MultiIndex< N > &  Dims,
const RefPtr< CreativeArrayBase > &  DC 
) [inline]

Given a data creator, retrieve the dimensionality information from the associated data, preferably from the size interface as stored (cached) in the Creator, but if none such exists yet, load the data and get it from there once.

On next call, the size interface will be set and data dont need to be loaded again.

Parameters:
Dims Will store the dimensions of this data set, used for output only (return value)
DC The data creator.
Returns:
true if data are of the dinemsionality as specified by the Dims parameter, otherwise returns false if no such information could be retrieved.

References makeSizeInterface().

Referenced by Wizt::FieldSlice::apply().

template<int N>
bool makeSizeInterface ( MultiIndex< N > &  Dims,
const RefPtr< CreativeArrayBase > &  DC 
) [inline]

Set the size interface of a given data array Creator, based on the associated data (this function will actually CREATE the data - so is slow!).

IF the dimensionality of the data is compatible with the specified multiindex, the dimensions will be returned, and the size interface of the Creator is set to this value.

Note: This function will always inspect the data, even if the Creator might already have size interface defined. If loading data shall be avoided, use the makeDimensions() routine.

Referenced by makeDimensions().