Relation2< Target, R1, R2, RelationFunctor > Class Template Reference

Relation2 is a template used to construct relations that depend on two additional fields (e.g., a = b + c). More...

#include <Relations.h>

Inheritance diagram for Relation2< Target, R1, R2, RelationFunctor >:

Inheritance graph
[legend]
Collaboration diagram for Relation2< Target, R1, R2, RelationFunctor >:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 Relation2 (const Target &t, const R1 &r1, const R2 &r2, const RelationFunctor &f)
 ~Relation2 ()
void apply ()
virtual RelationListItemretarget (const Target &target) const

Protected Attributes

R1 r1_m
R2 r2_m


Detailed Description

template<class Target, class R1, class R2, class RelationFunctor>
class Relation2< Target, R1, R2, RelationFunctor >

Relation2 is a template used to construct relations that depend on two additional fields (e.g., a = b + c).

The Target must be a Field. The RelationFunctor must be Default Constructable and Assignable. In addition, it must provide the constructor

template<class L, class R1, class R2> RelationFunctor(const L &, const R1 &, const R2 &, const RelationFunctor &)

and the member function

template<class L, class R1, class R2> void operator()(const L &const R1 &, const R2 &) const

where L, R1, and R2 are Fields. The constructor should use the arguments to initialize itself and the function should apply the relation.


Constructor & Destructor Documentation

template<class Target, class R1, class R2, class RelationFunctor>
Relation2< Target, R1, R2, RelationFunctor >::Relation2 ( const Target &  t,
const R1 &  r1,
const R2 &  r2,
const RelationFunctor &  f 
) [inline]

template<class Target, class R1, class R2, class RelationFunctor>
Relation2< Target, R1, R2, RelationFunctor >::~Relation2 (  )  [inline]


Member Function Documentation

template<class Target, class R1, class R2, class RelationFunctor>
void Relation2< Target, R1, R2, RelationFunctor >::apply (  )  [inline, virtual]

template<class Target, class R1, class R2, class RelationFunctor>
virtual RelationListItem* Relation2< Target, R1, R2, RelationFunctor >::retarget ( const Target &  target  )  const [inline, virtual]


Member Data Documentation

template<class Target, class R1, class R2, class RelationFunctor>
R1 Relation2< Target, R1, R2, RelationFunctor >::r1_m [protected]

template<class Target, class R1, class R2, class RelationFunctor>
R2 Relation2< Target, R1, R2, RelationFunctor >::r2_m [protected]


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

Generated on Wed Mar 16 06:20:32 2011 for FreePOOMA by  doxygen 1.5.9