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/local_connector.hpp

    r1918 r2267  
    1515     
    1616    private: 
    17       CLocalView* srcView_; 
    18       CLocalView* dstView_; 
     17      shared_ptr<CLocalView> srcView_; 
     18      shared_ptr<CLocalView> dstView_; 
    1919      int srcSize_ ; 
    2020      int dstSize_ ; 
     
    2424    public: 
    2525     
    26       CLocalConnector(CLocalView* srcView, CLocalView* dstView) : srcView_(srcView), dstView_(dstView),  
     26      CLocalConnector(shared_ptr<CLocalView> srcView, shared_ptr<CLocalView> dstView) : srcView_(srcView), dstView_(dstView),  
    2727                                                                  srcSize_(srcView->getSize()), dstSize_(dstView->getSize()) {} 
    2828      void computeConnector(void); 
     
    5959      } 
    6060 
    61       template<typename T> void transfer(CLocalConnector** connectors, int nConnectors, const T* input, T* output) 
     61      template<typename T> void transfer(shared_ptr<CLocalConnector>* connectors, int nConnectors, const T* input, T* output) 
    6262      { 
    6363 
     
    9191      } 
    9292 
    93       template<typename T> void transfer(CLocalConnector** connectors, int nConnectors, const T* input, T* output, T missingValue) 
     93      template<typename T> void transfer(shared_ptr<CLocalConnector>* connectors, int nConnectors, const T* input, T* output, T missingValue) 
    9494      { 
    9595        int size=mask_.size() ; 
     
    123123      } 
    124124 
    125       int getSrcSliceSize(CLocalConnector** connectors, int nConnectors)  
     125      int getSrcSliceSize(shared_ptr<CLocalConnector>* connectors, int nConnectors)  
    126126      { if (nConnectors==0) return srcSize_ ; else return srcSize_ * (*(connectors-1))->getSrcSliceSize(connectors-1,nConnectors-1) ; } 
    127127 
    128       int getDstSliceSize(CLocalConnector** connectors, int nConnectors)  
     128      int getDstSliceSize(shared_ptr<CLocalConnector>* connectors, int nConnectors)  
    129129      { if (nConnectors==0) return dstSize_ ; else return dstSize_ * (*(connectors-1))->getDstSliceSize(connectors-1,nConnectors-1) ; } 
    130130 
Note: See TracChangeset for help on using the changeset viewer.