1 /**
2  * @file sedmlfwd.h
3  * @brief Definition of sedmlfwd.
4  * @author DEVISER
5  *
6  * <!--------------------------------------------------------------------------
7  * This file is part of libSEDML. Please visit http://sed-ml.org for more
8  * information about SED-ML. The latest version of libSEDML can be found on
9  * github: https://github.com/fbergmann/libSEDML/
10  *
11 
12  * Copyright (c) 2013-2019, Frank T. Bergmann
13  * All rights reserved.
14  *
15 
16  * Redistribution and use in source and binary forms, with or without
17  * modification, are permitted provided that the following conditions are met:
18  *
19 
20  * 1. Redistributions of source code must retain the above copyright notice,
21  * this
22  * list of conditions and the following disclaimer.
23  * 2. Redistributions in binary form must reproduce the above copyright notice,
24  * this list of conditions and the following disclaimer in the documentation
25  * and/or other materials provided with the distribution.
26  *
27  * This library is free software; you can redistribute it and/or modify it
28  * under the terms of the GNU Lesser General Public License as published by the
29  * Free Software Foundation. A copy of the license agreement is provided in the
30  * file named "LICENSE.txt" included with this software distribution and also
31  * available online as http://sbml.org/software/libsbml/license.html
32  * ------------------------------------------------------------------------ -->
33  */
34 
35 
36 #ifndef sedmlfwd_H__
37 #define sedmlfwd_H__
38 
39 
40 #include <sedml/common/libsedml-namespace.h>
41 
42 /**
43  * Forward declaration of all opaque C types.
44  *
45  * Declaring all types up-front avoids "redefinition of type Foo" compile
46  * errors and allows our combined C/C++ headers to depend minimally upon each
47  * other. Put another way, the type definitions below serve the same purpose as
48  * "class Foo;" forward declarations in C++ code.
49  */
50 
51 #ifdef __cplusplus
52 # define CLASS_OR_STRUCT class
53 #else
54 # define CLASS_OR_STRUCT struct
55 #endif /* __cplusplus */
56 
57 
58 LIBSEDML_CPP_NAMESPACE_BEGIN
59 
60 
61 typedef CLASS_OR_STRUCT SedDocument                      SedDocument_t;
62 typedef CLASS_OR_STRUCT SedModel                         SedModel_t;
63 typedef CLASS_OR_STRUCT SedChange                        SedChange_t;
64 typedef CLASS_OR_STRUCT SedAddXML                        SedAddXML_t;
65 typedef CLASS_OR_STRUCT SedChangeAttribute               SedChangeAttribute_t;
66 typedef CLASS_OR_STRUCT SedVariable                      SedVariable_t;
67 typedef CLASS_OR_STRUCT SedParameter                     SedParameter_t;
68 typedef CLASS_OR_STRUCT SedSimulation                    SedSimulation_t;
69 typedef CLASS_OR_STRUCT SedUniformTimeCourse             SedUniformTimeCourse_t;
70 typedef CLASS_OR_STRUCT SedAlgorithm                     SedAlgorithm_t;
71 typedef CLASS_OR_STRUCT SedAnalysis                      SedAnalysis_t;
72 typedef CLASS_OR_STRUCT SedAbstractTask                  SedAbstractTask_t;
73 typedef CLASS_OR_STRUCT SedTask                          SedTask_t;
74 typedef CLASS_OR_STRUCT SedDataGenerator                 SedDataGenerator_t;
75 typedef CLASS_OR_STRUCT SedOutput                        SedOutput_t;
76 typedef CLASS_OR_STRUCT SedPlot                          SedPlot_t;
77 typedef CLASS_OR_STRUCT SedPlot2D                        SedPlot2D_t;
78 typedef CLASS_OR_STRUCT SedPlot3D                        SedPlot3D_t;
79 typedef CLASS_OR_STRUCT SedAbstractCurve                 SedAbstractCurve_t;
80 typedef CLASS_OR_STRUCT SedCurve                         SedCurve_t;
81 typedef CLASS_OR_STRUCT SedSurface                       SedSurface_t;
82 typedef CLASS_OR_STRUCT SedDataSet                       SedDataSet_t;
83 typedef CLASS_OR_STRUCT SedReport                        SedReport_t;
84 typedef CLASS_OR_STRUCT SedAlgorithmParameter            SedAlgorithmParameter_t;
85 typedef CLASS_OR_STRUCT SedRange                         SedRange_t;
86 typedef CLASS_OR_STRUCT SedChangeXML                     SedChangeXML_t;
87 typedef CLASS_OR_STRUCT SedRemoveXML                     SedRemoveXML_t;
88 typedef CLASS_OR_STRUCT SedSetValue                      SedSetValue_t;
89 typedef CLASS_OR_STRUCT SedUniformRange                  SedUniformRange_t;
90 typedef CLASS_OR_STRUCT SedVectorRange                   SedVectorRange_t;
91 typedef CLASS_OR_STRUCT SedFunctionalRange               SedFunctionalRange_t;
92 typedef CLASS_OR_STRUCT SedSubTask                       SedSubTask_t;
93 typedef CLASS_OR_STRUCT SedOneStep                       SedOneStep_t;
94 typedef CLASS_OR_STRUCT SedSteadyState                   SedSteadyState_t;
95 typedef CLASS_OR_STRUCT SedRepeatedTask                  SedRepeatedTask_t;
96 typedef CLASS_OR_STRUCT SedComputeChange                 SedComputeChange_t;
97 typedef CLASS_OR_STRUCT SedDataDescription               SedDataDescription_t;
98 typedef CLASS_OR_STRUCT SedDataSource                    SedDataSource_t;
99 typedef CLASS_OR_STRUCT SedSlice                         SedSlice_t;
100 typedef CLASS_OR_STRUCT SedParameterEstimationTask       SedParameterEstimationTask_t;
101 typedef CLASS_OR_STRUCT SedObjective                     SedObjective_t;
102 typedef CLASS_OR_STRUCT SedLeastSquareObjectiveFunction  SedLeastSquareObjectiveFunction_t;
103 typedef CLASS_OR_STRUCT SedAdjustableParameter           SedAdjustableParameter_t;
104 typedef CLASS_OR_STRUCT SedExperimentReference                 SedExperimentReference_t;
105 typedef CLASS_OR_STRUCT SedFitExperiment                 SedFitExperiment_t;
106 typedef CLASS_OR_STRUCT SedFitMapping                    SedFitMapping_t;
107 typedef CLASS_OR_STRUCT SedBounds                        SedBounds_t;
108 typedef CLASS_OR_STRUCT SedFigure                        SedFigure_t;
109 typedef CLASS_OR_STRUCT SedSubPlot                       SedSubPlot_t;
110 typedef CLASS_OR_STRUCT SedAxis                          SedAxis_t;
111 typedef CLASS_OR_STRUCT SedStyle                         SedStyle_t;
112 typedef CLASS_OR_STRUCT SedLine                          SedLine_t;
113 typedef CLASS_OR_STRUCT SedMarker                        SedMarker_t;
114 typedef CLASS_OR_STRUCT SedFill                          SedFill_t;
115 typedef CLASS_OR_STRUCT SedAppliedDimension              SedAppliedDimension_t;
116 typedef CLASS_OR_STRUCT SedDataRange                     SedDataRange_t;
117 typedef CLASS_OR_STRUCT SedShadedArea                    SedShadedArea_t;
118 typedef CLASS_OR_STRUCT SedParameterEstimationResultPlot SedParameterEstimationResultPlot_t;
119 typedef CLASS_OR_STRUCT SedWaterfallPlot                 SedWaterfallPlot_t;
120 typedef CLASS_OR_STRUCT SedParameterEstimationReport     SedParameterEstimationReport_t;
121 typedef CLASS_OR_STRUCT SedBase                          SedBase_t;
122 typedef CLASS_OR_STRUCT SedListOf                        SedListOf_t;
123 typedef CLASS_OR_STRUCT SedReader                        SedReader_t;
124 typedef CLASS_OR_STRUCT SedWriter                        SedWriter_t;
125 typedef CLASS_OR_STRUCT SedNamespaces                    SedNamespaces_t;
126 typedef CLASS_OR_STRUCT SedError                         SedError_t;
127 
128 
129 LIBSEDML_CPP_NAMESPACE_END
130 
131 #include <sbml/common/libsbml-namespace.h>
132 
133 LIBSBML_CPP_NAMESPACE_BEGIN
134 
135 /**
136  * @var typedef class ASTNode ASTNode_t
137  * @copydoc ASTNode
138  */
139 typedef CLASS_OR_STRUCT ASTNode ASTNode_t;
140 
141 /**
142  * @var typedef class XMLNode XMLNode_t
143  * @copydoc XMLNode
144  */
145 typedef CLASS_OR_STRUCT XMLNode XMLNode_t;
146 
147 LIBSBML_CPP_NAMESPACE_END
148 
149 #include <numl/common/libnuml-namespace.h>
150 
151 LIBNUML_CPP_NAMESPACE_BEGIN
152 
153 typedef CLASS_OR_STRUCT DimensionDescription                     DimensionDescription_t;
154 
155 LIBNUML_CPP_NAMESPACE_END
156 
157 #undef CLASS_OR_STRUCT
158 
159 
160 #endif /* !sedmlfwd_H__ */
161 
162 
163