Skip to content

Remove FunctionArgs... from various parallel algorithms like ParallelFor or Grid:forAllEntity etc.

Various parallel algortihms like TNL::Algorithms::ParallelFor, TNL::Meshes::Grid::forAllEntities use variadic templates to allow passing user defined data into lambda functions used with these algorithms. This does not make sense since all user data can be captured automaticaly by the lambda function. However, nvcc seems to have problems with embedded lambda functions and variadic templates is an efficient workaround in such situation. We should check this better and once the embedded lambda functions works well even with nvcc but also hip and other compilers, we should avoid such use of the variadic templates.