thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
RefVector.xh
1 // -*- C++ -*-
2 //
3 // RefVector.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_RefVector_XH
10 #define ThePEG_RefVector_XH
11 //
12 // This is the declarations of the exception classes used by the
13 // RefVector class.
14 //
15 
16 #include "InterfaceBase.xh"
17 
18 namespace ThePEG {
19 
20 /** @cond EXCEPTIONCLASSES */
21 /** Exception class used by RefVector if trying to set a pointer of
22  * the wrong type. */
23 struct RefVExRefClass: public InterfaceException {
24  /** Standard constructor. */
25  RefVExRefClass(const RefInterfaceBase & i, const InterfacedBase & o,
26  cIBPtr r, const char *);
27 };
28 
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 *);
34 };
35 
36 /** Exception class used by RefVector of a specified object was not
37  * found. */
38 struct RefVExSetUnfound: public InterfaceException {
39  /** Standard constructor. */
40  RefVExSetUnfound(const InterfaceBase & i, const InterfacedBase & o, string);
41 };
42 
43 /** Exception class used by RefVector if a given index was out of
44  * bounds. */
45 struct RefVExIndex: public InterfaceException {
46  /** Standard constructor. */
47  RefVExIndex(const InterfaceBase & i, const InterfacedBase & o, int j);
48 };
49 
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);
55 };
56 
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);
61 };
62 
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);
67 };
68 
69 /** Exception class used by RefVector if manipulating through a null
70  * member function */
71 struct RefVExNoSet: public InterfaceException {
72  /** Standard constructor. */
73  RefVExNoSet(const InterfaceBase & i, const InterfacedBase & o);
74 };
75 
76 /** Exception class used by RefVector if manipulating through a null
77  * member function */
78 struct RefVExNoIns: public InterfaceException {
79  /** Standard constructor. */
80  RefVExNoIns(const InterfaceBase & i, const InterfacedBase & o);
81 };
82 
83 /** Exception class used by RefVector if manipulating through a null
84  * member function */
85 struct RefVExNoDel: public InterfaceException {
86  /** Standard constructor. */
87  RefVExNoDel(const InterfaceBase & i, const InterfacedBase & o);
88 };
89 /** @endcond */
90 
91 }
92 
93 #endif /* ThePEG_RefVector_XH */
94