Back to home page

EIC code displayed by LXR

 
 

    


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