Loading src/TNL/Meshes/TypeResolver/GridTypeResolver.h +10 −10 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 ); }; Loading src/TNL/Meshes/TypeResolver/GridTypeResolver_impl.h +10 −10 Original line number Diff line number Diff line Loading @@ -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)... ); Loading @@ -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 ) Loading @@ -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; Loading @@ -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" ) Loading @@ -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; Loading @@ -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" ) Loading @@ -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; Loading @@ -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 >; Loading @@ -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; Loading @@ -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)... ); Loading src/TNL/Meshes/TypeResolver/MeshTypeResolver.h +16 −16 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 ); }; Loading src/TNL/Meshes/TypeResolver/MeshTypeResolver_impl.h +16 −16 Original line number Diff line number Diff line Loading @@ -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)... ); Loading @@ -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; Loading Loading @@ -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; Loading @@ -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() ) Loading @@ -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 Loading @@ -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" ) Loading @@ -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; Loading @@ -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" ) Loading @@ -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; Loading @@ -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" ) Loading @@ -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; Loading @@ -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" ) Loading Loading @@ -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; Loading @@ -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 >; Loading @@ -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; Loading @@ -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 >; Loading Loading
src/TNL/Meshes/TypeResolver/GridTypeResolver.h +10 −10 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 ); }; Loading
src/TNL/Meshes/TypeResolver/GridTypeResolver_impl.h +10 −10 Original line number Diff line number Diff line Loading @@ -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)... ); Loading @@ -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 ) Loading @@ -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; Loading @@ -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" ) Loading @@ -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; Loading @@ -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" ) Loading @@ -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; Loading @@ -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 >; Loading @@ -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; Loading @@ -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)... ); Loading
src/TNL/Meshes/TypeResolver/MeshTypeResolver.h +16 −16 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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 ); }; Loading
src/TNL/Meshes/TypeResolver/MeshTypeResolver_impl.h +16 −16 Original line number Diff line number Diff line Loading @@ -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)... ); Loading @@ -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; Loading Loading @@ -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; Loading @@ -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() ) Loading @@ -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 Loading @@ -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" ) Loading @@ -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; Loading @@ -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" ) Loading @@ -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; Loading @@ -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" ) Loading @@ -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; Loading @@ -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" ) Loading Loading @@ -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; Loading @@ -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 >; Loading @@ -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; Loading @@ -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 >; Loading