diff --git a/src/TNL/Meshes/GridDetails/NeighborGridEntitiesStorage.h b/src/TNL/Meshes/GridDetails/NeighborGridEntitiesStorage.h index 2bef7d8bdffbe4f797367af3ffb49af01fb47970..dd9562add377b02c3ab9ca91fa4804762182b46c 100644 --- a/src/TNL/Meshes/GridDetails/NeighborGridEntitiesStorage.h +++ b/src/TNL/Meshes/GridDetails/NeighborGridEntitiesStorage.h @@ -22,12 +22,7 @@ template< typename GridEntity, int NeighborEntityDimension, typename GridEntityConfig, bool storage = GridEntityConfig::template neighborEntityStorage< GridEntity >( NeighborEntityDimension ) > -class NeighborGridEntityLayer{}; - -template< typename GridEntity, - int NeighborEntityDimension, - typename GridEntityConfig > -class NeighborGridEntityLayer< GridEntity, NeighborEntityDimension, GridEntityConfig, true > +class NeighborGridEntityLayer : public NeighborGridEntityLayer< GridEntity, NeighborEntityDimension - 1, GridEntityConfig > { public: @@ -63,8 +58,9 @@ class NeighborGridEntityLayer< GridEntity, NeighborEntityDimension, GridEntityCo }; template< typename GridEntity, - typename GridEntityConfig > -class NeighborGridEntityLayer< GridEntity, 0, GridEntityConfig, true > + typename GridEntityConfig, + bool storage > +class NeighborGridEntityLayer< GridEntity, 0, GridEntityConfig, storage > { public: @@ -93,52 +89,6 @@ class NeighborGridEntityLayer< GridEntity, 0, GridEntityConfig, true > NeighborEntityGetterType neighborEntities; }; -template< typename GridEntity, - int NeighborEntityDimension, - typename GridEntityConfig > -class NeighborGridEntityLayer< GridEntity, NeighborEntityDimension, GridEntityConfig, false > -: public NeighborGridEntityLayer< GridEntity, NeighborEntityDimension - 1, GridEntityConfig > -{ - public: - - typedef NeighborGridEntityLayer< GridEntity, NeighborEntityDimension - 1, GridEntityConfig > BaseType; - typedef NeighborGridEntityGetter< GridEntity, NeighborEntityDimension > NeighborEntityGetterType; - - using BaseType::getNeighborEntities; - - __cuda_callable__ - NeighborGridEntityLayer( const GridEntity& entity ) - : BaseType( entity ) - {} - - __cuda_callable__ - const NeighborEntityGetterType& getNeighborEntities( const DimensionTag< NeighborEntityDimension >& tag ) const {} - - __cuda_callable__ - void refresh( const typename GridEntity::GridType& grid, - const typename GridEntity::GridType::IndexType& entityIndex ) {} -}; - -template< typename GridEntity, - typename GridEntityConfig > -class NeighborGridEntityLayer< GridEntity, 0, GridEntityConfig, false > -{ - public: - - typedef NeighborGridEntityGetter< GridEntity, 0 > NeighborEntityGetterType; - - __cuda_callable__ - NeighborGridEntityLayer( const GridEntity& entity ){} - - __cuda_callable__ - const NeighborEntityGetterType& getNeighborEntities( const DimensionTag< 0 >& tag ) const {} - - __cuda_callable__ - void refresh( const typename GridEntity::GridType& grid, - const typename GridEntity::GridType::IndexType& entityIndex ) {} -}; - - template< typename GridEntity,