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