Engines
[Data object and container classes]

Engine related classes/files. More...

Collaboration diagram for Engines:


Files

file  BrickBase.h
 Base classes for Brick- & BrickView-like engines.
file  BrickEngine.h
 Brick & BrickView
  • tag classes used to select specializations of Engine.

file  CompressedFraction.h
 External functions that can be applied to any engine or container to answer questions about compression and to force compression or uncompression.
file  CompressibleBlock.h
 A CompressibleBlock (CBlock) manages a block of data that can be compressed to a single value.
file  CompressibleBrick.h
 CompressibleBrick engine.
file  ConstantFunctionEngine.h
 Constant-function-engine objects provide a way to make a scalar behave like an array.
file  DataObject.h
 Traits and tags necessary for dealing with the Smarts data object inside some engines.
file  DynamicEngine.h
 Dynamic Engine
file  Engine.h
 Engine
  • Engine<Dim,T,EngineTag> General Engine template.

file  EngineFunctor.h
 EngineFunctor provides a common interface to a variety of engine queries, like "are you compressed" or "are you shifted with respect to another engine".
file  EnginePatch.h
 Patch handling with engines:
  • EnginePatch, functor for getting the nth patch from an engine.

file  EngineTypeInfo.h
 Undocumented.
file  ExpressionEngine.h
 Engine<Dim,T,ExpressionTag<Expr> > (aka Expression-Engine) is the engine that contains a PETE expression and provides all the Array interfaces for it.
file  ForwardingEngine.h
 A ForwardingEngine is used to forward indices to the elements of another engine.
file  IndexFunctionEngine.h
 Index-function-engine objects provide a way to make a function of indices work like an array.
file  IndirectionEngine.h
 Work in progress!
file  IntersectEngine.h
 IntersectEngine provides a common interface for applying the intersector object to various engines.
file  Intersector.h
 Managing intersections of engines:
  • Intersector class for managing intersections of engines.

file  IsValidLocation.h
 helper functions to determine if a particular location or region of a object is defined.
file  MultiPatchEngine.h
 MultiPatch engine:
  • MultiPatch & MultiPatchView tag classes used to select specializations of Engine
  • Engine<Dim,T,MultiPatch> an Engine that manages data stored in an array of PatchEngines.

file  NotifyEngineWrite.h
 NotifyEngineWrite is a general wrapper class that is used to tell an engine that we're going to write to it.
file  RemoteDynamicEngine.h
 A wrapper engine that remotifies an Engine<1, T, Dynamic>.
file  RemoteEngine.h
 Remote engine support.
file  Stencil.h
 Stencil objects are a way to build an object which applies a stencil to an array, and returns a new Array for the expression.
file  UserFunction.h
 UserFunction objects are a way to build an object which applies a function to an Array, and returns a new Array for the expression.
file  ViewEngine.h
 Generalized view engine that can handle intersections for contained multi-patch engines.

Detailed Description

Engine related classes/files.

Engines provide the storage for Arrays and Fields and handle domain decomposition, taking sub-views and accessing components transparently by providing a common interface to their users.

Engine are usually defined recursively. Engines categorize into engines allocating storage for data, engines that provide access to computed data and engines providing modified access to other engines.

For the first category, the storage engines, the following are available:

For the second category, the computation engines, the following are available:

For the second category the most important engine types include:

Views of Engines can be constructed by using the NewEngine<> traits class which takes the to be viewed engine type and the subsetting domain type as template parameters. NewEngine<> then defines the type of the ViewEngine as Type_t typedef member.

FIXME: Introduce NewEngineEngine<>, NewEngineDomain<> and newEngineEngine() and newEngineDomain() with their concepts.


Generated on Wed Mar 16 06:19:38 2011 for FreePOOMA by  doxygen 1.5.9