ThunderEgg  1.0.0
ThunderEgg::Loop Class Reference

Dimension templated loops. More...

#include <Loops.h>

Static Public Member Functions

template<int start, int stop, typename T >
static void Unroll (T lambda)
 Unroll a fixed-length loop. More...
 
template<int D, typename T , typename A >
static void Nested (A start, A end, T lambda)
 Loop over a range of integer coordinates. More...
 
template<int D, typename V , typename T >
static void OverInteriorIndexes (const V &view, T lambda)
 Loop over all the interior coordinates of a view. More...
 
template<int D, typename V , typename T >
static void OverAllIndexes (const V &view, T lambda)
 Loop over all the coordinates of a view, including ghost cells. More...
 

Detailed Description

Dimension templated loops.

Member Function Documentation

◆ Nested()

template<int D, typename T , typename A >
static void ThunderEgg::Loop::Nested ( start,
end,
lambda 
)
inlinestatic

Loop over a range of integer coordinates.

Template Parameters
Dthe dimensions of the coordinates
Tlambda type
Acoordinate type
Parameters
startinitial coordinate
endfinal coordinate, inclusive
lambdathe lambda function to call each time

◆ OverAllIndexes()

template<int D, typename V , typename T >
static void ThunderEgg::Loop::OverAllIndexes ( const V &  view,
lambda 
)
inlinestatic

Loop over all the coordinates of a view, including ghost cells.

Template Parameters
Dthe dimension of the view
Vthe view type
Tthe lambda type
Parameters
viewthe view to loop over
lambdathe lambda function to call each time

◆ OverInteriorIndexes()

template<int D, typename V , typename T >
static void ThunderEgg::Loop::OverInteriorIndexes ( const V &  view,
lambda 
)
inlinestatic

Loop over all the interior coordinates of a view.

Template Parameters
Dthe dimension of the view
Vthe view type
Tthe lambda type
Parameters
viewthe view to loop over
lambdathe lambda function to call each time

◆ Unroll()

template<int start, int stop, typename T >
static void ThunderEgg::Loop::Unroll ( lambda)
inlinestatic

Unroll a fixed-length loop.

Template Parameters
startthe starting index
stopthe stopping index, inclusive
Tlambda type
Parameters
lambda

The documentation for this class was generated from the following file: