Public Member Functions | Friends

LibGeoDecomp::FilterBase< CELL > Class Template Reference

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

template<typename CELL>
virtual LibGeoDecomp::FilterBase< CELL >::~FilterBase (  )  [inline, virtual]

Member Function Documentation

template<typename CELL>
virtual int LibGeoDecomp::FilterBase< CELL >::arity (  )  const [pure virtual]
template<typename CELL>
virtual bool LibGeoDecomp::FilterBase< CELL >::checkExternalTypeID ( const std::type_info &  otherID  )  const [pure virtual]
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]
template<typename CELL>
virtual MPI_Datatype LibGeoDecomp::FilterBase< CELL >::mpiDatatype (  )  const [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 >.

template<typename CELL>
virtual std::size_t LibGeoDecomp::FilterBase< CELL >::sizeOf (  )  const [pure virtual]
template<typename CELL>
virtual std::string LibGeoDecomp::FilterBase< CELL >::typeName (  )  const [pure virtual]

Friends And Related Function Documentation

template<typename CELL>
friend class Serialization [friend]

The documentation for this class was generated from the following file: