FreePOOMA  2.4.1
Classes
MultiArgEvaluator.h File Reference

MultiArgEvaluator is an evaluator that takes a MultiArg object. More...

#include "Engine/Intersector.h"
#include "Evaluator/MultiArgKernel.h"
#include "Evaluator/SimpleIntersector.h"
#include "Evaluator/ScalarCodeInfo.h"
#include "Utilities/PerformUpdate.h"
Include dependency graph for MultiArgEvaluator.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  MultiArgEvaluator< EvalTag >
 Implements: MultiArgEvaluator<MainEvaluatorTag>::evaluate (multiArg, function, domain, kernel) More...
struct  EngineWriteNotifier
struct  UpdateNotifier
struct  MultiArgEvaluator< MainEvaluatorTag >
struct  MultiArgEvaluator< SinglePatchEvaluatorTag >
struct  MultiArgEvaluator< MultiPatchEvaluatorTag >
struct  MultiArgEvaluator< RemoteSinglePatchEvaluatorTag >
struct  MultiArgEvaluator< RemoteMultiPatchEvaluatorTag >
struct  MultiArgEvaluatorTag< MultiArg1< A1 > >
struct  MultiArgEvaluatorTag< MultiArg2< A1, A2 > >
struct  MultiArgEvaluatorTag< MultiArg3< A1, A2, A3 > >
struct  MultiArgEvaluatorTag< MultiArg4< A1, A2, A3, A4 > >
struct  MultiArgEvaluatorTag< MultiArg5< A1, A2, A3, A4, A5 > >
struct  MultiArgEvaluatorTag< MultiArg6< A1, A2, A3, A4, A5, A6 > >
struct  MultiArgEvaluatorTag< MultiArg7< A1, A2, A3, A4, A5, A6, A7 > >
struct  LeafFunctor< MultiArg1< A1 >, ExpressionApply< Tag > >
struct  LeafFunctor< MultiArg1< A1 >, EngineView< Tag > >
struct  LeafFunctor< MultiArg2< A1, A2 >, ExpressionApply< Tag > >
struct  LeafFunctor< MultiArg2< A1, A2 >, EngineView< Tag > >
struct  LeafFunctor< MultiArg3< A1, A2, A3 >, ExpressionApply< Tag > >
struct  LeafFunctor< MultiArg3< A1, A2, A3 >, EngineView< Tag > >
struct  LeafFunctor< MultiArg4< A1, A2, A3, A4 >, ExpressionApply< Tag > >
struct  LeafFunctor< MultiArg4< A1, A2, A3, A4 >, EngineView< Tag > >
struct  LeafFunctor< MultiArg5< A1, A2, A3, A4, A5 >, ExpressionApply< Tag > >
struct  LeafFunctor< MultiArg5< A1, A2, A3, A4, A5 >, EngineView< Tag > >
struct  LeafFunctor< MultiArg6< A1, A2, A3, A4, A5, A6 >, ExpressionApply< Tag > >
struct  LeafFunctor< MultiArg6< A1, A2, A3, A4, A5, A6 >, EngineView< Tag > >
struct  LeafFunctor< MultiArg7< A1, A2, A3, A4, A5, A6, A7 >, ExpressionApply< Tag > >
struct  LeafFunctor< MultiArg7< A1, A2, A3, A4, A5, A6, A7 >, EngineView< Tag > >

Detailed Description

MultiArgEvaluator is an evaluator that takes a MultiArg object.

Unlike previous evaluators, this evaluator is not limited to a set number of arguments. All you need to do is write a MultiArg object that packs the number of arguments you need. This evaluator takes a templated function object, so it is not restricted to the standard expression evaluation over a loop. Currently this evaluator is used to implement the ScalarCode evaluation, which allows users to write functions that operate on a point in a field and its neighbors and have the function applied to all points in the field.

This evaluator currently only works with conforming layouts.