Skip to content
Snippets Groups Projects
Commit 9c60deb2 authored by Jakub Klinkovský's avatar Jakub Klinkovský
Browse files

Removed useless template specializations

parent 51b5852a
No related branches found
No related tags found
No related merge requests found
...@@ -386,124 +386,7 @@ private: ...@@ -386,124 +386,7 @@ private:
}; };
template< typename MeshConfig, // termination of recursive inheritance (everything is reduced to EntityStorage == false thanks to the WeakSubentityStorageTrait)
typename Device,
typename EntityTopology >
class MeshSubentityAccessLayer< MeshConfig,
Device,
EntityTopology,
Meshes::DimensionTag< EntityTopology::dimension >,
true,
true >
{
using DimensionTag = Meshes::DimensionTag< EntityTopology::dimension >;
protected:
/***
* Necessary because of 'using BaseType::...;' in the derived classes
*/
template< typename SubentityAccessorType >
__cuda_callable__
void bindSubentitiesStorageNetwork( DimensionTag,
const SubentityAccessorType& storage ) {}
__cuda_callable__
void getSubentitiesCount( DimensionTag ) const {}
template< typename LocalIndexType >
__cuda_callable__
void getSubentityIndex( DimensionTag,
const LocalIndexType localIndex ) const {}
template< typename LocalIndexType, typename GlobalIndexType >
__cuda_callable__
void setSubentityIndex( DimensionTag,
const LocalIndexType& localIndex,
const GlobalIndexType& globalIndex ) {}
__cuda_callable__
void getSubentityIndices() {}
template< typename LocalIndexType >
__cuda_callable__
void getSubentityOrientation( DimensionTag, LocalIndexType index) const {}
__cuda_callable__
void subentityOrientationsArray( DimensionTag ) {}
bool save( File& file ) const
{
return true;
}
bool load( File& file )
{
return true;
}
__cuda_callable__
bool operator==( const MeshSubentityAccessLayer& other ) const
{
return true;
}
void print( std::ostream& str ) const {}
};
template< typename MeshConfig,
typename Device,
typename EntityTopology >
class MeshSubentityAccessLayer< MeshConfig,
Device,
EntityTopology,
Meshes::DimensionTag< EntityTopology::dimension >,
true,
false >
{
using DimensionTag = Meshes::DimensionTag< EntityTopology::dimension >;
protected:
/***
* Necessary because of 'using BaseType::...;' in the derived classes
*/
template< typename SubentityAccessorType >
__cuda_callable__
void bindSubentitiesStorageNetwork( DimensionTag,
const SubentityAccessorType& storage ) {}
__cuda_callable__
void getSubentitiesCount( DimensionTag ) const {}
template< typename LocalIndexType >
__cuda_callable__
void getSubentityIndex( DimensionTag,
const LocalIndexType localIndex ) const {}
template< typename LocalIndexType, typename GlobalIndexType >
__cuda_callable__
void setSubentityIndex( DimensionTag,
const LocalIndexType& localIndex,
const GlobalIndexType& globalIndex ) {}
__cuda_callable__
void getSubentityIndices() {}
template< typename LocalIndexType >
__cuda_callable__
void getSubentityOrientation( DimensionTag, LocalIndexType index) const {}
__cuda_callable__
void subentityOrientationsArray( DimensionTag ) {}
bool save( File& file ) const
{
return true;
}
bool load( File& file )
{
return true;
}
__cuda_callable__
bool operator==( const MeshSubentityAccessLayer& other ) const
{
return true;
}
void print( std::ostream& str ) const {}
};
template< typename MeshConfig, template< typename MeshConfig,
typename Device, typename Device,
typename EntityTopology > typename EntityTopology >
......
...@@ -195,52 +195,7 @@ public: ...@@ -195,52 +195,7 @@ public:
{ return *this; } { return *this; }
}; };
// termination of recursive inheritance (everything is reduced to EntityStorage == false thanks to the WeakSubentityStorageTrait)
template< typename MeshConfig,
typename Device,
typename EntityTopology >
class MeshSubentityStorageLayer< MeshConfig,
Device,
EntityTopology,
DimensionTag< EntityTopology::dimension >,
true >
{
using SubdimensionTag = DimensionTag< EntityTopology::dimension >;
protected:
MeshSubentityStorageLayer() = default;
explicit MeshSubentityStorageLayer( const MeshSubentityStorageLayer& other ) {}
template< typename Device_ >
MeshSubentityStorageLayer( const MeshSubentityStorageLayer< MeshConfig, Device_, EntityTopology, SubdimensionTag >& other ) {}
template< typename Device_ >
MeshSubentityStorageLayer& operator=( const MeshSubentityStorageLayer< MeshConfig, Device_, EntityTopology, SubdimensionTag >& other ) { return *this; }
/****
* These methods are due to 'using BaseType::...;' in the derived classes.
*/
template< typename GlobalIndexType >
void setEntitiesCount( const GlobalIndexType& entitiesCount ) {}
void print( std::ostream& str ) const {}
bool operator==( const MeshSubentityStorageLayer& layer ) const
{
return true;
}
bool save( File& file ) const
{
return true;
}
bool load( File& file )
{
return true;
}
void getSubentityStorageNetwork( SubdimensionTag ) {}
};
template< typename MeshConfig, template< typename MeshConfig,
typename Device, typename Device,
typename EntityTopology > typename EntityTopology >
...@@ -253,6 +208,8 @@ class MeshSubentityStorageLayer< MeshConfig, ...@@ -253,6 +208,8 @@ class MeshSubentityStorageLayer< MeshConfig,
using SubdimensionTag = DimensionTag< EntityTopology::dimension >; using SubdimensionTag = DimensionTag< EntityTopology::dimension >;
protected: protected:
using GlobalIndexType = typename MeshConfig::GlobalIndexType;
MeshSubentityStorageLayer() = default; MeshSubentityStorageLayer() = default;
explicit MeshSubentityStorageLayer( const MeshSubentityStorageLayer& other ) {} explicit MeshSubentityStorageLayer( const MeshSubentityStorageLayer& other ) {}
template< typename Device_ > template< typename Device_ >
...@@ -260,11 +217,7 @@ protected: ...@@ -260,11 +217,7 @@ protected:
template< typename Device_ > template< typename Device_ >
MeshSubentityStorageLayer& operator=( const MeshSubentityStorageLayer< MeshConfig, Device_, EntityTopology, SubdimensionTag >& other ) { return *this; } MeshSubentityStorageLayer& operator=( const MeshSubentityStorageLayer< MeshConfig, Device_, EntityTopology, SubdimensionTag >& other ) { return *this; }
/**** void setEntitiesCount( GlobalIndexType entitiesCount ) {}
* These methods are due to 'using BaseType::...;' in the derived classes.
*/
template< typename GlobalIndexType >
void setEntitiesCount( const GlobalIndexType& entitiesCount ) {}
void print( std::ostream& str ) const {} void print( std::ostream& str ) const {}
......
...@@ -236,6 +236,7 @@ class MeshSuperentityAccessLayer< MeshConfig, ...@@ -236,6 +236,7 @@ class MeshSuperentityAccessLayer< MeshConfig,
{ {
}; };
// termination of recursive inheritance (everything is reduced to EntityStorage == false thanks to the WeakSuperentityStorageTrait)
template< typename MeshConfig, template< typename MeshConfig,
typename Device, typename Device,
typename EntityTopology > typename EntityTopology >
...@@ -282,51 +283,5 @@ protected: ...@@ -282,51 +283,5 @@ protected:
void print( std::ostream& str ) const {} void print( std::ostream& str ) const {}
}; };
template< typename MeshConfig,
typename Device,
typename EntityTopology >
class MeshSuperentityAccessLayer< MeshConfig,
Device,
EntityTopology,
Meshes::DimensionTag< EntityTopology::dimension >,
true >
{
using DimensionTag = Meshes::DimensionTag< EntityTopology::dimension >;
protected:
using GlobalIndexType = typename MeshConfig::GlobalIndexType;
using LocalIndexType = typename MeshConfig::LocalIndexType;
/***
* Necessary because of 'using BaseType::...;' in the derived classes
*/
template< typename SuperentityAccessorType >
__cuda_callable__
void bindSuperentitiesStorageNetwork( DimensionTag,
const SuperentityAccessorType& storage ) {}
__cuda_callable__
void setNumberOfSuperentities( DimensionTag,
const LocalIndexType size ) {}
__cuda_callable__
void getSuperentitiesCount( DimensionTag ) const {}
__cuda_callable__
void getSuperentityIndex( DimensionTag,
const LocalIndexType localIndex ) const {}
__cuda_callable__
void setSuperentityIndex( DimensionTag,
const LocalIndexType& localIndex,
const GlobalIndexType& globalIndex ) {}
__cuda_callable__
void getSuperentityIndices() {}
__cuda_callable__
bool operator==( const MeshSuperentityAccessLayer& other ) const
{
return true;
}
void print( std::ostream& str ) const {}
};
} // namespace Meshes } // namespace Meshes
} // namespace TNL } // namespace TNL
...@@ -191,6 +191,7 @@ public: ...@@ -191,6 +191,7 @@ public:
{ return *this; } { return *this; }
}; };
// termination of recursive inheritance (everything is reduced to EntityStorage == false thanks to the WeakSuperentityStorageTrait)
template< typename MeshConfig, template< typename MeshConfig,
typename Device, typename Device,
typename EntityTopology > typename EntityTopology >
...@@ -208,56 +209,7 @@ protected: ...@@ -208,56 +209,7 @@ protected:
template< typename Device_ > template< typename Device_ >
MeshSuperentityStorageLayer& operator=( const MeshSuperentityStorageLayer< MeshConfig, Device_, EntityTopology, SuperdimensionTag >& other ) { return *this; } MeshSuperentityStorageLayer& operator=( const MeshSuperentityStorageLayer< MeshConfig, Device_, EntityTopology, SuperdimensionTag >& other ) { return *this; }
/**** void setEntitiesCount( GlobalIndexType entitiesCount ) {}
* These methods are due to 'using BaseType::...;' in the derived classes.
*/
void setEntitiesCount( const GlobalIndexType& entitiesCount ) {}
void print( std::ostream& str ) const {}
bool operator==( const MeshSuperentityStorageLayer& layer ) const
{
return true;
}
bool save( File& file ) const
{
return true;
}
bool load( File& file )
{
return true;
}
void getSuperentityStorageNetwork( SuperdimensionTag ) {}
};
template< typename MeshConfig,
typename Device,
typename EntityTopology >
class MeshSuperentityStorageLayer< MeshConfig,
Device,
EntityTopology,
DimensionTag< EntityTopology::dimension >,
true >
{
using SuperdimensionTag = DimensionTag< EntityTopology::dimension >;
protected:
using GlobalIndexType = typename MeshConfig::GlobalIndexType;
MeshSuperentityStorageLayer() = default;
explicit MeshSuperentityStorageLayer( const MeshSuperentityStorageLayer& other ) {}
template< typename Device_ >
MeshSuperentityStorageLayer( const MeshSuperentityStorageLayer< MeshConfig, Device_, EntityTopology, SuperdimensionTag >& other ) {}
template< typename Device_ >
MeshSuperentityStorageLayer& operator=( const MeshSuperentityStorageLayer< MeshConfig, Device_, EntityTopology, SuperdimensionTag >& other ) { return *this; }
/****
* These methods are due to 'using BaseType::...;' in the derived classes.
*/
void setEntitiesCount( const GlobalIndexType& entitiesCount ) {}
void print( std::ostream& str ) const {} void print( std::ostream& str ) const {}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment