COOLFluiD  Release kernel
COOLFluiD is a Collaborative Simulation Environment (CSE) focused on complex MultiPhysics simulations.
Classes | Public Types | Public Member Functions | List of all members
IndexLooper< GrammarT >::impl< ExprT, StateT, DataT > Struct Template Reference

#include <IndexLooping.hpp>

Inherits transform_impl< ExprT, StateT, DataT >.

Classes

struct  EvalExpr
 
struct  InnerLoop
 
struct  OuterLoop
 
struct  OuterLoop< 1, 1, Dummy >
 

Public Types

typedef boost::result_of< HasIdx< 0 >ExprT)>::type HasIT
 True if index _i is used. More...
 
typedef boost::result_of< HasIdx< 1 >ExprT)>::type HasJT
 True if index _j is used. More...
 
typedef boost::mpl::int_< boost::remove_reference< DataT >::type::dimension > DimensionT
 Dimension of the problem. More...
 
typedef boost::mpl::if_< HasIT, DimensionT, boost::mpl::int_< 1 > >::type IterationsIT
 Number iterations over _i. More...
 
typedef boost::mpl::if_< HasJT, DimensionT, boost::mpl::int_< 1 > >::type IterationsJT
 Number iterations over _j. More...
 
typedef OuterLoop< IterationsIT::value, IterationsJT::value >::result_type result_type
 

Public Member Functions

result_type operator() (typename impl::expr_param expr, typename impl::state_param state, typename impl::data_param data) const
 

Detailed Description

template<template< typename, typename > class GrammarT>
template<typename ExprT, typename StateT, typename DataT>
struct cf3::solver::actions::Proto::IndexLooper< GrammarT >::impl< ExprT, StateT, DataT >

Definition at line 96 of file IndexLooping.hpp.

Member Typedef Documentation

typedef boost::mpl::int_<boost::remove_reference<DataT>::type::dimension> DimensionT

Dimension of the problem.

Definition at line 104 of file IndexLooping.hpp.

typedef boost::result_of<HasIdx<0>ExprT)>::type HasIT

True if index _i is used.

Definition at line 99 of file IndexLooping.hpp.

typedef boost::result_of<HasIdx<1>ExprT)>::type HasJT

True if index _j is used.

Definition at line 101 of file IndexLooping.hpp.

typedef boost::mpl::if_< HasIT, DimensionT, boost::mpl::int_<1> >::type IterationsIT

Number iterations over _i.

Definition at line 106 of file IndexLooping.hpp.

typedef boost::mpl::if_< HasJT, DimensionT, boost::mpl::int_<1> >::type IterationsJT

Number iterations over _j.

Definition at line 108 of file IndexLooping.hpp.

typedef OuterLoop<IterationsIT::value, IterationsJT::value>::result_type result_type

Definition at line 136 of file IndexLooping.hpp.

Member Function Documentation

result_type operator() ( typename impl< ExprT, StateT, DataT >::expr_param  expr,
typename impl< ExprT, StateT, DataT >::state_param  state,
typename impl< ExprT, StateT, DataT >::data_param  data 
) const
inline

Definition at line 138 of file IndexLooping.hpp.


The documentation for this struct was generated from the following file:
Send comments to:
COOLFluiD Web Admin