diff --git a/src/alugrid_serial.h b/src/alugrid_serial.h index 3c6f0a868c75b51e16fffb91a161a5a915c74e53..54b47e1bb89dd615eff22bfcff04f7d3a53d8803 100644 --- a/src/alugrid_serial.h +++ b/src/alugrid_serial.h @@ -30,6 +30,7 @@ typedef Gitter::hbndseg HGhostType; struct GatherScatter { + virtual ~GatherScatter () {} virtual void inlineData ( ObjectStream & str , HElemType & elem ) = 0; virtual void xtractData ( ObjectStream & str , HElemType & elem ) = 0; virtual void sendData ( ObjectStream & str , const HElemType & elem ) = 0; diff --git a/src/parallel/gitter_pll_sti.h b/src/parallel/gitter_pll_sti.h index 317486e61ca8009335c6c9ee5245259dbf1437ae..99e62d046508d4fb96d4146e80574029ebf6bd0e 100644 --- a/src/parallel/gitter_pll_sti.h +++ b/src/parallel/gitter_pll_sti.h @@ -149,6 +149,7 @@ class LinkedObject { inline bool isValid () const ; } ; public : + virtual ~LinkedObject () {} virtual Identifier getIdentifier () const = 0 ; virtual vector < int > estimateLinkage () const = 0 ; } ; diff --git a/src/serial/gitter_hexa_top.h b/src/serial/gitter_hexa_top.h index 89046ea39c882f62bbd6997ebb4377f35621b971..4c7f592152ee1f4f76bfe6cefb92ef053c1791fb 100644 --- a/src/serial/gitter_hexa_top.h +++ b/src/serial/gitter_hexa_top.h @@ -751,7 +751,7 @@ template < class A > bool Hface4Top < A > :: coarse () { f->coarse () ; x = false ; } - } while (f = f->next()) ; + } while ( (f = f->next()) ) ; if (x) { // Hier wird tats"achlich vergr"obert, d.h. alle Kinder @@ -880,7 +880,7 @@ template < class A > bool Hbnd4Top < A > :: coarse () { bool x = true ; do { if(b->myhface4(0)->ref > 1) (b->coarse (), x = false) ; - } while (b = b->next()) ; + } while ( (b = b->next()) ) ; if (x) { if (! this->lockedAgainstCoarsening ()) { this->preCoarsening () ; @@ -1766,7 +1766,7 @@ template < class A > bool Periodic4Top < A > :: bndNotifyCoarsen () { if (p->myhface4 (0)->ref > 1) (x = false) ; if (p->myhface4 (1)->ref > 1) (x = false) ; - } while (p = p->next ()) ; + } while ( (p = p->next ()) ) ; if (x) { // Falls keine Fl"achen anliegen, die auf Kinder oder Kindes- diff --git a/src/serial/gitter_sti.h b/src/serial/gitter_sti.h index 1276f1e9234b29108e45269aebf767ab8897eecd..684420863aba52f8ad9ed425d6fbe0bf216de25c 100644 --- a/src/serial/gitter_sti.h +++ b/src/serial/gitter_sti.h @@ -61,6 +61,7 @@ enum { numOfIndexManager = 6 }; class ProjectVertex { public: + virtual ~ProjectVertex () {} virtual int operator()(const double (&p)[3],double (&ret)[3]) const = 0; }; @@ -224,6 +225,7 @@ public : Dune_vertex () : _idx(-1) {} #endif public: + virtual ~Dune_vertex () {} // backup and restore index of vertices virtual void backupIndex (ostream & os ) const {}; virtual void restoreIndex (istream & is ) {}; @@ -270,6 +272,7 @@ public : Dune_hface_or_hedge () : _index (-1) {} #endif public: + virtual ~Dune_hface_or_hedge () {} // use only this methods to get and set the _index inline int getIndex () const; inline void setIndex (const int index) ; @@ -344,6 +347,7 @@ public : Dune_helement () : _index (-1) , _refinedTag (true) {} #endif public: + virtual ~Dune_helement () {} // reset the _refinedTag to false void resetRefinedTag(); // true if element was refined this adaptation step @@ -368,6 +372,7 @@ public : class hbndseg; struct AdaptRestrictProlong { + virtual ~AdaptRestrictProlong () {} virtual int preCoarsening (helement & elem ) = 0; virtual int postRefinement (helement & elem ) = 0; virtual int preCoarsening (hbndseg & bnd ) = 0; @@ -717,6 +722,7 @@ public : inline VertexGeo (int,double,double,double, IndexManagerType & im ) ; inline virtual ~VertexGeo () ; inline const double (& Point () const) [3] ; + // return level of vertex inline int level () const ; // Methode um einen Vertex zu verschieben; f"ur die Randanpassung virtual inline void project(const ProjectVertex &pv) ; diff --git a/src/serial/gitter_tetra_top.h b/src/serial/gitter_tetra_top.h index 6e1b004fc2ec6cb507c084b08576443ca0fb5cee..c4b3109e43532269e29226c389ba45a6a8f8e0bf 100644 --- a/src/serial/gitter_tetra_top.h +++ b/src/serial/gitter_tetra_top.h @@ -588,7 +588,7 @@ template < class A > bool Hface3Top < A > :: coarse () { f->coarse () ; x = false ; } - } while (f = f->next()) ; + } while ( (f = f->next()) ) ; if (x) { // Hier wird tats"achlich vergr"obert, d.h. alle Kinder @@ -792,8 +792,8 @@ template < class A > bool Hbnd3Top < A > :: coarse () { if (!b) return false ; bool x = true ; do { - if(b->myhface3(0)->ref > 1) (b->coarse (), x = false) ; - } while (b = b->next()) ; + if( (b->myhface3(0)->ref > 1) ) ((b->coarse ()), x = false) ; + } while ( (b = b->next()) ) ; if (x) { if (!this->lockedAgainstCoarsening ()) { this->preCoarsening () ; @@ -1923,7 +1923,7 @@ template < class A > bool Periodic3Top < A > :: bndNotifyCoarsen () { if (p->myhface3 (0)->ref > 1) (x = false) ; if (p->myhface3 (1)->ref > 1) (x = false) ; - } while (p = p->next ()) ; + } while ( (p = p->next ()) ) ; if (x) { // Falls keine Fl"achen anliegen, die auf Kinder oder Kindes- diff --git a/src/serial/parallel.h b/src/serial/parallel.h index 6c074baef5cea81e14e7abdda9cea507bbe9a075..0a85111998ea0068bd82fc7123948c345acf2d9a 100644 --- a/src/serial/parallel.h +++ b/src/serial/parallel.h @@ -15,6 +15,7 @@ class Parallel { class VertexIF { public : + virtual ~VertexIF () {} typedef class Key1SLZ identifier_t ; inline virtual VertexPllXIF_t & accessPllX () throw (AccessPllException) ; inline virtual const VertexPllXIF_t & accessPllX () const throw (AccessPllException) ; @@ -22,6 +23,7 @@ class Parallel { } ; class EdgeIF { public : + virtual ~EdgeIF () {} typedef class Key2SLZ identifier_t ; inline virtual EdgePllXIF_t & accessPllX () throw (AccessPllException) ; inline virtual const EdgePllXIF_t & accessPllX () const throw (AccessPllException) ; @@ -29,6 +31,7 @@ class Parallel { } ; class FaceIF { public : + virtual ~FaceIF () {} typedef class Key3SLZ identifier_t ; inline virtual FacePllXIF_t & accessPllX () throw (AccessPllException) ; inline virtual const FacePllXIF_t & accessPllX () const throw (AccessPllException) ; @@ -36,6 +39,7 @@ class Parallel { } ; class ElementIF { public : + virtual ~ElementIF () {} inline virtual ElementPllXIF_t & accessPllX () throw (AccessPllException) ; inline virtual const ElementPllXIF_t & accessPllX () const throw (AccessPllException) ; inline virtual void detachPllXFromMacro () throw (AccessPllException) ; diff --git a/src/serial/serialize.h b/src/serial/serialize.h index c9ee60b23b3f1aea0881ee6b18dce8cc4c9ba83d..fb3187b439c5a38589f2d5e2533402930ce2012a 100644 --- a/src/serial/serialize.h +++ b/src/serial/serialize.h @@ -29,6 +29,8 @@ class ObjectStream; class Serializable { friend class ObjectStream ; +public: + virtual ~Serializable () {} virtual bool readObject (ObjectStream &) = 0 ; virtual void writeObject (ObjectStream &) const = 0 ; } ; diff --git a/src/serial/walk.h b/src/serial/walk.h index 4c85beeabd6cb7324749adf764b14c8fc203ff7d..61bda0b312fd7e09a3ec96acaf38cfdc824451c2 100644 --- a/src/serial/walk.h +++ b/src/serial/walk.h @@ -329,7 +329,7 @@ template < class A, class B > inline int TreeIterator < A, B > :: pushdown () { } template < class A, class B > inline int TreeIterator < A, B > :: pullup () { - for( ; _pos >= 0 ; _pos -- ) if (_stack [_pos] = _stack [_pos]->next ()) break ; + for( ; _pos >= 0 ; _pos -- ) if ( (_stack [_pos] = _stack [_pos]->next () ) ) break ; return _pos < 0 ? 0 : 1 ; } diff --git a/src/stlheaders.h b/src/stlheaders.h index 76465639b96075af6452131db5640ebf3b50754b..170d03cfe8fc6cbf196303e6b5667639ffaba67f 100644 --- a/src/stlheaders.h +++ b/src/stlheaders.h @@ -33,6 +33,7 @@ #include <stack> #include <map> #include <numeric> + #include <set> #else #include <memory.h> #include <iostream.h> @@ -47,6 +48,7 @@ #include <deque.h> #include <stack.h> #include <map.h> + #include <set.h> #endif #endif