diff --git a/dune/istl/novlpschwarz.hh b/dune/istl/novlpschwarz.hh index d5c5bc0e82222d3c6c84369ba31d3dba2ae8cfa0..722194c28fa3aad9ae368ceb80ef979f1c849582 100644 --- a/dune/istl/novlpschwarz.hh +++ b/dune/istl/novlpschwarz.hh @@ -250,7 +250,7 @@ namespace Dune { namespace Amg { - template<class T> class ConstructionTraits; + template<class T> struct ConstructionTraits; } /** diff --git a/dune/istl/paamg/construction.hh b/dune/istl/paamg/construction.hh index 7cd17a757ad42a93772c74c9fe0052d0a137b853..883896cea6c6a147c070d496d5a5e42be29651d2 100644 --- a/dune/istl/paamg/construction.hh +++ b/dune/istl/paamg/construction.hh @@ -34,9 +34,8 @@ namespace Dune * too expensive. */ template<typename T> - class ConstructionTraits + struct ConstructionTraits { - public: /** * @brief A type holding all the arguments needed to call the * constructor. @@ -56,9 +55,8 @@ namespace Dune }; template<class T, class A> - class ConstructionTraits<BlockVector<T,A> > + struct ConstructionTraits<BlockVector<T,A> > { - public: typedef const int Arguments; static inline std::shared_ptr<BlockVector<T,A>> construct(Arguments& n) { @@ -112,9 +110,8 @@ namespace Dune namespace Amg { template<class M, class X, class Y, class C> - class ConstructionTraits<OverlappingSchwarzOperator<M,X,Y,C> > + struct ConstructionTraits<OverlappingSchwarzOperator<M,X,Y,C> > { - public: typedef ParallelOperatorArgs<M,C> Arguments; static inline std::shared_ptr<OverlappingSchwarzOperator<M,X,Y,C>> construct(const Arguments& args) @@ -125,9 +122,8 @@ namespace Dune }; template<class M, class X, class Y, class C> - class ConstructionTraits<NonoverlappingSchwarzOperator<M,X,Y,C> > + struct ConstructionTraits<NonoverlappingSchwarzOperator<M,X,Y,C> > { - public: typedef ParallelOperatorArgs<M,C> Arguments; static inline std::shared_ptr<NonoverlappingSchwarzOperator<M,X,Y,C>> construct(const Arguments& args) @@ -148,9 +144,8 @@ namespace Dune }; template<class M, class X, class Y> - class ConstructionTraits<MatrixAdapter<M,X,Y> > + struct ConstructionTraits<MatrixAdapter<M,X,Y> > { - public: typedef const MatrixAdapterArgs<M,X,Y> Arguments; static inline std::shared_ptr<MatrixAdapter<M,X,Y>> construct(Arguments& args) @@ -160,9 +155,8 @@ namespace Dune }; template<> - class ConstructionTraits<SequentialInformation> + struct ConstructionTraits<SequentialInformation> { - public: typedef const SequentialCommunicationArgs Arguments; static inline std::shared_ptr<SequentialInformation> construct(Arguments& args) { @@ -174,9 +168,8 @@ namespace Dune #if HAVE_MPI template<class T1, class T2> - class ConstructionTraits<OwnerOverlapCopyCommunication<T1,T2> > + struct ConstructionTraits<OwnerOverlapCopyCommunication<T1,T2> > { - public: typedef const OwnerOverlapCopyCommunicationArgs Arguments; static inline std::shared_ptr<OwnerOverlapCopyCommunication<T1,T2>> construct(Arguments& args) diff --git a/dune/istl/paamg/smoother.hh b/dune/istl/paamg/smoother.hh index edb7d12a18240f3ab873ac940d6035b2f53d74bc..779d29c682fc7c0dc9fe0d582d9154ba472b6d22 100644 --- a/dune/istl/paamg/smoother.hh +++ b/dune/istl/paamg/smoother.hh @@ -215,7 +215,7 @@ namespace Dune template<class T> - class ConstructionTraits; + struct ConstructionTraits; /** * @brief Policy for the construction of the SeqSSOR smoother diff --git a/dune/istl/schwarz.hh b/dune/istl/schwarz.hh index 0c7665850c244988a7df0abc6535c955a27f2a3f..397430497c5a6138d26f9acd2071e6a0773a5b8a 100644 --- a/dune/istl/schwarz.hh +++ b/dune/istl/schwarz.hh @@ -243,7 +243,7 @@ namespace Dune { namespace Amg { - template<class T> class ConstructionTraits; + template<class T> struct ConstructionTraits; } /**