source: XIOS3/trunk/src/transformation/algorithm_transformation_transfer.hpp @ 2426

Last change on this file since 2426 was 2267, checked in by ymipsl, 3 years ago

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

  • Property svn:executable set to *
File size: 1.2 KB
Line 
1#ifndef __XIOS_ALGORITHM_TRANSFORMATION_TRANSFER_HPP__
2#define __XIOS_ALGORITHM_TRANSFORMATION_TRANSFER_HPP__
3
4#include "generic_algorithm_transformation.hpp"
5#include "transfer_transform_connector.hpp"
6#include "array_new.hpp"
7
8namespace xios
9{
10
11  class CAlgorithmTransformationTransfer : public CGenericAlgorithmTransformation
12  {
13    public:
14
15      CAlgorithmTransformationTransfer(bool isSource) : CGenericAlgorithmTransformation(isSource) {}
16      virtual ~CAlgorithmTransformationTransfer() {};
17      virtual void apply(int dimBefore, int dimAfter, const CArray<double,1>& dataIn, CArray<double,1>& dataOut);
18      virtual void computeRecvElement(shared_ptr<CLocalView> srcView, shared_ptr<CLocalView> dstView) ;
19      virtual StdString getAlgoName() {return "\\nCAlgorithm transformation Transfer";}
20   
21    protected:
22      virtual void computeAlgorithm(shared_ptr<CLocalView> srcView, shared_ptr<CLocalView> dstView) ;
23
24      //! Map between global index of destination element and source element
25      unordered_map<int,int> transformationMapping_;
26      shared_ptr<CTransferTransformConnector> transferTransformConnector_ ;
27  };
28
29}
30#endif //__XIOS_ALGORITHM_TRANSFORMATION_TRANSFER_HPP__
Note: See TracBrowser for help on using the repository browser.