ThePEG  1.8.0
InterfaceBase.xh
1 // -*- C++ -*-
2 //
3 // InterfaceBase.xh is a part of ThePEG - Toolkit for HEP Event Generation
4 // Copyright (C) 1999-2011 Leif Lonnblad
5 //
6 // ThePEG is licenced under version 2 of the GPL, see COPYING for details.
7 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
8 //
9 #ifndef ThePEG_InterfaceBase_XH
10 #define ThePEG_InterfaceBase_XH
11 //
12 // This is the declarations of the exception classes used by the
13 // InterfaceBase class.
14 //
15 
16 #include "InterfaceBase.fh"
17 #include "ThePEG/Utilities/Exception.h"
18 
19 namespace ThePEG {
20 
24 struct InterfaceException: public Exception {
26  InterfaceException() {};
27 };
28 
31 struct InterExClass: public InterfaceException {
33  InterExClass(const InterfaceBase & i, const InterfacedBase & o);
34 };
35 
38 struct InterExSetup: public InterfaceException {
40  InterExSetup(const InterfaceBase & i, const InterfacedBase & o);
41 };
42 
45 struct InterExUnknown: public InterfaceException {
47  InterExUnknown(const InterfaceBase & i, const InterfacedBase & o);
48 };
49 
52 struct InterExReadOnly: public InterfaceException {
54  InterExReadOnly(const InterfaceBase & i, const InterfacedBase & o);
55 };
56 
59 struct InterExNoNull: public InterfaceException {
61  InterExNoNull(const InterfaceBase & i, const InterfacedBase & o);
62 };
65 }
66 
67 #endif /* ThePEG_InterfaceBase_XH */