source: CONFIG/publications/ICOLMDZORINCA_CO2_Transport_GMD_2023/XIOS/src/virtual_node.hpp @ 6607

Last change on this file since 6607 was 6607, checked in by acosce, 10 months ago

XIOS used for ICOLMDZORINCA_CO2_Transport_GMD_2023

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.