FreePOOMA  2.4.1
Classes
LoopApply.h File Reference

LoopApplyEvaluator is a simple class that wraps a set of 7 functions that provide efficient loops over Interval<Dim> type domains and call operator() with the integers on a user provided functor. More...

#include "Utilities/WrappedInt.h"
#include "Utilities/PAssert.h"
Include dependency graph for LoopApply.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  LoopApplyEvaluator

Detailed Description

LoopApplyEvaluator is a simple class that wraps a set of 7 functions that provide efficient loops over Interval<Dim> type domains and call operator() with the integers on a user provided functor.

For example, calling:

LoopApplyEvaluator::evaluate(op, Interval<2>(2, 2));

would cause the following statements to be performed:

 op(0, 0);
 op(0, 1);
 op(1, 0);
 op(1, 1);
 

This class is sufficiently general that we could rewrite the InlineEvaluator class using the LoopApplyEvaluator by writing a functor op(i, j) that evaluates equationOp(lhs(i, j), rhs(i, j)); For now, we are using this evaluator to serialize engines and in the ExtendedPatchEvaluator which evaluates user's scalar code inside the op(i, j);