thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
ParVector.xh
1// -*- C++ -*-
2//
3// ParVector.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_ParVector_XH
10#define ThePEG_ParVector_XH
11//
12// This is the declarations of the exception classes used by the
13// ParVector class.
14//
15
16#include "InterfaceBase.xh"
17
18namespace ThePEG {
19
20/** @cond EXCEPTIONCLASSES */
21/** Exception class used by ParVector if a value is set outside the
22 * given limits. */
23struct ParVExLimit: public InterfaceException {
24 /** Standard constructor. */
25 template <typename T>
26 ParVExLimit(const InterfaceBase & i, const InterfacedBase & o, T v);
27};
28
29/** Exception class used by ParVector if an unknown error was encountered. */
30struct ParVExUnknown: public InterfaceException {
31 /** Standard constructor. */
32 template <typename T>
33 ParVExUnknown(const InterfaceBase & i, const InterfacedBase & o,
34 T v, int j, const char * s);
35};
36
37/** Exception class used by ParVector if an index is outside the given
38 * limits. */
39struct ParVExIndex: public InterfaceException {
40 /** Standard constructor. */
41 ParVExIndex(const InterfaceBase & i, const InterfacedBase & o, int index);
42};
43
44/** Exception class used by ParVector if the size of a fixed-size
45 * container is changed. */
46struct ParVExFixed: public InterfaceException {
47 /** Standard constructor. */
48 ParVExFixed(const InterfaceBase & i, const InterfacedBase & o);
49};
50
51/** Exception class used by ParVector if an unknown error was encountered. */
52struct ParVExDelUnknown: public InterfaceException {
53 /** Standard constructor. */
54 ParVExDelUnknown(const InterfaceBase & i, const InterfacedBase & o, int j);
55};
56
57/** Exception class used by ParVector if an unknown error was encountered. */
58struct ParVExGetUnknown: public InterfaceException {
59 /** Standard constructor. */
60 ParVExGetUnknown(const InterfaceBase & i,
61 const InterfacedBase & o, const char * s);
62};
63/** @endcond */
64
65}
66
67#endif /* ThePEG_ParVector_XH */
68