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