#ifndef __XIOS_TEMPORAL_TRANSFORM_FILTER_HPP__ #define __XIOS_TEMPORAL_TRANSFORM_FILTER_HPP__ #include "transform_filter.hpp" namespace xios { /*! * A generic filter with multiple input slots wrapping any type of spatial transformations. */ class CTemporalTransformFilter : public CTransformFilter { public: CTemporalTransformFilter(CGarbageCollector& gc, int slots, shared_ptr algo, int nrecords, bool detectMissingValues, double defaultValue) ; protected: /*! Overriding this function to process transformations with auxillary inputs */ CDataPacketPtr virtual apply(std::vector data) ; void buildWorkflowGraph(std::vector data); bool graphCycleCompleted; // void apply(const CArray& dataSrc, CArray& dataDest); /*! Overriding this function to process transformations with auxillary inputs */ // void virtual onInputReady(std::vector data); //! Current record in the filter int record_=0 ; //! Maximum number of records int nrecords_; //! Temporary storage for output flux vector> tmpData_; }; // class CTransformFilter } // namespace xios #endif //__XIOS_TEMPORAL_TRANSFORM_FILTER_HPP__