FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
Fragment.hpp
1#ifndef __FIBER_GRID_FRAGMENT_HPP
2#define __FIBER_GRID_FRAGMENT_HPP
3
4#include "Field.hpp"
5
6namespace Fiber
7{
8
13
18
38{
39 typedef FragmentMap_t map_t;
40
41public:
43 Fragment();
44
46 ~Fragment();
47
49 RefPtr<CreativeArrayBase> operator()(const string&s) const;
50
52 {
53 virtual ~Iterator();
54
55 virtual bool apply(const string&storage_id, const RefPtr<CreativeArrayBase>&Cab) = 0;
56 };
57
58 size_t size() const
59 {
60 return FragmentMap_t::size();
61 }
62
63 int iterate(Iterator&It) const;
64};
65
70{
71public:
74
75 RefPtr<Field>&operator[](const string&s);
76 RefPtr<Field> operator()(const string&s) const;
77
78 bool FieldsAreOlderThan(const MemCore::Ageable&A) const;
79
80 void updateAge(MemCore::Ageable&A) const;
81
83 {
84 virtual ~Iterator();
85 virtual bool apply(const string&name, const RefPtr<Field>&F) = 0;
86 };
87
88 int iterate(Iterator&It);
89};
90
91} /* namespace Fiber */
92
93#endif /* __FIBER_GRID_FRAGMENT_HPP */
valarray< size_t > size() const
_Expr< _ValFunClos< _ValArray, _Tp >, _Tp > apply(_Tp __func(_Tp)) const
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 collection of arbitrarily named Field references.
Definition Fragment.hpp:70
Data structure describing all fields available per fragment, which is a selection of createable data ...
Definition Fragment.hpp:38
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
std::map< string, RefPtr< CreativeArrayBase > > FragmentMap_t
Mapping of arbitary names to field fragments.
Definition Fragment.hpp:12
map< string, RefPtr< Field > > FieldMap_t
Mapping of names to fields.
Definition Fragment.hpp:17
Given a fragmented field of curvilinear coordinates, (3D array of coordinates), build a uniform Grid ...
Definition FAQ.dox:2
Definition Fragment.hpp:83
Definition Fragment.hpp:52