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

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

#include <Relations.h>

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

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

Collaboration graph
[legend]

List of all members.

Public Member Functions

 Relation6 (const Target &t, const R1 &r1, const R2 &r2, const R3 &r3, const R4 &r4, const R5 &r5, const R6 &r6, const RelationFunctor &f)
 ~Relation6 ()
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
R6 r6_m


Detailed Description

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

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

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

and the member function

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

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

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


Member Function Documentation

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

template<class Target, class R1, class R2, class R3, class R4, class R5, class R6, class RelationFunctor>
virtual RelationListItem* Relation6< Target, R1, R2, R3, R4, R5, R6, 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 R6, class RelationFunctor>
R1 Relation6< Target, R1, R2, R3, R4, R5, R6, RelationFunctor >::r1_m [protected]

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

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

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

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

template<class Target, class R1, class R2, class R3, class R4, class R5, class R6, class RelationFunctor>
R6 Relation6< Target, R1, R2, R3, R4, R5, R6, RelationFunctor >::r6_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