this repo has no description
1/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */
2/*
3 * Main authors:
4 * Christian Schulte <schulte@gecode.org>
5 *
6 * Copyright:
7 * Christian Schulte, 2004
8 *
9 * This file is part of Gecode, the generic constraint
10 * development environment:
11 * http://www.gecode.org
12 *
13 * Permission is hereby granted, free of charge, to any person obtaining
14 * a copy of this software and associated documentation files (the
15 * "Software"), to deal in the Software without restriction, including
16 * without limitation the rights to use, copy, modify, merge, publish,
17 * distribute, sublicense, and/or sell copies of the Software, and to
18 * permit persons to whom the Software is furnished to do so, subject to
19 * the following conditions:
20 *
21 * The above copyright notice and this permission notice shall be
22 * included in all copies or substantial portions of the Software.
23 *
24 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
25 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
26 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
27 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
28 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
29 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
30 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
31 *
32 */
33
34namespace Gecode {
35
36 /**
37 * \defgroup FuncThrowKernel Kernel exceptions
38 * \ingroup FuncThrow
39 */
40
41 //@{
42
43 /// %Exception: Operation on failed space invoked
44 class GECODE_KERNEL_EXPORT SpaceFailed : public Exception {
45 public:
46 /// Initialize with location \a l
47 SpaceFailed(const char* l);
48 };
49
50 /// %Exception: Operation on not stable space invoked
51 class GECODE_KERNEL_EXPORT SpaceNotStable : public Exception {
52 public:
53 /// Initialize with location \a l
54 SpaceNotStable(const char* l);
55 };
56
57 /// %Exception: Copy constructor did not call base class copy constructor
58 class GECODE_KERNEL_EXPORT SpaceNotCloned : public Exception {
59 public:
60 /// Initialize with location \a l
61 SpaceNotCloned(const char* l);
62 };
63
64 /// %Exception: Commit when no brancher present
65 class GECODE_KERNEL_EXPORT SpaceNoBrancher : public Exception {
66 public:
67 /// Initialize with location \a l
68 SpaceNoBrancher(const char* l);
69 };
70
71 /// %Exception: Commit with illegal alternative
72 class GECODE_KERNEL_EXPORT SpaceIllegalAlternative : public Exception {
73 public:
74 /// Initialize with location \a l
75 SpaceIllegalAlternative(const char* l);
76 };
77
78 /// %Exception: too many groups
79 class GECODE_KERNEL_EXPORT TooManyGroups : public Exception {
80 public:
81 /// Initialize with location \a l
82 TooManyGroups(const char* l);
83 };
84
85 /// %Exception: unknown propagator
86 class GECODE_KERNEL_EXPORT UnknownPropagator : public Exception {
87 public:
88 /// Initialize with location \a l
89 UnknownPropagator(const char* l);
90 };
91
92 /// %Exception: too many branchers
93 class GECODE_KERNEL_EXPORT TooManyBranchers : public Exception {
94 public:
95 /// Initialize with location \a l
96 TooManyBranchers(const char* l);
97 };
98
99 /// %Exception: unknown brancher
100 class GECODE_KERNEL_EXPORT UnknownBrancher : public Exception {
101 public:
102 /// Initialize with location \a l
103 UnknownBrancher(const char* l);
104 };
105
106 /// %Exception: illegal decay factor
107 class GECODE_KERNEL_EXPORT IllegalDecay : public Exception {
108 public:
109 /// Initialize with location \a l
110 IllegalDecay(const char* l);
111 };
112
113 /// %Exception: invalid function
114 class GECODE_KERNEL_EXPORT InvalidFunction : public Exception {
115 public:
116 /// Initialize with location \a l
117 InvalidFunction(const char* l);
118 };
119
120 /// %Exception: uninitialized AFC
121 class GECODE_KERNEL_EXPORT UninitializedAFC : public Exception {
122 public:
123 /// Initialize with location \a l
124 UninitializedAFC(const char* l);
125 };
126
127 /// %Exception: uninitialized action
128 class GECODE_KERNEL_EXPORT UninitializedAction : public Exception {
129 public:
130 /// Initialize with location \a l
131 UninitializedAction(const char* l);
132 };
133
134 /// %Exception: uninitialized CHB
135 class GECODE_KERNEL_EXPORT UninitializedCHB : public Exception {
136 public:
137 /// Initialize with location \a l
138 UninitializedCHB(const char* l);
139 };
140
141 /// %Exception: uninitialized random number generator
142 class GECODE_KERNEL_EXPORT UninitializedRnd : public Exception {
143 public:
144 /// Initialize with location \a l
145 UninitializedRnd(const char* l);
146 };
147
148 /// %Exception: action has wrong arity
149 class GECODE_KERNEL_EXPORT MoreThanOneTracer : public Exception {
150 public:
151 /// Initialize with location \a l
152 MoreThanOneTracer(const char* l);
153 };
154
155 //@}
156
157}
158
159// STATISTICS: kernel-other