From 1c31eac955a47a63233c0e8b7e714c35c1c80cfe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jakub=20Klinkovsk=C3=BD?= <klinkovsky@mmg.fjfi.cvut.cz>
Date: Fri, 18 Oct 2019 15:05:44 +0200
Subject: [PATCH] Swapped template parameters for methods in Meshes::Traverser
 so that UserData can be deduced

---
 src/TNL/Meshes/MeshDetails/Traverser_impl.h | 36 +++++++++----------
 src/TNL/Meshes/Traverser.h                  | 40 ++++++++++-----------
 2 files changed, 38 insertions(+), 38 deletions(-)

diff --git a/src/TNL/Meshes/MeshDetails/Traverser_impl.h b/src/TNL/Meshes/MeshDetails/Traverser_impl.h
index 33832d4f10..b1d4233d9f 100644
--- a/src/TNL/Meshes/MeshDetails/Traverser_impl.h
+++ b/src/TNL/Meshes/MeshDetails/Traverser_impl.h
@@ -22,12 +22,12 @@ namespace Meshes {
 template< typename Mesh,
           typename MeshEntity,
           int EntitiesDimension >
-   template< typename UserData,
-             typename EntitiesProcessor >
+   template< typename EntitiesProcessor,
+             typename UserData >
 void
 Traverser< Mesh, MeshEntity, EntitiesDimension >::
 processBoundaryEntities( const MeshPointer& meshPointer,
-                         UserData& userData ) const
+                         UserData userData ) const
 {
    auto entitiesCount = meshPointer->template getBoundaryEntitiesCount< EntitiesDimension >();
 #ifdef HAVE_OPENMP
@@ -44,12 +44,12 @@ processBoundaryEntities( const MeshPointer& meshPointer,
 template< typename Mesh,
           typename MeshEntity,
           int EntitiesDimension >
-   template< typename UserData,
-             typename EntitiesProcessor >
+   template< typename EntitiesProcessor,
+             typename UserData >
 void
 Traverser< Mesh, MeshEntity, EntitiesDimension >::
 processInteriorEntities( const MeshPointer& meshPointer,
-                         UserData& userData ) const
+                         UserData userData ) const
 {
    auto entitiesCount = meshPointer->template getInteriorEntitiesCount< EntitiesDimension >();
 #ifdef HAVE_OPENMP
@@ -66,12 +66,12 @@ processInteriorEntities( const MeshPointer& meshPointer,
 template< typename Mesh,
           typename MeshEntity,
           int EntitiesDimension >
-   template< typename UserData,
-             typename EntitiesProcessor >
+   template< typename EntitiesProcessor,
+             typename UserData >
 void
 Traverser< Mesh, MeshEntity, EntitiesDimension >::
 processAllEntities( const MeshPointer& meshPointer,
-                    UserData& userData ) const
+                    UserData userData ) const
 {
    auto entitiesCount = meshPointer->template getEntitiesCount< EntitiesDimension >();
 #ifdef HAVE_OPENMP
@@ -149,12 +149,12 @@ MeshTraverserAllEntitiesKernel( const Mesh* mesh,
 template< typename MeshConfig,
           typename MeshEntity,
           int EntitiesDimension >
-   template< typename UserData,
-             typename EntitiesProcessor >
+   template< typename EntitiesProcessor,
+             typename UserData >
 void
 Traverser< Mesh< MeshConfig, Devices::Cuda >, MeshEntity, EntitiesDimension >::
 processBoundaryEntities( const MeshPointer& meshPointer,
-                         UserData& userData ) const
+                         UserData userData ) const
 {
 #ifdef HAVE_CUDA
    auto entitiesCount = meshPointer->template getBoundaryEntitiesCount< EntitiesDimension >();
@@ -180,12 +180,12 @@ processBoundaryEntities( const MeshPointer& meshPointer,
 template< typename MeshConfig,
           typename MeshEntity,
           int EntitiesDimension >
-   template< typename UserData,
-             typename EntitiesProcessor >
+   template< typename EntitiesProcessor,
+             typename UserData >
 void
 Traverser< Mesh< MeshConfig, Devices::Cuda >, MeshEntity, EntitiesDimension >::
 processInteriorEntities( const MeshPointer& meshPointer,
-                         UserData& userData ) const
+                         UserData userData ) const
 {
 #ifdef HAVE_CUDA
    auto entitiesCount = meshPointer->template getInteriorEntitiesCount< EntitiesDimension >();
@@ -211,12 +211,12 @@ processInteriorEntities( const MeshPointer& meshPointer,
 template< typename MeshConfig,
           typename MeshEntity,
           int EntitiesDimension >
-   template< typename UserData,
-             typename EntitiesProcessor >
+   template< typename EntitiesProcessor,
+             typename UserData >
 void
 Traverser< Mesh< MeshConfig, Devices::Cuda >, MeshEntity, EntitiesDimension >::
 processAllEntities( const MeshPointer& meshPointer,
-                    UserData& userData ) const
+                    UserData userData ) const
 {
 #ifdef HAVE_CUDA
    auto entitiesCount = meshPointer->template getEntitiesCount< EntitiesDimension >();
diff --git a/src/TNL/Meshes/Traverser.h b/src/TNL/Meshes/Traverser.h
index 017084ae8d..4cf7073860 100644
--- a/src/TNL/Meshes/Traverser.h
+++ b/src/TNL/Meshes/Traverser.h
@@ -23,23 +23,23 @@ class Traverser
 {
    public:
       using MeshType = Mesh;
-      using MeshPointer = Pointers::SharedPointer<  MeshType >;
+      using MeshPointer = Pointers::SharedPointer< MeshType >;
       using DeviceType = typename MeshType::DeviceType;
 
-      template< typename UserData,
-                typename EntitiesProcessor >
+      template< typename EntitiesProcessor,
+                typename UserData >
       void processBoundaryEntities( const MeshPointer& meshPointer,
-                                    UserData& userData ) const;
+                                    UserData userData ) const;
 
-      template< typename UserData,
-                typename EntitiesProcessor >
+      template< typename EntitiesProcessor,
+                typename UserData >
       void processInteriorEntities( const MeshPointer& meshPointer,
-                                    UserData& userData ) const;
+                                    UserData userData ) const;
 
-      template< typename UserData,
-                typename EntitiesProcessor >
+      template< typename EntitiesProcessor,
+                typename UserData >
       void processAllEntities( const MeshPointer& meshPointer,
-                               UserData& userData ) const;
+                               UserData userData ) const;
 };
 
 template< typename MeshConfig,
@@ -49,23 +49,23 @@ class Traverser< Mesh< MeshConfig, Devices::Cuda >, MeshEntity, EntitiesDimensio
 {
    public:
       using MeshType = Mesh< MeshConfig, Devices::Cuda >;
-      using MeshPointer = Pointers::SharedPointer<  MeshType >;
+      using MeshPointer = Pointers::SharedPointer< MeshType >;
       using DeviceType = typename MeshType::DeviceType;
 
-      template< typename UserData,
-                typename EntitiesProcessor >
+      template< typename EntitiesProcessor,
+                typename UserData >
       void processBoundaryEntities( const MeshPointer& meshPointer,
-                                       UserData& userData ) const;
+                                       UserData userData ) const;
 
-      template< typename UserData,
-                typename EntitiesProcessor >
+      template< typename EntitiesProcessor,
+                typename UserData >
       void processInteriorEntities( const MeshPointer& meshPointer,
-                                    UserData& userData ) const;
+                                    UserData userData ) const;
 
-      template< typename UserData,
-                typename EntitiesProcessor >
+      template< typename EntitiesProcessor,
+                typename UserData >
       void processAllEntities( const MeshPointer& meshPointer,
-                               UserData& userData ) const;
+                               UserData userData ) const;
 };
 
 } // namespace Meshes
-- 
GitLab