getfem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Getfem-commits] r5156 - /trunk/getfem/src/getfem/


From: Yves . Renard
Subject: [Getfem-commits] r5156 - /trunk/getfem/src/getfem/
Date: Sat, 28 Nov 2015 16:11:46 -0000

Author: renard
Date: Sat Nov 28 17:11:45 2015
New Revision: 5156

URL: http://svn.gna.org/viewcvs/getfem?rev=5156&view=rev
Log:
Fix a memory leak

Modified:
    trunk/getfem/src/getfem/bgeot_kdtree.h
    trunk/getfem/src/getfem/bgeot_rtree.h
    trunk/getfem/src/getfem/dal_static_stored_objects.h
    trunk/getfem/src/getfem/getfem_integration.h
    trunk/getfem/src/getfem/getfem_mesher.h
    trunk/getfem/src/getfem/getfem_models.h

Modified: trunk/getfem/src/getfem/bgeot_kdtree.h
URL: 
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem/bgeot_kdtree.h?rev=5156&r1=5155&r2=5156&view=diff
==============================================================================
--- trunk/getfem/src/getfem/bgeot_kdtree.h      (original)
+++ trunk/getfem/src/getfem/bgeot_kdtree.h      Sat Nov 28 17:11:45 2015
@@ -49,6 +49,7 @@
     unsigned n; /* 0 => is a tree node, != 0 => tree leaf storing n points */
     bool isleaf() const { return (n != 0); }
     kdtree_elt_base(unsigned n_) : n(n_) {}
+    virtual ~kdtree_elt_base() {}
   };
 
   /// store a point and the associated index for the kdtree. 

Modified: trunk/getfem/src/getfem/bgeot_rtree.h
URL: 
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem/bgeot_rtree.h?rev=5156&r1=5155&r2=5156&view=diff
==============================================================================
--- trunk/getfem/src/getfem/bgeot_rtree.h       (original)
+++ trunk/getfem/src/getfem/bgeot_rtree.h       Sat Nov 28 17:11:45 2015
@@ -55,6 +55,7 @@
     base_node rmin, rmax;
     rtree_elt_base(bool leaf, const base_node& rmin_, const base_node& rmax_) 
       : isleaf_(leaf), rmin(rmin_), rmax(rmax_) {}
+    virtual ~rtree_elt_base() {}
   };
 
   /** Balanced tree of n-dimensional rectangles.

Modified: trunk/getfem/src/getfem/dal_static_stored_objects.h
URL: 
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem/dal_static_stored_objects.h?rev=5156&r1=5155&r2=5156&view=diff
==============================================================================
--- trunk/getfem/src/getfem/dal_static_stored_objects.h (original)
+++ trunk/getfem/src/getfem/dal_static_stored_objects.h Sat Nov 28 17:11:45 2015
@@ -168,29 +168,29 @@
 #define DAL_TRIPLE_KEY(class_name, var_type1, var_type2, var_type3)    \
   struct class_name :                                                  \
   public dal::simple_key<std::pair<var_type1,                          \
-  std::pair<var_type2,var_type3> > > { \
+                                  std::pair<var_type2,var_type3> > > { \
   class_name(var_type1 aa, var_type2 bb, var_type3 cc) :               \
-  dal::simple_key<std::pair<var_type1,                         \
-  std::pair<var_type2, var_type3> > >                                  \
-  (std::make_pair(aa,std::make_pair(bb,cc))) {}                        \
+    dal::simple_key<std::pair<var_type1,                               \
+                             std::pair<var_type2, var_type3> > >       \
+    (std::make_pair(aa,std::make_pair(bb,cc))) {}                      \
   }
 
 #define DAL_FOUR_KEY(class_name,var_type1,var_type2,var_type3,var_type4)\
   struct class_name : public                                           \
   dal::simple_key<std::pair                                            \
-  <var_type1, std::pair<var_type2, std::pair           \
-  <var_type3,var_type4> > > > {        \
-  class_name(var_type1 aa, var_type2 bb, var_type3 cc,var_type4 dd) : \
-  dal::simple_key<std::pair                                            \
-  <var_type1, std::pair<var_type2,                     \
-  std::pair<var_type3, \
-  var_type4> > > >     \
-  (std::make_pair(aa,std::make_pair(bb,std::make_pair(cc, dd)))) {} \
-  }
-
-
-
-  typedef std::shared_ptr<const static_stored_object_key> 
pstatic_stored_object_key;
+                 <var_type1, std::pair<var_type2, std::pair            \
+                                       <var_type3,var_type4> > > > {   \
+    class_name(var_type1 aa, var_type2 bb, var_type3 cc,var_type4 dd) : \
+      dal::simple_key<std::pair                                                
\
+                     <var_type1, std::pair<var_type2,                  \
+                                           std::pair<var_type3,        \
+                                                     var_type4> > > >  \
+      (std::make_pair(aa,std::make_pair(bb,std::make_pair(cc, dd)))) {} \
+  }
+
+
+  typedef std::shared_ptr<const static_stored_object_key>
+    pstatic_stored_object_key;
 
 
   /**

Modified: trunk/getfem/src/getfem/getfem_integration.h
URL: 
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem/getfem_integration.h?rev=5156&r1=5155&r2=5156&view=diff
==============================================================================
--- trunk/getfem/src/getfem/getfem_integration.h        (original)
+++ trunk/getfem/src/getfem/getfem_integration.h        Sat Nov 28 17:11:45 2015
@@ -220,8 +220,8 @@
       : cvr(cr), repartition(cr->structure()->nb_faces()+1),
         pt_to_store(cr->structure()->nb_faces()+1), valid(false),
         built_on_the_fly(false)
-    { std::fill(repartition.begin(), repartition.end(), 0); } 
-    
+    { std::fill(repartition.begin(), repartition.end(), 0); }
+    virtual ~approx_integration() {}
   };
 
   typedef std::shared_ptr<const approx_integration> papprox_integration;

Modified: trunk/getfem/src/getfem/getfem_mesher.h
URL: 
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem/getfem_mesher.h?rev=5156&r1=5155&r2=5156&view=diff
==============================================================================
--- trunk/getfem/src/getfem/getfem_mesher.h     (original)
+++ trunk/getfem/src/getfem/getfem_mesher.h     Sat Nov 28 17:11:45 2015
@@ -73,6 +73,7 @@
     mutable size_type id;
   public:
     mesher_signed_distance() : id(size_type(-1)) {}
+    virtual ~mesher_signed_distance() {}
     virtual bool bounding_box(base_node &bmin, base_node &bmax) const = 0;
     virtual scalar_type operator()(const base_node &P,
                                   dal::bit_vector &bv) const = 0;

Modified: trunk/getfem/src/getfem/getfem_models.h
URL: 
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem/getfem_models.h?rev=5156&r1=5155&r2=5156&view=diff
==============================================================================
--- trunk/getfem/src/getfem/getfem_models.h     (original)
+++ trunk/getfem/src/getfem/getfem_models.h     Sat Nov 28 17:11:45 2015
@@ -1263,6 +1263,7 @@
      virtual void time_derivative_to_be_intialized(std::string &name_v,
                                       std::string &name_previous_v) const = 0;
     virtual void shift_variables(model &md) const = 0;
+    virtual ~virtual_time_scheme() {}
   };
 
   void add_theta_method_for_first_order(model &md, const std::string &varname,
@@ -1356,6 +1357,7 @@
     virtual_dispatcher(size_type _nbrhs) : nbrhs_(_nbrhs) {
       GMM_ASSERT1(_nbrhs > 0, "Time dispatcher with no rhs");
     }
+    virtual ~virtual_dispatcher() {}
 
   };
 
@@ -1493,7 +1495,8 @@
 
     typedef model::build_version build_version;
 
-    virtual_brick(void) { isinit = false; }
+    virtual_brick() { isinit = false; }
+    virtual ~virtual_brick() { }
     void set_flags(const std::string &bname, bool islin, bool issym,
                    bool iscoer, bool ire, bool isco, bool each_time = false,
                    bool hasNeumannt = true) {
@@ -1744,6 +1747,8 @@
      base_small_vector &/*n*/, base_tensor &/*output*/,
      size_type /*auxilliary_ind*/ = 0) const = 0;
 
+    virtual ~Neumann_elem_term() {}
+
   };
 
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]