Last change
on this file since 2471 was
2270,
checked in by ymipsl, 3 years ago
|
Tracking memory leak :
Tranformations and algorithms are now managed with shared_ptr.
YM
|
-
Property svn:executable set to
*
|
File size:
1.3 KB
|
Line | |
---|
1 | #ifndef __XIOS_TEMPORAL_TRANSFORM_FILTER_HPP__ |
---|
2 | #define __XIOS_TEMPORAL_TRANSFORM_FILTER_HPP__ |
---|
3 | |
---|
4 | #include "transform_filter.hpp" |
---|
5 | |
---|
6 | namespace xios |
---|
7 | { |
---|
8 | |
---|
9 | /*! |
---|
10 | * A generic filter with multiple input slots wrapping any type of spatial transformations. |
---|
11 | */ |
---|
12 | class CTemporalTransformFilter : public CTransformFilter |
---|
13 | { |
---|
14 | public: |
---|
15 | |
---|
16 | CTemporalTransformFilter(CGarbageCollector& gc, int slots, shared_ptr<CGridAlgorithm> algo, int nrecords, bool detectMissingValues, double defaultValue) ; |
---|
17 | |
---|
18 | protected: |
---|
19 | /*! |
---|
20 | Overriding this function to process transformations with auxillary inputs |
---|
21 | */ |
---|
22 | CDataPacketPtr virtual apply(std::vector<CDataPacketPtr> data) ; |
---|
23 | void buildWorkflowGraph(std::vector<CDataPacketPtr> data); |
---|
24 | bool graphCycleCompleted; |
---|
25 | // void apply(const CArray<double, 1>& dataSrc, CArray<double,1>& dataDest); |
---|
26 | |
---|
27 | /*! |
---|
28 | Overriding this function to process transformations with auxillary inputs |
---|
29 | */ |
---|
30 | // void virtual onInputReady(std::vector<CDataPacketPtr> data); |
---|
31 | //! Current record in the filter |
---|
32 | int record_=0 ; |
---|
33 | //! Maximum number of records |
---|
34 | int nrecords_; |
---|
35 | //! Temporary storage for output flux |
---|
36 | vector<CArray<double, 1>> tmpData_; |
---|
37 | }; // class CTransformFilter |
---|
38 | |
---|
39 | |
---|
40 | } // namespace xios |
---|
41 | |
---|
42 | #endif //__XIOS_TEMPORAL_TRANSFORM_FILTER_HPP__ |
---|
Note: See
TracBrowser
for help on using the repository browser.