Base class for adding user-defined data filters to a Selector.
More...
#include <filterbase.h>
Inherited by LibGeoDecomp::Filter< CELL, MEMBER, Color >, LibGeoDecomp::Filter< CELL, MEMBER, EXTERNAL >, and LibGeoDecomp::Filter< CELL, MEMBER, EXTERNAL, ARITY >.
List of all members.
Public Member Functions |
virtual | ~FilterBase () |
virtual std::size_t | sizeOf () const =0 |
virtual MPI_Datatype | mpiDatatype () const =0 |
| Yields the member's MPI data type (or that of its external representation).
|
virtual std::string | typeName () const =0 |
virtual int | arity () const =0 |
virtual void | copyStreakIn (const char *first, const char *last, char *target)=0 |
virtual void | copyStreakOut (const char *first, const char *last, char *target)=0 |
virtual void | copyMemberIn (const char *source, CELL *target, int num, char CELL::*memberPointer)=0 |
virtual void | copyMemberOut (const CELL *source, char *target, int num, char CELL::*memberPointer)=0 |
virtual bool | checkExternalTypeID (const std::type_info &otherID) const =0 |
Friends |
class | Serialization |
Detailed Description
template<typename CELL>
class LibGeoDecomp::FilterBase< CELL >
Base class for adding user-defined data filters to a Selector.
This can be used to do on-the-fly data extraction, scale conversion for live output etc. without having to rewrite a complete ParallelWriter output plugin.
It is suggested to derive from Filter instead of FilterBase, as the latter has some convenience functionality already in place.
Constructor & Destructor Documentation
Member Function Documentation
template<typename CELL>
virtual void LibGeoDecomp::FilterBase< CELL >::copyMemberIn |
( |
const char * |
source, |
|
|
CELL * |
target, |
|
|
int |
num, |
|
|
char CELL::* |
memberPointer | |
|
) |
| | [pure virtual] |
template<typename CELL>
virtual void LibGeoDecomp::FilterBase< CELL >::copyMemberOut |
( |
const CELL * |
source, |
|
|
char * |
target, |
|
|
int |
num, |
|
|
char CELL::* |
memberPointer | |
|
) |
| | [pure virtual] |
template<typename CELL>
virtual void LibGeoDecomp::FilterBase< CELL >::copyStreakIn |
( |
const char * |
first, |
|
|
const char * |
last, |
|
|
char * |
target | |
|
) |
| | [pure virtual] |
template<typename CELL>
virtual void LibGeoDecomp::FilterBase< CELL >::copyStreakOut |
( |
const char * |
first, |
|
|
const char * |
last, |
|
|
char * |
target | |
|
) |
| | [pure virtual] |
Yields the member's MPI data type (or that of its external representation).
May source from APITraits or fall back to Typemaps. If neither yields, no compiler error will follow as it is assumed that such code is still valid (e.g. if a Selector is instantiated for the SiloWriter, so that mpiDatatype() is never called).
Implemented in LibGeoDecomp::Filter< CELL, MEMBER, EXTERNAL, ARITY >, LibGeoDecomp::Filter< CELL, MEMBER, Color >, and LibGeoDecomp::Filter< CELL, MEMBER, EXTERNAL >.
Friends And Related Function Documentation
template<typename CELL>
friend class Serialization [friend] |
Reimplemented in LibGeoDecomp::DefaultFilter< CELL, MEMBER, EXTERNAL >, LibGeoDecomp::Filter< CELL, MEMBER, EXTERNAL, ARITY >, LibGeoDecomp::SimpleFilter< CELL, MEMBER, EXTERNAL >, LibGeoDecomp::Filter< CELL, MEMBER, Color >, and LibGeoDecomp::Filter< CELL, MEMBER, EXTERNAL >.
The documentation for this class was generated from the following file: