libSBML C API  5.18.0
SBMLExtension.h File Reference

Definition of SBMLExtension_t, the core component of SBML package extension. More...

Include dependency graph for SBMLExtension.h:
This graph shows which files directly or indirectly include this file:

Macros

#define EXTENSION_CREATE_NS(type, variable, sbmlns)   EXTENSION_CREATE_NS_WITH_VERSION(type,variable,sbmlns,1)
 
#define EXTENSION_CREATE_NS_WITH_VERSION(type, variable, sbmlns, version)
 

Detailed Description

Definition of SBMLExtension_t, the core component of SBML package extension.

Author
Akiya Jouraku

Macro Definition Documentation

#define EXTENSION_CREATE_NS (   type,
  variable,
  sbmlns 
)    EXTENSION_CREATE_NS_WITH_VERSION(type,variable,sbmlns,1)
#define EXTENSION_CREATE_NS_WITH_VERSION (   type,
  variable,
  sbmlns,
  version 
)
Value:
type* variable;\
{\
XMLNamespaces* xmlns = sbmlns->getNamespaces();\
variable = dynamic_cast<type*>(sbmlns);\
if (variable == NULL)\
{\
try\
{\
variable = new type(sbmlns->getLevel(), sbmlns->getVersion(), version);\
}\
catch (SBMLExtensionException e)\
{\
variable = new type(sbmlns->getLevel(), 1, version);\
}\
for (int i = 0; i < xmlns->getNumNamespaces(); i++)\
{\
if (!variable->getNamespaces()->hasURI(xmlns->getURI(i)))\
variable->getNamespaces()->add(xmlns->getURI(i), xmlns->getPrefix(i));\
}\
}\
else { variable = new type(*variable); }\
}