Warning, /include/ThePEG/Repository/BaseRepository.xh is written in an unsupported language. File is not indexed.
0001 // -*- C++ -*-
0002 //
0003 // BaseRepository.xh is a part of ThePEG - Toolkit for HEP Event Generation
0004 // Copyright (C) 1999-2019 Leif Lonnblad
0005 //
0006 // ThePEG is licenced under version 3 of the GPL, see COPYING for details.
0007 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
0008 //
0009 #ifndef ThePEG_BaseRepository_XH
0010 #define ThePEG_BaseRepository_XH
0011 //
0012 // This is the declarations of the exception classes used by the
0013 // BaseRepository class.
0014 //
0015
0016 #include "ThePEG/Interface/InterfaceBase.xh"
0017
0018 namespace ThePEG {
0019
0020 /** @cond EXCEPTIONCLASSES */
0021 /** Exception class used by BaseRepository if an object does not
0022 implement the InterfacedBase::clone() function properly. */
0023 struct BadClassClone: public InterfaceException {
0024 /** Standard constructor. */
0025 BadClassClone(const InterfacedBase &);
0026 };
0027
0028 /** Exception class used by BaseRepository if an objects
0029 InterfacedBase::clone() function throws an exception. */
0030 struct BadClone: public InterfaceException {
0031 /** Standard constructor. */
0032 BadClone(const InterfacedBase &);
0033 };
0034
0035 /** Exception class used by BaseRepository if the name of an object in
0036 the repository has been changed outside the repository. */
0037 struct RepoNameException: public InterfaceException {
0038 /** Standard constructor. */
0039 RepoNameException(string);
0040 };
0041
0042 /** Exception class used by BaseRepository if creating an object with
0043 a name that already exists in the repository.. */
0044 struct RepoNameExistsException: public InterfaceException {
0045 /** Standard constructor. */
0046 RepoNameExistsException(string);
0047 };
0048
0049 /** Exception class used by BaseRepository when trying to access a
0050 non-existing directory. */
0051 struct RepositoryNoDirectory: public InterfaceException {
0052 /** Standard constructor. */
0053 RepositoryNoDirectory(string);
0054 };
0055
0056 /** Exception class used by BaseRepository when trying to access a
0057 non-existent object. */
0058 struct RepositoryNotFound: public InterfaceException {
0059 /** Standard constructor. */
0060 RepositoryNotFound(string name);
0061 };
0062
0063 /** Exception class used by BaseRepository if a specified object was
0064 not of the expected class. */
0065 struct RepositoryClassMisMatch: public InterfaceException {
0066 /** Standard constructor. */
0067 RepositoryClassMisMatch(const InterfacedBase & o, string name);
0068 };
0069 /** @endcond */
0070
0071 }
0072
0073 #endif /* ThePEG_BaseRepository_XH */
0074