Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::LambdaRangeFunctorTVa< LambdaType, Views > Class Template Reference

Functor over an iteration interval instantiated via a lambda function. More...

#include </__w/arcaneframework.github.io/arcaneframework.github.io/framework/arccore/src/base/arccore/base/RangeFunctor.h>

Inheritance diagram for Arcane::LambdaRangeFunctorTVa< LambdaType, Views >:
Collaboration diagram for Arcane::LambdaRangeFunctorTVa< LambdaType, Views >:

Public Member Functions

 LambdaRangeFunctorTVa (Views... views, const LambdaType &lambda_function)
void executeFunctor (Integer begin, Integer size) override
 Executes the associated method.
Public Member Functions inherited from Arcane::IRangeFunctor
virtual ~IRangeFunctor ()=default
 Releases resources.

Private Member Functions

template<size_t... I>
void getSubView (std::tuple< Views... > &sub_views, Integer begin, Integer size, std::index_sequence< I... >)
 internal method to slice the views

Private Attributes

const LambdaType & m_lambda_function
std::tuple< Views... > m_views

Detailed Description

template<typename LambdaType, typename... Views>
class Arcane::LambdaRangeFunctorTVa< LambdaType, Views >

Functor over an iteration interval instantiated via a lambda function.

This class is used with the C++1x lambda function mechanism. It allows managing multiple views as parameters to the lambda

Definition at line 135 of file arccore/src/base/arccore/base/RangeFunctor.h.

Constructor & Destructor Documentation

◆ LambdaRangeFunctorTVa()

template<typename LambdaType, typename... Views>
Arcane::LambdaRangeFunctorTVa< LambdaType, Views >::LambdaRangeFunctorTVa ( Views... views,
const LambdaType & lambda_function )
inline

Member Function Documentation

◆ executeFunctor()

template<typename LambdaType, typename... Views>
void Arcane::LambdaRangeFunctorTVa< LambdaType, Views >::executeFunctor ( Integer begin,
Integer size )
inlineoverridevirtual

Executes the associated method.

Parameters
beginindex of the start of the iteration.
sizenumber of elements to iterate.

Implements Arcane::IRangeFunctor.

Definition at line 148 of file arccore/src/base/arccore/base/RangeFunctor.h.

References getSubView().

Here is the call graph for this function:

◆ getSubView()

template<typename LambdaType, typename... Views>
template<size_t... I>
void Arcane::LambdaRangeFunctorTVa< LambdaType, Views >::getSubView ( std::tuple< Views... > & sub_views,
Integer begin,
Integer size,
std::index_sequence< I... >  )
inlineprivate

internal method to slice the views

Definition at line 159 of file arccore/src/base/arccore/base/RangeFunctor.h.

Referenced by executeFunctor().

Here is the caller graph for this function:

Member Data Documentation

◆ m_lambda_function

template<typename LambdaType, typename... Views>
const LambdaType& Arcane::LambdaRangeFunctorTVa< LambdaType, Views >::m_lambda_function
private

◆ m_views

template<typename LambdaType, typename... Views>
std::tuple<Views...> Arcane::LambdaRangeFunctorTVa< LambdaType, Views >::m_views
private

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