diff options
author | Erik Schnetter <schnetter@gmail.com> | 2013-08-04 00:25:49 -0400 |
---|---|---|
committer | Erik Schnetter <schnetter@gmail.com> | 2013-08-04 00:25:49 -0400 |
commit | 9166952a1e2571bf5656345d7f8f1d1246e033d7 (patch) | |
tree | 81715eab307797c498c1a1f56671f480e3b14eaf /Carpet/CarpetLib/src/defs.cc | |
parent | dbe1636f5ed6ec4859719ff08f731735e123c59e (diff) |
CarpetLib: Store registered gh, dh, th, gf, data etc. via sets, not via lists
Use set instead of list to store registered gh, dh, th, gf, data.
Do not store an iterator as handle for de-registering.
This corrects some memory corruption with the Intel compiler; the previous code may have been illegal.
Diffstat (limited to 'Carpet/CarpetLib/src/defs.cc')
-rw-r--r-- | Carpet/CarpetLib/src/defs.cc | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/Carpet/CarpetLib/src/defs.cc b/Carpet/CarpetLib/src/defs.cc index 0bc1e5d48..7776a3ab8 100644 --- a/Carpet/CarpetLib/src/defs.cc +++ b/Carpet/CarpetLib/src/defs.cc @@ -340,26 +340,31 @@ template CCTK_REAL ipow (CCTK_REAL x, int y); //template vect<int,dim> ipow (vect<int,dim> x, int y); template vect<CCTK_REAL,dim> ipow (vect<CCTK_REAL,dim> x, int y); +template size_t memoryof (rvect const & v); //template size_t memoryof (list<ibbox> const & l); //template size_t memoryof (list<ivect> const & l); -template size_t memoryof (list<dh*> const & l); -template size_t memoryof (list<gh*> const & l); -template size_t memoryof (list<gdata*> const & l); -template size_t memoryof (list<ggf*> const & l); -template size_t memoryof (list<th*> const & l); +template size_t memoryof (set<dh*> const & l); +template size_t memoryof (set<gh*> const & l); +template size_t memoryof (set<gdata*> const & l); +template size_t memoryof (set<ggf*> const & l); +template size_t memoryof (set<th*> const & l); template size_t memoryof (stack<void*> const & s); template size_t memoryof (vector<bool> const & v); template size_t memoryof (vector<int> const & v); //template size_t memoryof (vector<CCTK_REAL> const & v); +template size_t memoryof (vector<dh*> const & v); +template size_t memoryof (vector<gh*> const & v); template size_t memoryof (vector<bbox<int,1> > const & v); template size_t memoryof (vector<bbox<int,2> > const & v); template size_t memoryof (vector<bbox<int,3> > const & v); +template size_t memoryof (vector<rbbox> const & v); template size_t memoryof (vector<bboxset1::bboxset<int,dim> > const & v); #ifdef CARPET_ENABLE_BBOXSET2 template size_t memoryof (vector<bboxset2::bboxset<int,dim> > const & v); #endif template size_t memoryof (vector<ivect> const & v); template size_t memoryof (vector<i2vect> const & v); +template size_t memoryof (vector<rvect> const & v); template size_t memoryof (vector<fulltree<int,dim,pseudoregion_t>*> const & f); //template size_t memoryof (vector<pseudoregion_t> const & v); //template size_t memoryof (vector<region_t> const & v); @@ -367,6 +372,7 @@ template size_t memoryof (vector<sendrecv_pseudoregion_t> const & v); template size_t memoryof (vector<vector<int> > const & v); template size_t memoryof (vector<vector<CCTK_REAL> > const & v); template size_t memoryof (vector<vector<ibbox> > const & v); +template size_t memoryof (vector<vector<rvect> > const & v); template size_t memoryof (vector<vector<dh::fast_dboxes> > const & v); //template size_t memoryof (vector<vector<dh::full_dboxes> > const & v); template size_t memoryof (vector<vector<dh::level_dboxes> > const & v); |