12#ifndef ARCANE_UTILS_RANGEFUNCTOR_H
13#define ARCANE_UTILS_RANGEFUNCTOR_H
17#include "arcane/utils/IRangeFunctor.h"
31template<
typename InstanceType>
37 typedef void (InstanceType::*FunctionType)(Integer
i0,Integer size);
41 : m_instance(instance), m_function(function)
49 (m_instance->*m_function)(begin,size);
53 InstanceType* m_instance;
54 FunctionType m_function;
64template<
typename LambdaType>
78 m_lambda_function(begin,size);
92template<
int RankValue,
typename LambdaType>
122template<
typename LambdaType,
typename... Views>
128 : m_lambda_function(
lambda_function), m_views(std::forward_as_tuple(views...))
137 std::apply(m_lambda_function,
sub_views);
142 template <
size_t... I>
146 std::get<I>(std::forward<
decltype(m_views)>(m_views)).subView(begin,size)), ...);
151 std::tuple<
Views...> m_views;
Fonctions mathématiques diverses.
Interface d'un fonctor sur un interval d'itération multi-dimensionnel de dimension RankValue.
Interface d'un fonctor sur un interval d'itération.
Fonctor sur un interval d'itération instancié via une lambda fonction.
void executeFunctor(const ComplexForLoopRanges< RankValue > &loop_range) override
Exécute la méthode associée.
Fonctor sur un interval d'itération instancié via une lambda fonction.
void getSubView(std::tuple< Views... > &sub_views, Integer begin, Integer size, std::index_sequence< I... >)
méthode interne pour découper les vues
void executeFunctor(Integer begin, Integer size) override
Exécute la méthode associée.
Fonctor sur un interval d'itération instancié via une lambda fonction.
void executeFunctor(Integer begin, Integer size) override
Exécute la méthode associée.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Fonctor sur un interval d'itération.
virtual void executeFunctor(Integer begin, Integer size)
Exécute la méthode associée.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-