Public Member Functions | Friends

LibGeoDecomp::SimpleFilter< CELL, MEMBER, EXTERNAL > Class Template Reference

Inheriting from this class instead of Filter will spare you having to implement 4 functions (instead you'll have to write just 2). More...

#include <simplefilter.h>

Inherits Filter< CELL, MEMBER, EXTERNAL >.

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

List of all members.

Public Member Functions

virtual void load (const EXTERNAL &source, MEMBER *target)=0
virtual void save (const MEMBER &source, EXTERNAL *target)=0
virtual void copyStreakInImpl (const EXTERNAL *first, const EXTERNAL *last, MEMBER *target)
 Copy a streak of variables to an AoS layout.
virtual void copyStreakOutImpl (const MEMBER *first, const MEMBER *last, EXTERNAL *target)
 Extract a steak of members from an AoS layout.
virtual void copyMemberInImpl (const EXTERNAL *source, CELL *target, int num, MEMBER CELL::*memberPointer)
 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)
 Extract a streak of members from a streak of cells.

Friends

class Serialization

Detailed Description

template<typename CELL, typename MEMBER, typename EXTERNAL>
class LibGeoDecomp::SimpleFilter< CELL, MEMBER, EXTERNAL >

Inheriting from this class instead of Filter will spare you having to implement 4 functions (instead you'll have to write just 2).

It'll be a little slower though.


Member Function Documentation

template<typename CELL, typename MEMBER, typename EXTERNAL>
virtual void LibGeoDecomp::SimpleFilter< CELL, MEMBER, EXTERNAL >::copyMemberInImpl ( const EXTERNAL *  source,
CELL *  target,
int  num,
MEMBER CELL::*  memberPointer 
) [inline, virtual]

Copy a streak of variables to the members of a streak of cells.

Implements LibGeoDecomp::Filter< CELL, MEMBER, EXTERNAL >.

References LibGeoDecomp::SimpleFilter< CELL, MEMBER, EXTERNAL >::load().

template<typename CELL, typename MEMBER, typename EXTERNAL>
virtual void LibGeoDecomp::SimpleFilter< CELL, MEMBER, EXTERNAL >::copyMemberOutImpl ( const CELL *  source,
EXTERNAL *  target,
int  num,
MEMBER CELL::*  memberPointer 
) [inline, virtual]

Extract a streak of members from a streak of cells.

Implements LibGeoDecomp::Filter< CELL, MEMBER, EXTERNAL >.

References LibGeoDecomp::SimpleFilter< CELL, MEMBER, EXTERNAL >::save().

template<typename CELL, typename MEMBER, typename EXTERNAL>
virtual void LibGeoDecomp::SimpleFilter< CELL, MEMBER, EXTERNAL >::copyStreakInImpl ( const EXTERNAL *  first,
const EXTERNAL *  last,
MEMBER *  target 
) [inline, virtual]

Copy a streak of variables to an AoS layout.

Implements LibGeoDecomp::Filter< CELL, MEMBER, EXTERNAL >.

References LibGeoDecomp::SimpleFilter< CELL, MEMBER, EXTERNAL >::load().

template<typename CELL, typename MEMBER, typename EXTERNAL>
virtual void LibGeoDecomp::SimpleFilter< CELL, MEMBER, EXTERNAL >::copyStreakOutImpl ( const MEMBER *  first,
const MEMBER *  last,
EXTERNAL *  target 
) [inline, virtual]

Extract a steak of members from an AoS layout.

Implements LibGeoDecomp::Filter< CELL, MEMBER, EXTERNAL >.

References LibGeoDecomp::SimpleFilter< CELL, MEMBER, EXTERNAL >::save().

template<typename CELL, typename MEMBER, typename EXTERNAL>
virtual void LibGeoDecomp::SimpleFilter< CELL, MEMBER, EXTERNAL >::load ( const EXTERNAL &  source,
MEMBER *  target 
) [pure virtual]
template<typename CELL, typename MEMBER, typename EXTERNAL>
virtual void LibGeoDecomp::SimpleFilter< CELL, MEMBER, EXTERNAL >::save ( const MEMBER &  source,
EXTERNAL *  target 
) [pure virtual]

Friends And Related Function Documentation

template<typename CELL, typename MEMBER, typename EXTERNAL>
friend class Serialization [friend]

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