1 /** 2 * @cond doxygenLibsbmlInternal 3 * 4 * @file UniqueComponentIds.h 5 * @brief Ensures the appropriate ids within a Model are unique 6 * @author Sarah Keating 7 * 8 * <!-------------------------------------------------------------------------- 9 * This file is part of libSBML. Please visit http://sbml.org for more 10 * information about SBML, and the latest version of libSBML. 11 * 12 * Copyright (C) 2020 jointly by the following organizations: 13 * 1. California Institute of Technology, Pasadena, CA, USA 14 * 2. University of Heidelberg, Heidelberg, Germany 15 * 3. University College London, London, UK 16 * 17 * Copyright (C) 2019 jointly by the following organizations: 18 * 1. California Institute of Technology, Pasadena, CA, USA 19 * 2. University of Heidelberg, Heidelberg, Germany 20 * 21 * Copyright (C) 2013-2018 jointly by the following organizations: 22 * 1. California Institute of Technology, Pasadena, CA, USA 23 * 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK 24 * 3. University of Heidelberg, Heidelberg, Germany 25 * 26 * Copyright 2011-2012 jointly by the following organizations: 27 * 1. California Institute of Technology, Pasadena, CA, USA 28 * 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK 29 * 30 * This library is free software; you can redistribute it and/or modify it 31 * under the terms of the GNU Lesser General Public License as published by 32 * the Free Software Foundation. A copy of the license agreement is provided 33 * in the file named "LICENSE.txt" included with this software distribution 34 * and also available online as http://sbml.org/software/libsbml/license.html 35 * ---------------------------------------------------------------------- -->*/ 36 37 #ifndef UniqueComponentIds_h 38 #define UniqueComponentIds_h 39 40 41 #ifdef __cplusplus 42 43 #include <string> 44 45 #include "UniqueCompIdBase.h" 46 47 LIBSBML_CPP_NAMESPACE_BEGIN 48 49 class UniqueComponentIds: public UniqueCompIdBase 50 { 51 public: 52 53 /** 54 * Creates a new Constraint with the given constraint id. 55 */ 56 UniqueComponentIds (unsigned int id, CompValidator& v); 57 58 /** 59 * Destroys this Constraint. 60 */ 61 virtual ~UniqueComponentIds (); 62 63 64 protected: 65 66 /** 67 * Checks that all ids on the following Model objects are unique: 68 * FunctionDefinitions, Species, Compartments, global Parameters, 69 * Reactions, and Events. 70 */ 71 virtual void doCheck (const Model& m); 72 }; 73 74 LIBSBML_CPP_NAMESPACE_END 75 76 #endif /* __cplusplus */ 77 #endif /* UniqueComponentIds_h */ 78 /** @endcond */ 79