source: XIOS/dev/dev_olga/src/virtual_node.hpp @ 983

Last change on this file since 983 was 619, checked in by mhnguyen, 9 years ago

Implementing the first prototype of filter

+) Create new class filter
+) Implement class for specific algorithm
+) Implement inversing algorithm

Test
+) On Curie
+) Grid with one axis: passed

File size: 844 bytes
Line 
1/*!
2   \file virtual_group.hpp
3   \author Ha NGUYEN
4   \date 14 Aprill 2015
5   \since 14 April 2015
6
7   \brief Class template for virtual nodes
8 */
9#ifndef __XIOS_VIRTUAL_NODE_HPP__
10#define __XIOS_VIRTUAL_NODE_HPP__
11
12namespace xios {
13/*!
14\class CVirtualNode
15On processing xml file, there are several cases in which a node contains other node type.
16These different nodes are stored in a virtual node.
17*/
18template<typename NodeType>
19class CVirtualNode
20{
21public:
22  CVirtualNode() { this->setVirtualNode(); }
23  virtual ~CVirtualNode() {}
24
25protected:
26  void setVirtualNode(NodeType* newVirtualNode) { this->virtualNode_ = newVirtualNode; }
27  void setVirtualNode() { this->setVirtualNode(NodeType::create());}
28  NodeType* getVirtualNode() const { return virtualNode_; }
29
30protected:
31  NodeType* virtualNode_;
32};
33
34}
35#endif // __XIOS_VIRTUAL_NODE_HPP__
Note: See TracBrowser for help on using the repository browser.