thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
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
18namespace ThePEG {
19
20/** @cond EXCEPTIONCLASSES */
21/** Exception class used by RefVector if trying to set a pointer of
22 * the wrong type. */
23struct 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. */
30struct 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. */
38struct 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. */
45struct 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. */
52struct 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. */
58struct 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. */
64struct 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 */
71struct 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 */
78struct 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 */
85struct 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