COPASI API  4.16.103
CEvaluationNodeStructure.h
Go to the documentation of this file.
1 /* Begin CVS Header
2  $Source: /Volumes/Home/Users/shoops/cvs/copasi_dev/copasi/function/CEvaluationNodeStructure.h,v $
3  $Revision: 1.5 $
4  $Name: $
5  $Author: gauges $
6  $Date: 2009/02/19 15:38:50 $
7  End CVS Header */
8 
9 // Copyright (C) 2008 by Pedro Mendes, Virginia Tech Intellectual
10 // Properties, Inc., EML Research, gGmbH, University of Heidelberg,
11 // and The University of Manchester.
12 // All rights reserved.
13 
14 // Copyright (C) 2001 - 2007 by Pedro Mendes, Virginia Tech Intellectual
15 // Properties, Inc. and EML Research, gGmbH.
16 // All rights reserved.
17 
18 #ifndef COPASI_CEvaluationNodeStructure
19 #define COPASI_CEvaluationNodeStructure
20 
21 class ASTNode;
22 class CCopasiDataModel;
23 
24 /**
25  * This is class for nodes presenting numbers used in an evaluation trees
26  */
28  {
29  public:
30  /**
31  * Enumeration of possible node types.
32  */
33  enum SubType
34  {
35  INVALID = 0x00FFFFFF,
36  OPEN = 0x00000000,
37  VECTOR_OPEN = 0x00000001,
38  COMMA = 0x00000002,
39  CLOSE = 0x00000003,
40  VECTOR_CLOSE = 0x00000004
41  };
42 
43  // Operations
44  private:
45  /**
46  * Default constructor
47  */
49 
50  public:
51  /**
52  * Default constructor
53  * @param const SubType & subType
54  * @param const Data & data
55  */
57  const Data & data);
58 
59  /**
60  * Copy constructor
61  * @param const CEvaluationNodeStructure & src
62  */
64 
65  /**
66  * Destructor
67  */
68  virtual ~CEvaluationNodeStructure();
69 
70  /**
71  * Create a new ASTNode corresponding to this structure node.
72  * @return ASTNode* return a pointer to the newly created node;
73  */
74  virtual ASTNode* toAST(const CCopasiDataModel* pDataModel) const;
75  };
76 
77 #endif // COPASI_CEvaluationNodeStructure
static Type subType(const Type &type)
virtual ASTNode * toAST(const CCopasiDataModel *pDataModel) const