source: XIOS/trunk/src/filter/pass_through_filter.hpp @ 641

Last change on this file since 641 was 641, checked in by rlacroix, 9 years ago

Use the filter infrastructure to handle field references.

Add a pass-through filter to do so.

File size: 926 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  }; // class CPassThroughFilter
31} // namespace xios
32
33#endif //__XIOS_CPassThroughFilter__
Note: See TracBrowser for help on using the repository browser.