thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
Reference.xh
1 // -*- C++ -*-
2 //
3 // Reference.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_Reference_XH
10 #define ThePEG_Reference_XH
11 //
12 // This is the declarations of the exception classes used by the
13 // Reference class.
14 //
15 
16 #include "InterfaceBase.xh"
17 
18 namespace ThePEG {
19 
20 /** @cond EXCEPTIONCLASSES */
21 /** Exception class used by Reference if trying to set a pointer of
22  * the wrong type. */
23 struct RefExSetRefClass: public InterfaceException {
24  /** Standard constructor. */
25  RefExSetRefClass(const RefInterfaceBase & i, const InterfacedBase & o,
26  cIBPtr r);
27 };
28 
29 /** Exception class used by Referenceif an unknown error occurs. */
30 struct RefExSetUnknown: public InterfaceException {
31  /** Standard constructor. */
32  RefExSetUnknown(const InterfaceBase & i, const InterfacedBase & o,
33  cIBPtr r);
34 };
35 
36 /** Exception class used by Reference if an unknown error occurs. */
37 struct RefExGetUnknown: public InterfaceException {
38  /** Standard constructor. */
39  RefExGetUnknown(const InterfaceBase & i, const InterfacedBase & o);
40 };
41 
42 /** Exception class used by Reference of a specified object was not
43  * found. */
44 struct RefExSetNoobj: public InterfaceException {
45  /** Standard constructor. */
46  RefExSetNoobj(const InterfaceBase & i, const InterfacedBase & o, string);
47 };
48 
49 /** Exception class used by Reference for issuing warnings. */
50 struct RefExSetMessage: public InterfaceException {
51  /** Standard constructor. */
52  RefExSetMessage(string ref, const InterfacedBase & o,
53  const InterfacedBase & o2, string);
54 };
55 /** @endcond */
56 
57 }
58 
59 #endif /* ThePEG_Reference_XH */
60