source: XIOS/dev/dev_trunk_graph/src/filter/pass_through_filter.hpp @ 2019

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

Graph intermedia commit to a tmp branch

File size: 994 bytes
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    protected:
23      /*!
24       * Returns the input packet without making any modification to it.
25       *
26       * \param data a vector of packets corresponding to each slot
27       * \return the untouched source data packet
28       */
29      CDataPacketPtr virtual apply(std::vector<CDataPacketPtr> data);
30      void buildWorkflowGraph(std::vector<CDataPacketPtr> data);
31 
32  }; // class CPassThroughFilter
33} // namespace xios
34
35#endif //__XIOS_CPassThroughFilter__
Note: See TracBrowser for help on using the repository browser.