1/** 2 * @file libsbml-namespace.h 3 * @brief Defines C++ namespace of libSBML 4 * @author Akiya Jouraku 5 * 6 * <!-------------------------------------------------------------------------- 7 * This file is part of libSBML. Please visit http://sbml.org for more 8 * information about SBML, and the latest version of libSBML. 9 * 10 * Copyright (C) 2020 jointly by the following organizations: 11 * 1. California Institute of Technology, Pasadena, CA, USA 12 * 2. University of Heidelberg, Heidelberg, Germany 13 * 3. University College London, London, UK 14 * 15 * Copyright (C) 2019 jointly by the following organizations: 16 * 1. California Institute of Technology, Pasadena, CA, USA 17 * 2. University of Heidelberg, Heidelberg, Germany 18 * 19 * Copyright (C) 2013-2018 jointly by the following organizations: 20 * 1. California Institute of Technology, Pasadena, CA, USA 21 * 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK 22 * 3. University of Heidelberg, Heidelberg, Germany 23 * 24 * Copyright (C) 2009-2013 jointly by the following organizations: 25 * 1. California Institute of Technology, Pasadena, CA, USA 26 * 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK 27 * 28 * Copyright (C) 2006-2008 by the California Institute of Technology, 29 * Pasadena, CA, USA 30 * 31 * Copyright (C) 2002-2005 jointly by the following organizations: 32 * 1. California Institute of Technology, Pasadena, CA, USA 33 * 2. Japan Science and Technology Agency, Japan 34 * 35 * This library is free software; you can redistribute it and/or modify it 36 * under the terms of the GNU Lesser General Public License as published by 37 * the Free Software Foundation. A copy of the license agreement is provided 38 * in the file named "LICENSE.txt" included with this software distribution and 39 * also available online as http://sbml.org/software/libsbml/license.html 40 *------------------------------------------------------------------------- --> 41 * 42 */ 43 44#ifndef LIBSBML_NAMESPACE_H 45#define LIBSBML_NAMESPACE_H 1 46 47/* 48 * 49 * The idea of the following marcors are borrowed from 50 * Xerces-C++ XML Parser (http://xerces.apache.org/xerces-c/). 51 * 52 */ 53 54/* Define to enable libSBML C++ namespace */ 55#undef LIBSBML_USE_CPP_NAMESPACE 56 57 58#if defined(__cplusplus) && defined(LIBSBML_USE_CPP_NAMESPACE) && !defined(SWIG) 59 /* C++ namespace of libSBML */ 60 #define LIBSBML_CPP_NAMESPACE libsbml 61 #define LIBSBML_CPP_NAMESPACE_BEGIN namespace LIBSBML_CPP_NAMESPACE { 62 #define LIBSBML_CPP_NAMESPACE_END } 63 #define LIBSBML_CPP_NAMESPACE_USE using namespace LIBSBML_CPP_NAMESPACE; 64 #define LIBSBML_CPP_NAMESPACE_QUALIFIER LIBSBML_CPP_NAMESPACE:: 65 66 namespace LIBSBML_CPP_NAMESPACE {} 67#else 68 #define LIBSBML_CPP_NAMESPACE 69 #define LIBSBML_CPP_NAMESPACE_BEGIN 70 #define LIBSBML_CPP_NAMESPACE_END 71 #define LIBSBML_CPP_NAMESPACE_USE 72 #define LIBSBML_CPP_NAMESPACE_QUALIFIER 73#endif 74 75 76#endif /* LIBSBML_NAMESPACE_H */ 77 78