Commit a0784e28 authored by Jakub Klinkovský's avatar Jakub Klinkovský
Browse files

Fixed constness of reader in MeshTypeResolver

parent d0197052
Loading
Loading
Loading
Loading
+10 −10
Original line number Diff line number Diff line
@@ -26,12 +26,12 @@ class GridTypeResolver
{
public:

   static bool run( Reader& reader,
   static bool run( const Reader& reader,
                    ProblemSetterArgs&&... problemSetterArgs );

protected:

   static bool resolveGridDimension( Reader& reader,
   static bool resolveGridDimension( const Reader& reader,
                                     ProblemSetterArgs&&... problemSetterArgs );

   // NOTE: We could disable the grids only by the GridTag, but doing the
@@ -42,13 +42,13 @@ protected:
   template< int MeshDimension,
             typename = typename std::enable_if< ! BuildConfigTags::GridDimensionTag< ConfigTag, MeshDimension >::enabled >::type,
             typename = void >
   static bool resolveReal( Reader& reader,
   static bool resolveReal( const Reader& reader,
                            ProblemSetterArgs&&... problemSetterArgs );

   // Overload for enabled grid dimensions
   template< int MeshDimension,
             typename = typename std::enable_if< BuildConfigTags::GridDimensionTag< ConfigTag, MeshDimension >::enabled >::type >
   static bool resolveReal( Reader& reader,
   static bool resolveReal( const Reader& reader,
                            ProblemSetterArgs&&... problemSetterArgs );

   // Overload for disabled real types
@@ -56,14 +56,14 @@ protected:
             typename Real,
             typename = typename std::enable_if< ! BuildConfigTags::GridRealTag< ConfigTag, Real >::enabled >::type,
             typename = void >
   static bool resolveIndex( Reader& reader,
   static bool resolveIndex( const Reader& reader,
                             ProblemSetterArgs&&... problemSetterArgs );

   // Overload for enabled real types
   template< int MeshDimension,
             typename Real,
             typename = typename std::enable_if< BuildConfigTags::GridRealTag< ConfigTag, Real >::enabled >::type >
   static bool resolveIndex( Reader& reader,
   static bool resolveIndex( const Reader& reader,
                             ProblemSetterArgs&&... problemSetterArgs );

   // Overload for disabled index types
@@ -72,7 +72,7 @@ protected:
             typename Index,
             typename = typename std::enable_if< ! BuildConfigTags::GridIndexTag< ConfigTag, Index >::enabled >::type,
             typename = void >
   static bool resolveGridType( Reader& reader,
   static bool resolveGridType( const Reader& reader,
                                ProblemSetterArgs&&... problemSetterArgs );

   // Overload for enabled index types
@@ -80,20 +80,20 @@ protected:
             typename Real,
             typename Index,
             typename = typename std::enable_if< BuildConfigTags::GridIndexTag< ConfigTag, Index >::enabled >::type >
   static bool resolveGridType( Reader& reader,
   static bool resolveGridType( const Reader& reader,
                                ProblemSetterArgs&&... problemSetterArgs );

   // Overload for disabled grid types
   template< typename GridType,
             typename = typename std::enable_if< ! BuildConfigTags::GridTag< ConfigTag, GridType >::enabled >::type,
             typename = void >
   static bool resolveTerminate( Reader& reader,
   static bool resolveTerminate( const Reader& reader,
                                 ProblemSetterArgs&&... problemSetterArgs );

   // Overload for enabled grid types
   template< typename GridType,
             typename = typename std::enable_if< BuildConfigTags::GridTag< ConfigTag, GridType >::enabled >::type >
   static bool resolveTerminate( Reader& reader,
   static bool resolveTerminate( const Reader& reader,
                                 ProblemSetterArgs&&... problemSetterArgs );
};

+10 −10
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@ template< typename Reader,
          typename... ProblemSetterArgs >
bool
GridTypeResolver< Reader, ConfigTag, Device, ProblemSetter, ProblemSetterArgs... >::
run( Reader& reader,
run( const Reader& reader,
     ProblemSetterArgs&&... problemSetterArgs )
{
   return resolveGridDimension( reader, std::forward<ProblemSetterArgs>(problemSetterArgs)... );
@@ -39,7 +39,7 @@ template< typename Reader,
          typename... ProblemSetterArgs >
bool
GridTypeResolver< Reader, ConfigTag, Device, ProblemSetter, ProblemSetterArgs... >::
resolveGridDimension( Reader& reader,
resolveGridDimension( const Reader& reader,
                      ProblemSetterArgs&&... problemSetterArgs )
{
   if( reader.getMeshDimension() == 1 )
@@ -61,7 +61,7 @@ template< typename Reader,
             typename, typename >
bool
GridTypeResolver< Reader, ConfigTag, Device, ProblemSetter, ProblemSetterArgs... >::
resolveReal( Reader& reader,
resolveReal( const Reader& reader,
             ProblemSetterArgs&&... problemSetterArgs )
{
   std::cerr << "The grid dimension " << MeshDimension << " is disabled in the build configuration." << std::endl;
@@ -77,7 +77,7 @@ template< typename Reader,
             typename >
bool
GridTypeResolver< Reader, ConfigTag, Device, ProblemSetter, ProblemSetterArgs... >::
resolveReal( Reader& reader,
resolveReal( const Reader& reader,
             ProblemSetterArgs&&... problemSetterArgs )
{
   if( reader.getRealType() == "float" )
@@ -100,7 +100,7 @@ template< typename Reader,
             typename, typename >
bool
GridTypeResolver< Reader, ConfigTag, Device, ProblemSetter, ProblemSetterArgs... >::
resolveIndex( Reader& reader,
resolveIndex( const Reader& reader,
              ProblemSetterArgs&&... problemSetterArgs )
{
   std::cerr << "The grid real type " << getType< Real >() << " is disabled in the build configuration." << std::endl;
@@ -117,7 +117,7 @@ template< typename Reader,
             typename >
bool
GridTypeResolver< Reader, ConfigTag, Device, ProblemSetter, ProblemSetterArgs... >::
resolveIndex( Reader& reader,
resolveIndex( const Reader& reader,
              ProblemSetterArgs&&... problemSetterArgs )
{
   if( reader.getGlobalIndexType() == "short int" )
@@ -141,7 +141,7 @@ template< typename Reader,
             typename, typename >
bool
GridTypeResolver< Reader, ConfigTag, Device, ProblemSetter, ProblemSetterArgs... >::
resolveGridType( Reader& reader,
resolveGridType( const Reader& reader,
                 ProblemSetterArgs&&... problemSetterArgs )
{
   std::cerr << "The grid index type " << getType< Index >() << " is disabled in the build configuration." << std::endl;
@@ -159,7 +159,7 @@ template< typename Reader,
             typename >
bool
GridTypeResolver< Reader, ConfigTag, Device, ProblemSetter, ProblemSetterArgs... >::
resolveGridType( Reader& reader,
resolveGridType( const Reader& reader,
                 ProblemSetterArgs&&... problemSetterArgs )
{
   using GridType = Meshes::Grid< MeshDimension, Real, Device, Index >;
@@ -175,7 +175,7 @@ template< typename Reader,
             typename, typename >
bool
GridTypeResolver< Reader, ConfigTag, Device, ProblemSetter, ProblemSetterArgs... >::
resolveTerminate( Reader& reader,
resolveTerminate( const Reader& reader,
                  ProblemSetterArgs&&... problemSetterArgs )
{
   std::cerr << "The mesh type " << TNL::getType< GridType >() << " is disabled in the build configuration." << std::endl;
@@ -191,7 +191,7 @@ template< typename Reader,
             typename >
bool
GridTypeResolver< Reader, ConfigTag, Device, ProblemSetter, ProblemSetterArgs... >::
resolveTerminate( Reader& reader,
resolveTerminate( const Reader& reader,
                  ProblemSetterArgs&&... problemSetterArgs )
{
   return ProblemSetter< GridType >::run( std::forward<ProblemSetterArgs>(problemSetterArgs)... );
+16 −16
Original line number Diff line number Diff line
@@ -26,12 +26,12 @@ class MeshTypeResolver
{
public:

   static bool run( Reader& reader,
   static bool run( const Reader& reader,
                    ProblemSetterArgs&&... problemSetterArgs );

protected:

   static bool resolveCellTopology( Reader& reader,
   static bool resolveCellTopology( const Reader& reader,
                                    ProblemSetterArgs&&... problemSetterArgs );

   // NOTE: We could disable the meshes only by the MeshTag, but doing the
@@ -42,13 +42,13 @@ protected:
   template< typename CellTopology,
             typename = typename std::enable_if< ! BuildConfigTags::MeshCellTopologyTag< ConfigTag, CellTopology >::enabled >::type,
             typename = void >
   static bool resolveWorldDimension( Reader& reader,
   static bool resolveWorldDimension( const Reader& reader,
                                      ProblemSetterArgs&&... problemSetterArgs );

   // Overload for enabled cell topologies
   template< typename CellTopology,
             typename = typename std::enable_if< BuildConfigTags::MeshCellTopologyTag< ConfigTag, CellTopology >::enabled >::type >
   static bool resolveWorldDimension( Reader& reader,
   static bool resolveWorldDimension( const Reader& reader,
                                      ProblemSetterArgs&&... problemSetterArgs );

   // Overload for disabled world dimensions
@@ -56,14 +56,14 @@ protected:
             int WorldDimension,
             typename = typename std::enable_if< ! BuildConfigTags::MeshWorldDimensionTag< ConfigTag, CellTopology, WorldDimension >::enabled >::type,
             typename = void >
   static bool resolveReal( Reader& reader,
   static bool resolveReal( const Reader& reader,
                            ProblemSetterArgs&&... problemSetterArgs );

   // Overload for enabled world dimensions
   template< typename CellTopology,
             int WorldDimension,
             typename = typename std::enable_if< BuildConfigTags::MeshWorldDimensionTag< ConfigTag, CellTopology, WorldDimension >::enabled >::type >
   static bool resolveReal( Reader& reader,
   static bool resolveReal( const Reader& reader,
                            ProblemSetterArgs&&... problemSetterArgs );

   // Overload for disabled real types
@@ -72,7 +72,7 @@ protected:
             typename Real,
             typename = typename std::enable_if< ! BuildConfigTags::MeshRealTag< ConfigTag, Real >::enabled >::type,
             typename = void >
   static bool resolveGlobalIndex( Reader& reader,
   static bool resolveGlobalIndex( const Reader& reader,
                                   ProblemSetterArgs&&... problemSetterArgs );

   // Overload for enabled real types
@@ -80,7 +80,7 @@ protected:
             int WorldDimension,
             typename Real,
             typename = typename std::enable_if< BuildConfigTags::MeshRealTag< ConfigTag, Real >::enabled >::type >
   static bool resolveGlobalIndex( Reader& reader,
   static bool resolveGlobalIndex( const Reader& reader,
                                   ProblemSetterArgs&&... problemSetterArgs );

   // Overload for disabled global index types
@@ -90,7 +90,7 @@ protected:
             typename GlobalIndex,
             typename = typename std::enable_if< ! BuildConfigTags::MeshGlobalIndexTag< ConfigTag, GlobalIndex >::enabled >::type,
             typename = void >
   static bool resolveLocalIndex( Reader& reader,
   static bool resolveLocalIndex( const Reader& reader,
                                  ProblemSetterArgs&&... problemSetterArgs );

   // Overload for enabled global index types
@@ -99,7 +99,7 @@ protected:
             typename Real,
             typename GlobalIndex,
             typename = typename std::enable_if< BuildConfigTags::MeshGlobalIndexTag< ConfigTag, GlobalIndex >::enabled >::type >
   static bool resolveLocalIndex( Reader& reader,
   static bool resolveLocalIndex( const Reader& reader,
                                  ProblemSetterArgs&&... problemSetterArgs );

   // Overload for disabled local index types
@@ -110,7 +110,7 @@ protected:
             typename LocalIndex,
             typename = typename std::enable_if< ! BuildConfigTags::MeshLocalIndexTag< ConfigTag, LocalIndex >::enabled >::type,
             typename = void >
   static bool resolveId( Reader& reader,
   static bool resolveId( const Reader& reader,
                          ProblemSetterArgs&&... problemSetterArgs );

   // Overload for enabled local index types
@@ -120,7 +120,7 @@ protected:
             typename GlobalIndex,
             typename LocalIndex,
             typename = typename std::enable_if< BuildConfigTags::MeshLocalIndexTag< ConfigTag, LocalIndex >::enabled >::type >
   static bool resolveId( Reader& reader,
   static bool resolveId( const Reader& reader,
                          ProblemSetterArgs&&... problemSetterArgs );

   // Overload for disabled id types
@@ -132,7 +132,7 @@ protected:
             typename Id,
             typename = typename std::enable_if< ! BuildConfigTags::MeshIdTag< ConfigTag, GlobalIndex, Id >::enabled >::type,
             typename = void >
   static bool resolveMeshType( Reader& reader,
   static bool resolveMeshType( const Reader& reader,
                                ProblemSetterArgs&&... problemSetterArgs );

   // Overload for enabled id types
@@ -143,7 +143,7 @@ protected:
             typename LocalIndex,
             typename Id,
             typename = typename std::enable_if< BuildConfigTags::MeshIdTag< ConfigTag, GlobalIndex, Id >::enabled >::type >
   static bool resolveMeshType( Reader& reader,
   static bool resolveMeshType( const Reader& reader,
                                ProblemSetterArgs&&... problemSetterArgs );

   // Overload for disabled mesh types
@@ -159,7 +159,7 @@ protected:
                                                                             typename MeshConfig::IdType
                                                                           >::enabled >::type,
             typename = void >
   static bool resolveTerminate( Reader& reader,
   static bool resolveTerminate( const Reader& reader,
                                 ProblemSetterArgs&&... problemSetterArgs );

   // Overload for enabled mesh types
@@ -174,7 +174,7 @@ protected:
                                                                             typename MeshConfig::LocalIndexType,
                                                                             typename MeshConfig::IdType
                                                                           >::enabled >::type >
   static bool resolveTerminate( Reader& reader,
   static bool resolveTerminate( const Reader& reader,
                                 ProblemSetterArgs&&... problemSetterArgs );
};

+16 −16
Original line number Diff line number Diff line
@@ -27,7 +27,7 @@ template< typename Reader,
          typename... ProblemSetterArgs >
bool
MeshTypeResolver< Reader, ConfigTag, Device, ProblemSetter, ProblemSetterArgs... >::
run( Reader& reader,
run( const Reader& reader,
     ProblemSetterArgs&&... problemSetterArgs )
{
   return resolveCellTopology( reader, std::forward<ProblemSetterArgs>(problemSetterArgs)... );
@@ -40,7 +40,7 @@ template< typename Reader,
          typename... ProblemSetterArgs >
bool
MeshTypeResolver< Reader, ConfigTag, Device, ProblemSetter, ProblemSetterArgs... >::
resolveCellTopology( Reader& reader,
resolveCellTopology( const Reader& reader,
                     ProblemSetterArgs&&... problemSetterArgs )
{
   using Readers::EntityShape;
@@ -71,7 +71,7 @@ template< typename Reader,
             typename, typename >
bool
MeshTypeResolver< Reader, ConfigTag, Device, ProblemSetter, ProblemSetterArgs... >::
resolveWorldDimension( Reader& reader,
resolveWorldDimension( const Reader& reader,
                       ProblemSetterArgs&&... problemSetterArgs )
{
   std::cerr << "The cell topology " << CellTopology::getType() << " is disabled in the build configuration." << std::endl;
@@ -87,7 +87,7 @@ template< typename Reader,
             typename >
bool
MeshTypeResolver< Reader, ConfigTag, Device, ProblemSetter, ProblemSetterArgs... >::
resolveWorldDimension( Reader& reader,
resolveWorldDimension( const Reader& reader,
                       ProblemSetterArgs&&... problemSetterArgs )
{
   switch( reader.getWorldDimension() )
@@ -114,7 +114,7 @@ template< typename Reader,
             typename, typename >
bool
MeshTypeResolver< Reader, ConfigTag, Device, ProblemSetter, ProblemSetterArgs... >::
resolveReal( Reader& reader,
resolveReal( const Reader& reader,
             ProblemSetterArgs&&... problemSetterArgs )
{
   std::cerr << "The combination of world dimension (" << WorldDimension
@@ -133,7 +133,7 @@ template< typename Reader,
             typename >
bool
MeshTypeResolver< Reader, ConfigTag, Device, ProblemSetter, ProblemSetterArgs... >::
resolveReal( Reader& reader,
resolveReal( const Reader& reader,
             ProblemSetterArgs&&... problemSetterArgs )
{
   if( reader.getRealType() == "float" )
@@ -157,7 +157,7 @@ template< typename Reader,
             typename, typename >
bool
MeshTypeResolver< Reader, ConfigTag, Device, ProblemSetter, ProblemSetterArgs... >::
resolveGlobalIndex( Reader& reader,
resolveGlobalIndex( const Reader& reader,
                    ProblemSetterArgs&&... problemSetterArgs )
{
   std::cerr << "The mesh real type " << getType< Real >() << " is disabled in the build configuration." << std::endl;
@@ -175,7 +175,7 @@ template< typename Reader,
             typename >
bool
MeshTypeResolver< Reader, ConfigTag, Device, ProblemSetter, ProblemSetterArgs... >::
resolveGlobalIndex( Reader& reader,
resolveGlobalIndex( const Reader& reader,
                    ProblemSetterArgs&&... problemSetterArgs )
{
   if( reader.getGlobalIndexType() == "short int" )
@@ -200,7 +200,7 @@ template< typename Reader,
             typename, typename >
bool
MeshTypeResolver< Reader, ConfigTag, Device, ProblemSetter, ProblemSetterArgs... >::
resolveLocalIndex( Reader& reader,
resolveLocalIndex( const Reader& reader,
                   ProblemSetterArgs&&... problemSetterArgs )
{
   std::cerr << "The mesh global index type " << getType< GlobalIndex >() << " is disabled in the build configuration." << std::endl;
@@ -219,7 +219,7 @@ template< typename Reader,
             typename >
bool
MeshTypeResolver< Reader, ConfigTag, Device, ProblemSetter, ProblemSetterArgs... >::
resolveLocalIndex( Reader& reader,
resolveLocalIndex( const Reader& reader,
                   ProblemSetterArgs&&... problemSetterArgs )
{
   if( reader.getLocalIndexType() == "short int" )
@@ -245,7 +245,7 @@ template< typename Reader,
             typename, typename >
bool
MeshTypeResolver< Reader, ConfigTag, Device, ProblemSetter, ProblemSetterArgs... >::
resolveId( Reader& reader,
resolveId( const Reader& reader,
           ProblemSetterArgs&&... problemSetterArgs )
{
   std::cerr << "The mesh local index type " << getType< LocalIndex >() << " is disabled in the build configuration." << std::endl;
@@ -265,7 +265,7 @@ template< typename Reader,
             typename >
bool
MeshTypeResolver< Reader, ConfigTag, Device, ProblemSetter, ProblemSetterArgs... >::
resolveId( Reader& reader,
resolveId( const Reader& reader,
           ProblemSetterArgs&&... problemSetterArgs )
{
   if( reader.getIdType() == "short int" )
@@ -294,7 +294,7 @@ template< typename Reader,
             typename, typename >
bool
MeshTypeResolver< Reader, ConfigTag, Device, ProblemSetter, ProblemSetterArgs... >::
resolveMeshType( Reader& reader,
resolveMeshType( const Reader& reader,
                 ProblemSetterArgs&&... problemSetterArgs )
{
   std::cerr << "The mesh id type " << getType< Id >() << " is disabled in the build configuration." << std::endl;
@@ -315,7 +315,7 @@ template< typename Reader,
             typename >
bool
MeshTypeResolver< Reader, ConfigTag, Device, ProblemSetter, ProblemSetterArgs... >::
resolveMeshType( Reader& reader,
resolveMeshType( const Reader& reader,
                 ProblemSetterArgs&&... problemSetterArgs )
{
   using MeshConfig = typename BuildConfigTags::MeshConfigTemplateTag< ConfigTag >::template MeshConfig< CellTopology, WorldDimension, Real, GlobalIndex, LocalIndex, Id >;
@@ -331,7 +331,7 @@ template< typename Reader,
             typename, typename >
bool
MeshTypeResolver< Reader, ConfigTag, Device, ProblemSetter, ProblemSetterArgs... >::
resolveTerminate( Reader& reader,
resolveTerminate( const Reader& reader,
                  ProblemSetterArgs&&... problemSetterArgs )
{
   std::cerr << "The mesh config type " << TNL::getType< MeshConfig >() << " is disabled in the build configuration for device " << Device::getDeviceType() << "." << std::endl;
@@ -347,7 +347,7 @@ template< typename Reader,
             typename >
bool
MeshTypeResolver< Reader, ConfigTag, Device, ProblemSetter, ProblemSetterArgs... >::
resolveTerminate( Reader& reader,
resolveTerminate( const Reader& reader,
                  ProblemSetterArgs&&... problemSetterArgs )
{
   using MeshType = Meshes::Mesh< MeshConfig, Device >;