1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
// -*- C++ -*-
//
// BaseRepository.xh is a part of ThePEG - Toolkit for HEP Event Generation
// Copyright (C) 1999-2011 Leif Lonnblad
//
// ThePEG is licenced under version 2 of the GPL, see COPYING for details.
// Please respect the MCnet academic guidelines, see GUIDELINES for details.
//
#ifndef ThePEG_BaseRepository_XH
#define ThePEG_BaseRepository_XH
//
// This is the declarations of the exception classes used by the
// BaseRepository class.
//
#include "ThePEG/Interface/InterfaceBase.xh"
namespace ThePEG {
/** @cond EXCEPTIONCLASSES */
/** Exception class used by BaseRepository if an object does not
implement the InterfacedBase::clone() function properly. */
struct BadClassClone: public InterfaceException {
/** Standard constructor. */
BadClassClone(const InterfacedBase &);
};
/** Exception class used by BaseRepository if an objects
InterfacedBase::clone() function throws an exception. */
struct BadClone: public InterfaceException {
/** Standard constructor. */
BadClone(const InterfacedBase &);
};
/** Exception class used by BaseRepository if the name of an object in
the repository has been changed outside the repository. */
struct RepoNameException: public InterfaceException {
/** Standard constructor. */
RepoNameException(string);
};
/** Exception class used by BaseRepository when trying to access a
non-existing directory. */
struct RepositoryNoDirectory: public InterfaceException {
/** Standard constructor. */
RepositoryNoDirectory(string);
};
/** Exception class used by BaseRepository when trying to access a
non-existent object. */
struct RepositoryNotFound: public InterfaceException {
/** Standard constructor. */
RepositoryNotFound(string name);
};
/** Exception class used by BaseRepository if a specified object was
not of the expected class. */
struct RepositoryClassMisMatch: public InterfaceException {
/** Standard constructor. */
RepositoryClassMisMatch(const InterfacedBase & o, string name);
};
/** @endcond */
}
#endif /* ThePEG_BaseRepository_XH */
|