3 // RefVector.xh is a part of ThePEG - Toolkit for HEP Event Generation
4 // Copyright (C) 1999-2011 Leif Lonnblad
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.
9 #ifndef ThePEG_RefVector_XH
10 #define ThePEG_RefVector_XH
12 // This is the declarations of the exception classes used by the
16 #include "InterfaceBase.xh"
20 /** @cond EXCEPTIONCLASSES */
21 /** Exception class used by RefVector if trying to set a pointer of
23 struct RefVExRefClass: public InterfaceException {
24 /** Standard constructor. */
25 RefVExRefClass(const RefInterfaceBase & i, const InterfacedBase & o,
26 cIBPtr r, const char *);
29 /** Exception class used by RefVector if an unknown error occurs. */
30 struct RefVExSetUnknown: public InterfaceException {
31 /** Standard constructor. */
32 RefVExSetUnknown(const RefInterfaceBase & i, const InterfacedBase & o,
33 cIBPtr r, int j, const char *);
36 /** Exception class used by RefVector of a specified object was not
38 struct RefVExSetUnfound: public InterfaceException {
39 /** Standard constructor. */
40 RefVExSetUnfound(const InterfaceBase & i, const InterfacedBase & o, string);
43 /** Exception class used by RefVector if a given index was out of
45 struct RefVExIndex: public InterfaceException {
46 /** Standard constructor. */
47 RefVExIndex(const InterfaceBase & i, const InterfacedBase & o, int j);
50 /** Exception class used by RefVector if trying to change the size of
51 * a fixed size container. */
52 struct RefVExFixed: public InterfaceException {
53 /** Standard constructor. */
54 RefVExFixed(const InterfaceBase & i, const InterfacedBase & o);
57 /** Exception class used by RefVector if an unknown error occurs. */
58 struct RefVExDelUnknown: public InterfaceException {
59 /** Standard constructor. */
60 RefVExDelUnknown(const InterfaceBase & i, const InterfacedBase & o, int j);
63 /** Exception class used by RefVector if an unknown error occurs. */
64 struct RefVExGetUnknown: public InterfaceException {
65 /** Standard constructor. */
66 RefVExGetUnknown(const InterfaceBase & i, const InterfacedBase & o);
69 /** Exception class used by RefVector if manipulating through a null
71 struct RefVExNoSet: public InterfaceException {
72 /** Standard constructor. */
73 RefVExNoSet(const InterfaceBase & i, const InterfacedBase & o);
76 /** Exception class used by RefVector if manipulating through a null
78 struct RefVExNoIns: public InterfaceException {
79 /** Standard constructor. */
80 RefVExNoIns(const InterfaceBase & i, const InterfacedBase & o);
83 /** Exception class used by RefVector if manipulating through a null
85 struct RefVExNoDel: public InterfaceException {
86 /** Standard constructor. */
87 RefVExNoDel(const InterfaceBase & i, const InterfacedBase & o);
93 #endif /* ThePEG_RefVector_XH */