2#define __SLICE_HPP "Created 25.08.2004"
6#include <memcore/stringlist.hpp>
46 auto getNumberOfGrids()
const noexcept
100 bool accessSlice()
const;
102 bool isNotYetLoaded()
const
104 return DeferredLoader.
size() > 0;
107 bool isLoaded()
const
109 return !isNotYetLoaded();
115 Slice(
const OwnerOf<Slice>&SliceOwner,
const RefPtr<GlobalCharts>&Atlas);
122 void extremeUnction()
override;
127 Grid&newGrid(
const string&gridname);
135 Grid&newGrid(
const string&gridname,
const string&ParentGridName);
141 bool insert(
const string&gridname,
const RefPtr<Grid>&G);
154 Grid&
operator[](
const RefPtr<GridID>&gridname);
157 RefPtr<GridID> makeGridID(
const string&gridname);
160 RefPtr<GridID> findGridID(
const string&gridname);
165 RefPtr<Grid> operator()(
const string&gridname);
167 grids_t::value_type getUniqueGrid();
170 RefPtr<Grid> operator()(
const RefPtr<GridID>&gridname);
180 int iterate(GridIterator&GI,
181 const RefPtr<MemCore::StringList>&TheseGridsOnly =
NullPtr() );
183 typedef GridIterator Iterator;
196 template <
class Functor>
201 for(
const auto&g : grids)
203 if (!g.first)
continue;
204 if (!g.second)
continue;
206 if (F(*g.first, *g.second))
250 return (**
this)(gridname);
257 return (**
this)(gridname);
size_type size() const noexcept
size_type size() const noexcept
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
A grid identifier.
Definition GridID.hpp:29
Iterator callback object for iteration within time slices.
Definition Slice.hpp:16
virtual bool apply(GridID &id, Grid &g)=0
Virtual callback function.
A Grid is a set of Skeleton objects, each of them accessed via some unique SkeletonID object.
Definition Grid.hpp:60
Implementation of an Iterator to a sequence of elements, which might be contiguous or a projection of...
Definition vector/Iterator.hpp:525
T & operator[](index_t i) const
Access an element of the array, writeable.
Definition vector/Iterator.hpp:712
Domain-specific class of objects that can be owned.
Definition Ownable.hpp:81
Attributes with an age that allows to keep track when the attributes had been saved last.
Definition CreativeArrayBase.hpp:32
Convenience shortcut for pointers to Slices.
Definition Slice.hpp:232
SlicePtr(const MemCore::NullPtr &)
Construct as empty pointer.
Definition Slice.hpp:240
RefPtr< Grid > operator()(const RefPtr< GridID > &gridname) const
Find a grid via a grid identifier.
Definition Slice.hpp:254
SlicePtr(const RefPtr< Slice > &RS)
Construct from slice pointer.
Definition Slice.hpp:235
RefPtr< Grid > operator()(const string &gridname) const
Find a grid for the given name.
Definition Slice.hpp:247
An loader object that may be associated with each Slice, such that data can created on access.
Definition Slice.hpp:64
Loader()
Constructor.
Definition Slice.hpp:67
virtual bool load(const WeakPtr< Slice > &Self)=0
The virtualized operation that is to be performed when creating a certain slice.
Information per time slice, mainly a set of Grid objects that are accessed via GridID objects.
Definition Slice.hpp:36
int iterate_grids(const Functor &F) const
Definition Slice.hpp:197
DeferredLoader_t DeferredLoader
An optionally associated loader map.
Definition Slice.hpp:90
LoaderPriority
Enums specifying the priority for various loaders.
Definition Slice.hpp:56
MemSizeConfig< sizeof(void *)>::memsize_t memsize_t
Given a fragmented field of curvilinear coordinates, (3D array of coordinates), build a uniform Grid ...
Definition FAQ.dox:2
typename Ownable< OwnedObjectType, ContainerBase >::Container OwnerOf
Shortcut to find the owning type.
Definition Ownable.hpp:265
Definition HDF5Saver.hpp:34