|
FreePOOMA
2.4.1
|
Relation3 is a template used to construct relations that depend on three additional fields (e.g., a = b + c + d). More...
#include <Relations.h>


Public Member Functions | |
| Relation3 (const Target &t, const R1 &r1, const R2 &r2, const R3 &r3, const RelationFunctor &f) | |
| ~Relation3 () | |
| void | apply () |
| virtual RelationListItem * | retarget (const Target &target) const |
Protected Attributes | |
| R1 | r1_m |
| R2 | r2_m |
| R3 | r3_m |
Relation3 is a template used to construct relations that depend on three additional fields (e.g., a = b + c + d).
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> RelationFunctor(const L &, const R1 &, const R2 &, const R3 &, const RelationFunctor &)
and the member function
template<class L, class R1, class R2, class R3> void operator()(const L &const R1 &, const R2 &, const R3 &) const
where L, R1, R2, and R3 are Fields. The constructor should use the arguments to initialize itself and the function should apply the relation.
| Relation3< Target, R1, R2, R3, RelationFunctor >::Relation3 | ( | const Target & | t, |
| const R1 & | r1, | ||
| const R2 & | r2, | ||
| const R3 & | r3, | ||
| const RelationFunctor & | f | ||
| ) | [inline] |
| Relation3< Target, R1, R2, R3, RelationFunctor >::~Relation3 | ( | ) | [inline] |
| void Relation3< Target, R1, R2, R3, RelationFunctor >::apply | ( | ) | [inline, virtual] |
Implements RelationListItem.
References RelationBase< Target, RelationFunctor >::functor_m, Relation3< Target, R1, R2, R3, RelationFunctor >::r1_m, Relation3< Target, R1, R2, R3, RelationFunctor >::r2_m, Relation3< Target, R1, R2, R3, RelationFunctor >::r3_m, and RelationRetargetBase< Target >::target_m.
| virtual RelationListItem* Relation3< Target, R1, R2, R3, RelationFunctor >::retarget | ( | const Target & | target | ) | const [inline, virtual] |
Implements RelationRetargetBase< Target >.
References RelationBase< Target, RelationFunctor >::functor_m, Relation3< Target, R1, R2, R3, RelationFunctor >::r1_m, Relation3< Target, R1, R2, R3, RelationFunctor >::r2_m, Relation3< Target, R1, R2, R3, RelationFunctor >::r3_m, and RelationRetargetBase< Target >::target().
1.7.6.1