1 /** 2 * Begin svn Header 3 * $Rev: 29 $: Revision of last commit 4 * $Author: josephodada@gmail.com $: Author of last commit 5 * $Date: 2013-04-25 10:57:46 +0100 (Thu, 25 Apr 2013) $: Date of last commit 6 * $HeadURL: https://numl.googlecode.com/svn/trunk/libnuml/src/common/numlfwd.h $ 7 * $Id: numlfwd.h 29 2013-04-25 09:57:46Z josephodada@gmail.com $ 8 * End svn Header 9 * *************************************************************************** 10 * This file is part of libNUML. Please visit http://code.google.com/p/numl/for more 11 * information about NUML, and the latest version of libNUML. 12 * Copyright (c) 2013 The University of Manchester. 13 * 14 * This library is free software; you can redistribute it and/or modify it 15 * under the terms of the GNU Lesser General Public License as published 16 * by the Free Software Foundation. A copy of the license agreement is 17 * provided in the file named "LICENSE.txt" included with this software 18 * distribution and also available online as http://www.gnu.org/licenses/lgpl.html 19 * 20 * The original code was initially developed by: 21 * 22 * SBML Team 23 * Control and Dynamical Systems, MC 107-81 24 * California Institute of Technology 25 * Pasadena, CA, 91125, USA 26 * 27 * http://www.sbml.org 28 * mailto:sbml-team@caltech.edu 29 * 30 * Adapted for NUML by: 31 * 32 * NUML Team 33 * Computational Systems Biology Group 34 * School of Computer Science 35 * The University of Manchester 36 * Manchester, M1 7DN UK 37 * mailto:josephodada@gmail.com 38 * 39 * Contributor(s): 40 * Joseph O. Dada, The University of Manchester - initial LIBNUML API and implementation 41 * *************************************************************************** 42 **/ 43 44 45 /** 46 * 47 * Declaring all types up-front avoids compilation errors of the form 48 * <em>"Redefinition of type 'Foo'"</em>, and allows our combined C/C++ 49 * headers to depend minimally upon each other. Put another way, the type 50 * definitions below serve the same purpose as <tt>class Foo;</tt> forward 51 * declarations in C++ code. 52 */ 53 54 #ifndef numlfwd_h 55 #define numlfwd_h 56 57 #include <sbml/common/libsbml-namespace.h> 58 #include <numl/common/libnuml-namespace.h> 59 #include <numl/common/libnuml-config.h> 60 61 62 #ifdef __cplusplus 63 /** 64 * Defined as a class when compiling for C++ and as a C struct when 65 * compiling for C. 66 */ 67 # define CLASS_OR_STRUCT class 68 #else 69 /** 70 * Defined as a class when compiling for C++ and as a C struct when 71 * compiling for C. 72 */ 73 # define CLASS_OR_STRUCT struct 74 #endif /* __cplusplus */ 75 76 LIBNUML_CPP_NAMESPACE_BEGIN 77 78 /** 79 * @var typedef class NMBase NMBase_t 80 * @copydoc NMBase 81 */ 82 typedef CLASS_OR_STRUCT NMBase NMBase_t; 83 84 /** 85 * @var typedef class NUMLDocument NUMLDocument_t 86 * @copydoc NUMLDocument 87 */ 88 typedef CLASS_OR_STRUCT NUMLDocument NUMLDocument_t; 89 90 /** 91 * @var typedef class Model Model_t 92 * @copydoc Model 93 */ 94 // TODO remove typedef CLASS_OR_STRUCT Model Model_t; 95 96 /** 97 * @var typedef class OntologyTerm OntologyTerm_t 98 * @copydoc OntologyTerm 99 */ 100 typedef CLASS_OR_STRUCT OntologyTerm OntologyTerm_t; 101 102 103 /** 104 * @var typedef class Dimension Dimension_t 105 * @copydoc Dimension 106 */ 107 typedef CLASS_OR_STRUCT Dimension Dimension_t; 108 /** 109 * @var typedef class CompositeValue CompositeValue_t 110 * @copydoc CompositeValue 111 */ 112 typedef CLASS_OR_STRUCT CompositeValue CompositeValue_t; 113 114 /** 115 * @var typedef class Tuple Tuple_t 116 * @copydoc Tuple 117 */ 118 typedef CLASS_OR_STRUCT Tuple Tuple_t; 119 120 /** 121 * @var typedef class AtomicValue AtomicValue_t 122 * @copydoc AtomicValue 123 */ 124 typedef CLASS_OR_STRUCT AtomicValue AtomicValue_t; 125 126 /** 127 * @var typedef class Method Method_t 128 * @copydoc Method 129 */ 130 //TODO remove typedef CLASS_OR_STRUCT Method Method_t; 131 132 /** 133 * @var typedef class Software Software_t 134 * @copydoc Software 135 */ 136 //TODO remove typedef CLASS_OR_STRUCT Software Software_t; 137 138 /** 139 * @var typedef class Result Result_t 140 * @copydoc Result 141 */ 142 //typedef CLASS_OR_STRUCT Result Result_t; 143 144 /** 145 * @var typedef class ResultComponent ResultComponent_t 146 * @copydoc ResultComponent 147 */ 148 typedef CLASS_OR_STRUCT ResultComponent ResultComponent_t; 149 150 /** 151 * @var typedef class DimensionDescription DimensionDescription_t 152 * @copydoc DimensionDescription 153 */ 154 typedef CLASS_OR_STRUCT DimensionDescription DimensionDescription_t; 155 156 /** 157 * @var typedef class CompositeDescription CompositeDescription_t 158 * @copydoc CompositeDescription 159 */ 160 typedef CLASS_OR_STRUCT CompositeDescription CompositeDescription_t; 161 162 /** 163 * @var typedef class TupleDescription TupleDescription_t 164 * @copydoc TupleDescription 165 */ 166 typedef CLASS_OR_STRUCT TupleDescription TupleDescription_t; 167 168 /** 169 * @var typedef class AtomicDescription AtomicDescription_t 170 * @copydoc AtomicDescription 171 */ 172 typedef CLASS_OR_STRUCT AtomicDescription AtomicDescription_t; 173 174 /** 175 * @var typedef class NUMLReader NUMLReader_t 176 * @copydoc NUMLReader 177 */ 178 typedef CLASS_OR_STRUCT NUMLReader NUMLReader_t; 179 180 /** 181 * @var typedef class NUMLWriter NUMLWriter_t 182 * @copydoc NUMLWriter 183 */ 184 typedef CLASS_OR_STRUCT NUMLWriter NUMLWriter_t; 185 186 /** 187 * @var typedef class NUMLError NUMLError_t 188 * @copydoc NUMLError 189 */ 190 typedef CLASS_OR_STRUCT NUMLError NUMLError_t; 191 192 /** 193 * @var typedef class NUMLNamespaces NUMLNamespaces_t 194 * @copydoc NUMLNamespaces 195 */ 196 typedef CLASS_OR_STRUCT NUMLNamespaces NUMLNamespaces_t; 197 198 /** 199 * @var typedef class NUMLList NUMLList_t 200 * @copydoc NUMLList 201 */ 202 typedef CLASS_OR_STRUCT NUMLList NUMLList_t; 203 204 LIBNUML_CPP_NAMESPACE_END 205 206 LIBSBML_CPP_NAMESPACE_BEGIN 207 /** 208 * @var typedef class ASTNode ASTNode_t 209 * @copydoc ASTNode 210 */ 211 typedef CLASS_OR_STRUCT ASTNode ASTNode_t; 212 213 /** 214 * @var typedef class List List_t 215 * @copydoc List 216 */ 217 typedef CLASS_OR_STRUCT List List_t; 218 219 /** 220 * @var typedef class XMLError XMLError_t 221 * @copydoc XMLError 222 */ 223 typedef CLASS_OR_STRUCT XMLError XMLError_t; 224 225 /** 226 * @var typedef class XMLErrorLog XMLErrorLog_t 227 * @copydoc XMLErrorLog 228 */ 229 typedef CLASS_OR_STRUCT XMLErrorLog XMLErrorLog_t; 230 231 /** 232 * @var typedef class XMLNode XMLNode_t 233 * @copydoc XMLNode 234 */ 235 typedef CLASS_OR_STRUCT XMLNode XMLNode_t; 236 237 /** 238 * @var typedef class XMLAttributes XMLAttributes_t 239 * @copydoc XMLAttributes 240 */ 241 typedef CLASS_OR_STRUCT XMLAttributes XMLAttributes_t; 242 243 /** 244 * @var typedef class XMLNamespaces XMLNamespaces_t 245 * @copydoc XMLNamespaces 246 */ 247 typedef CLASS_OR_STRUCT XMLNamespaces XMLNamespaces_t; 248 249 /** 250 * @var typedef class XMLToken XMLToken_t 251 * @copydoc XMLToken 252 */ 253 typedef CLASS_OR_STRUCT XMLToken XMLToken_t; 254 255 /** 256 * @var typedef class XMLInputStream XMLInputStream_t 257 * @copydoc XMLInputStream 258 */ 259 typedef CLASS_OR_STRUCT XMLInputStream XMLInputStream_t; 260 261 262 /** 263 * @var typedef class XMLOutputStream XMLOutputStream_t 264 * @copydoc XMLOutputStream 265 */ 266 typedef CLASS_OR_STRUCT XMLOutputStream XMLOutputStream_t; 267 268 269 /** 270 * @var typedef class XMLTriple XMLTriple_t 271 * @copydoc XMLTriple 272 */ 273 typedef CLASS_OR_STRUCT XMLTriple XMLTriple_t; 274 275 /** 276 * @var typedef class Date Date_t 277 * @copydoc Date 278 */ 279 typedef CLASS_OR_STRUCT Date Date_t; 280 281 /** 282 * @var typedef class ModelCreator ModelCreator_t 283 * @copydoc ModelCreator 284 */ 285 typedef CLASS_OR_STRUCT ModelCreator ModelCreator_t; 286 287 /** 288 * @var typedef class CVTerm CVTerm_t 289 * @copydoc CVTerm 290 */ 291 typedef CLASS_OR_STRUCT CVTerm CVTerm_t; 292 293 /** 294 * @var typedef class ModelHistory ModelHistory_t 295 * @copydoc ModelHistory 296 */ 297 typedef CLASS_OR_STRUCT ModelHistory ModelHistory_t; 298 299 LIBSBML_CPP_NAMESPACE_END 300 #undef CLASS_OR_STRUCT 301 302 #endif /* numlfwd_h */ 303