Ignore:
Timestamp:
12/01/21 16:52:24 (3 years ago)
Author:
ymipsl
Message:

tracking memory leak
Elements, views, and connectors are now managed with shared pointer.
YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/distribution/grid_local_connector.hpp

    r1960 r2267  
    1717 
    1818    private:   
    19       std::vector<CLocalConnector*> elementsConnector_ ; 
     19      std::vector<shared_ptr<CLocalConnector>> elementsConnector_ ; 
    2020      int srcSize_ ; 
    2121      int dstSize_ ; 
     
    2424    public: 
    2525       
    26       CGridLocalConnector(const std::vector<CLocalConnector*>& elementsConnector)  ; 
    27       CGridLocalConnector(CGridLocalElements* parent, CElementView::type srcType, CElementView::type dstType, bool withMask=false) ; 
     26      CGridLocalConnector(const std::vector<shared_ptr<CLocalConnector>>& elementsConnector)  ; 
     27      CGridLocalConnector(shared_ptr<CGridLocalElements> parent, CElementView::type srcType, CElementView::type dstType, bool withMask=false) ; 
    2828      int getSrcSize(void) { return srcSize_ ;} 
    2929      int getDstSize(void) { return dstSize_ ;} 
     
    3737      { 
    3838        int n = elementsConnector_.size()-1 ; 
    39         CLocalConnector** connector = elementsConnector_.data() + n ; 
     39        shared_ptr<CLocalConnector>* connector = elementsConnector_.data() + n ; 
    4040        elementsConnector_[n]->transfer(connector, n, input.dataFirst(), output.dataFirst()) ; 
    4141      } 
     
    4545      { 
    4646        int n = elementsConnector_.size()-1 ; 
    47         CLocalConnector** connector = elementsConnector_.data() + n ; 
     47        shared_ptr<CLocalConnector>* connector = elementsConnector_.data() + n ; 
    4848        elementsConnector_[n]->transfer(connector, n, input.dataFirst(), output.dataFirst(), missingValue) ; 
    4949        if (!computeMask_done_) computeMask() ; 
Note: See TracChangeset for help on using the changeset viewer.