Relation5< Target, R1, R2, R3, R4, R5, RelationFunctor > Class Template Reference

Relation5 is a template used to construct relations that depend on five additional fields (e.g., a = b + c + d + e + f). More...

#include <Relations.h>

Inheritance diagram for Relation5< Target, R1, R2, R3, R4, R5, RelationFunctor >:

Inheritance graph
[legend]
Collaboration diagram for Relation5< Target, R1, R2, R3, R4, R5, RelationFunctor >:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 Relation5 (const Target &t, const R1 &r1, const R2 &r2, const R3 &r3, const R4 &r4, const R5 &r5, const RelationFunctor &f)
 ~Relation5 ()
void apply ()
virtual RelationListItemretarget (const Target &target) const

Protected Attributes

R1 r1_m
R2 r2_m
R3 r3_m
R4 r4_m
R5 r5_m


Detailed Description

template<class Target, class R1, class R2, class R3, class R4, class R5, class RelationFunctor>
class Relation5< Target, R1, R2, R3, R4, R5, RelationFunctor >

Relation5 is a template used to construct relations that depend on five additional fields (e.g., a = b + c + d + e + f).

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, class R3, class R4, class R5> RelationFunctor(const L &, const R1 &, const R2 &, const R3 &, const R4 &, const R5 &, const RelationFunctor &)

and the member function

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

where L, R1, R2, R3, R4, and R5 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 R3, class R4, class R5, class RelationFunctor>
Relation5< Target, R1, R2, R3, R4, R5, RelationFunctor >::Relation5 ( const Target &  t,
const R1 &  r1,
const R2 &  r2,
const R3 &  r3,
const R4 &  r4,
const R5 &  r5,
const RelationFunctor &  f 
) [inline]

template<class Target, class R1, class R2, class R3, class R4, class R5, class RelationFunctor>
Relation5< Target, R1, R2, R3, R4, R5, RelationFunctor >::~Relation5 (  )  [inline]


Member Function Documentation

template<class Target, class R1, class R2, class R3, class R4, class R5, class RelationFunctor>
void Relation5< Target, R1, R2, R3, R4, R5, RelationFunctor >::apply (  )  [inline, virtual]

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


Member Data Documentation

template<class Target, class R1, class R2, class R3, class R4, class R5, class RelationFunctor>
R1 Relation5< Target, R1, R2, R3, R4, R5, RelationFunctor >::r1_m [protected]

template<class Target, class R1, class R2, class R3, class R4, class R5, class RelationFunctor>
R2 Relation5< Target, R1, R2, R3, R4, R5, RelationFunctor >::r2_m [protected]

template<class Target, class R1, class R2, class R3, class R4, class R5, class RelationFunctor>
R3 Relation5< Target, R1, R2, R3, R4, R5, RelationFunctor >::r3_m [protected]

template<class Target, class R1, class R2, class R3, class R4, class R5, class RelationFunctor>
R4 Relation5< Target, R1, R2, R3, R4, R5, RelationFunctor >::r4_m [protected]

template<class Target, class R1, class R2, class R3, class R4, class R5, class RelationFunctor>
R5 Relation5< Target, R1, R2, R3, R4, R5, RelationFunctor >::r5_m [protected]


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

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