source: XIOS/dev/dev_ym/XIOS_COUPLING/src/filter/pass_through_filter.hpp @ 2230

Last change on this file since 2230 was 2143, checked in by yushan, 3 years ago

Big commit on graph functionality. Add buildWorkflowGraph function for filters

File size: 1.1 KB
Line 
1#ifndef __XIOS_CPassThroughFilter__
2#define __XIOS_CPassThroughFilter__
3
4#include "filter.hpp"
5
6namespace xios
7{
8  /*!
9   * A simple pass-through filter with one input slot.
10   * The pass-through filter is used to handle references on a field.
11   */
12  class CPassThroughFilter : public CFilter, public IFilterEngine
13  {
14    public:
15      /*!
16       * Constructs a pass-through filter with the one input slot.
17       *
18       * \param gc the associated garbage collector
19       */
20      CPassThroughFilter(CGarbageCollector& gc);
21
22      StdString label_field_id; //used for omitting redundant pass through filter in graph
23
24    protected:
25      /*!
26       * Returns the input packet without making any modification to it.
27       *
28       * \param data a vector of packets corresponding to each slot
29       * \return the untouched source data packet
30       */
31      CDataPacketPtr virtual apply(std::vector<CDataPacketPtr> data);
32      void buildWorkflowGraph(std::vector<CDataPacketPtr> data);
33 
34  }; // class CPassThroughFilter
35} // namespace xios
36
37#endif //__XIOS_CPassThroughFilter__
Note: See TracBrowser for help on using the repository browser.