Public Member Functions | Friends

LibGeoDecomp::Filter< CELL, MEMBER, EXTERNAL, ARITY > Class Template Reference

Derive from this class if you wish to add custom data adapters/converters to your Selector. More...

#include <filter.h>

Inherits LibGeoDecomp::FilterBase< CELL >.

Collaboration diagram for LibGeoDecomp::Filter< CELL, MEMBER, EXTERNAL, ARITY >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

std::size_t sizeOf () const
virtual MPI_Datatype mpiDatatype () const
 Yields the member's MPI data type (or that of its external representation).
virtual std::string typeName () const
virtual int arity () const
virtual void copyStreakInImpl (const EXTERNAL *first, const EXTERNAL *last, MEMBER *target)=0
 Copy a streak of variables to an AoS layout.
virtual void copyStreakOutImpl (const MEMBER *first, const MEMBER *last, EXTERNAL *target)=0
 Extract a steak of members from an AoS layout.
virtual void copyMemberInImpl (const EXTERNAL *source, CELL *target, int num, MEMBER CELL::*memberPointer)=0
 Copy a streak of variables to the members of a streak of cells.
virtual void copyMemberOutImpl (const CELL *source, EXTERNAL *target, int num, MEMBER CELL::*memberPointer)=0
 Extract a streak of members from a streak of cells.
void copyStreakIn (const char *first, const char *last, char *target)
 Do not override this function! It is final.
void copyStreakOut (const char *first, const char *last, char *target)
 Do not override this function! It is final.
void copyMemberIn (const char *source, CELL *target, int num, char CELL::*memberPointer)
 Do not override this function! It is final.
void copyMemberOut (const CELL *source, char *target, int num, char CELL::*memberPointer)
 Do not override this function! It is final.
bool checkExternalTypeID (const std::type_info &otherID) const

Friends

class Serialization

Detailed Description

template<typename CELL, typename MEMBER, typename EXTERNAL, int ARITY = 1>
class LibGeoDecomp::Filter< CELL, MEMBER, EXTERNAL, ARITY >

Derive from this class if you wish to add custom data adapters/converters to your Selector.


Member Function Documentation

template<typename CELL, typename MEMBER, typename EXTERNAL, int ARITY = 1>
virtual int LibGeoDecomp::Filter< CELL, MEMBER, EXTERNAL, ARITY >::arity (  )  const [inline, virtual]
template<typename CELL, typename MEMBER, typename EXTERNAL, int ARITY = 1>
bool LibGeoDecomp::Filter< CELL, MEMBER, EXTERNAL, ARITY >::checkExternalTypeID ( const std::type_info &  otherID  )  const [inline, virtual]
template<typename CELL, typename MEMBER, typename EXTERNAL, int ARITY = 1>
void LibGeoDecomp::Filter< CELL, MEMBER, EXTERNAL, ARITY >::copyMemberIn ( const char *  source,
CELL *  target,
int  num,
char CELL::*  memberPointer 
) [inline, virtual]

Do not override this function! It is final.

Implements LibGeoDecomp::FilterBase< CELL >.

template<typename CELL, typename MEMBER, typename EXTERNAL, int ARITY = 1>
virtual void LibGeoDecomp::Filter< CELL, MEMBER, EXTERNAL, ARITY >::copyMemberInImpl ( const EXTERNAL *  source,
CELL *  target,
int  num,
MEMBER CELL::*  memberPointer 
) [pure virtual]
template<typename CELL, typename MEMBER, typename EXTERNAL, int ARITY = 1>
void LibGeoDecomp::Filter< CELL, MEMBER, EXTERNAL, ARITY >::copyMemberOut ( const CELL *  source,
char *  target,
int  num,
char CELL::*  memberPointer 
) [inline, virtual]

Do not override this function! It is final.

Implements LibGeoDecomp::FilterBase< CELL >.

template<typename CELL, typename MEMBER, typename EXTERNAL, int ARITY = 1>
virtual void LibGeoDecomp::Filter< CELL, MEMBER, EXTERNAL, ARITY >::copyMemberOutImpl ( const CELL *  source,
EXTERNAL *  target,
int  num,
MEMBER CELL::*  memberPointer 
) [pure virtual]
template<typename CELL, typename MEMBER, typename EXTERNAL, int ARITY = 1>
void LibGeoDecomp::Filter< CELL, MEMBER, EXTERNAL, ARITY >::copyStreakIn ( const char *  first,
const char *  last,
char *  target 
) [inline, virtual]

Do not override this function! It is final.

Implements LibGeoDecomp::FilterBase< CELL >.

template<typename CELL, typename MEMBER, typename EXTERNAL, int ARITY = 1>
virtual void LibGeoDecomp::Filter< CELL, MEMBER, EXTERNAL, ARITY >::copyStreakInImpl ( const EXTERNAL *  first,
const EXTERNAL *  last,
MEMBER *  target 
) [pure virtual]
template<typename CELL, typename MEMBER, typename EXTERNAL, int ARITY = 1>
void LibGeoDecomp::Filter< CELL, MEMBER, EXTERNAL, ARITY >::copyStreakOut ( const char *  first,
const char *  last,
char *  target 
) [inline, virtual]

Do not override this function! It is final.

Implements LibGeoDecomp::FilterBase< CELL >.

template<typename CELL, typename MEMBER, typename EXTERNAL, int ARITY = 1>
virtual void LibGeoDecomp::Filter< CELL, MEMBER, EXTERNAL, ARITY >::copyStreakOutImpl ( const MEMBER *  first,
const MEMBER *  last,
EXTERNAL *  target 
) [pure virtual]
template<typename CELL, typename MEMBER, typename EXTERNAL, int ARITY = 1>
virtual MPI_Datatype LibGeoDecomp::Filter< CELL, MEMBER, EXTERNAL, ARITY >::mpiDatatype (  )  const [inline, 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).

Implements LibGeoDecomp::FilterBase< CELL >.

template<typename CELL, typename MEMBER, typename EXTERNAL, int ARITY = 1>
std::size_t LibGeoDecomp::Filter< CELL, MEMBER, EXTERNAL, ARITY >::sizeOf (  )  const [inline, virtual]
template<typename CELL, typename MEMBER, typename EXTERNAL, int ARITY = 1>
virtual std::string LibGeoDecomp::Filter< CELL, MEMBER, EXTERNAL, ARITY >::typeName (  )  const [inline, virtual]

Friends And Related Function Documentation

template<typename CELL, typename MEMBER, typename EXTERNAL, int ARITY = 1>
friend class Serialization [friend]

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