Warning, /include/ThePEG/Interface/InterfaceBase.xh is written in an unsupported language. File is not indexed.
0001 // -*- C++ -*-
0002 //
0003 // InterfaceBase.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_InterfaceBase_XH
0010 #define ThePEG_InterfaceBase_XH
0011 //
0012 // This is the declarations of the exception classes used by the
0013 // InterfaceBase class.
0014 //
0015
0016 #include "InterfaceBase.fh"
0017 #include "ThePEG/Utilities/Exception.h"
0018
0019 namespace ThePEG {
0020
0021 /** @cond EXCEPTIONCLASSES */
0022 /** Exception class used as base class for errors detected by
0023 * interface classes. */
0024 struct InterfaceException: public Exception {
0025 /** Standard constructor. */
0026 InterfaceException() {};
0027 };
0028
0029 /** Exception class used when an interface is called for an object of
0030 * the wrong class. */
0031 struct InterExClass: public InterfaceException {
0032 /** Standard constructor. */
0033 InterExClass(const InterfaceBase & i, const InterfacedBase & o);
0034 };
0035
0036 /** Exception class used in case an interface is not properly
0037 * setup. */
0038 struct InterExSetup: public InterfaceException {
0039 /** Standard constructor. */
0040 InterExSetup(const InterfaceBase & i, const InterfacedBase & o);
0041 };
0042
0043 /** Exception class used in case of an unkown error whenn accessing an
0044 * object via an interface. */
0045 struct InterExUnknown: public InterfaceException {
0046 /** Standard constructor. */
0047 InterExUnknown(const InterfaceBase & i, const InterfacedBase & o);
0048 };
0049
0050 /** Exception class used in case an a read-only interface is used to
0051 * try to change an object. */
0052 struct InterExReadOnly: public InterfaceException {
0053 /** Standard constructor. */
0054 InterExReadOnly(const InterfaceBase & i, const InterfacedBase & o);
0055 };
0056
0057 /** Exception class used when a reference non-nullable interface tries
0058 to set a reference to null. */
0059 struct InterExNoNull: public InterfaceException {
0060 /** Standard constructor. */
0061 InterExNoNull(const InterfaceBase & i, const InterfacedBase & o);
0062 };
0063 /** @endcond */
0064
0065 }
0066
0067 #endif /* ThePEG_InterfaceBase_XH */