Back to home page

EIC code displayed by LXR

 
 

    


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 */