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 { namespace Int {
35
36 /**
37 * \defgroup FuncThrowInt Integer exceptions
38 * \ingroup FuncThrow
39 */
40
41 //@{
42
43 /// %Exception: Value out of limits
44 class GECODE_INT_EXPORT OutOfLimits : public Exception {
45 public:
46 /// Initialize with location \a l
47 OutOfLimits(const char* l);
48 };
49
50 /// %Exception: Not 0/1 integer
51 class GECODE_INT_EXPORT NotZeroOne : public Exception {
52 public:
53 /// Initialize with location \a l
54 NotZeroOne(const char* l);
55 };
56
57
58 /// %Exception: %Variable created with empty domain
59 class GECODE_INT_EXPORT VariableEmptyDomain : public Exception {
60 public:
61 /// Initialize with location \a l
62 VariableEmptyDomain(const char* l);
63 };
64
65 /// %Exception: Too few arguments available in argument array
66 class GECODE_INT_EXPORT TooFewArguments : public Exception {
67 public:
68 /// Initialize with location \a l
69 TooFewArguments(const char* l);
70 };
71
72 /// %Exception: Arguments are of different size
73 class GECODE_INT_EXPORT ArgumentSizeMismatch : public Exception {
74 public:
75 /// Initialize with location \a l
76 ArgumentSizeMismatch(const char* l);
77 };
78
79 /// %Exception: Arguments contain same variable multiply
80 class GECODE_INT_EXPORT ArgumentSame : public Exception {
81 public:
82 /// Initialize with location \a l
83 ArgumentSame(const char* l);
84 };
85
86 /// %Exception: Unknown relation passed as argument
87 class GECODE_INT_EXPORT UnknownRelation : public Exception {
88 public:
89 /// Initialize with location \a l
90 UnknownRelation(const char* l);
91 };
92
93 /// %Exception: Unknown operation passed as argument
94 class GECODE_INT_EXPORT UnknownOperation : public Exception {
95 public:
96 /// Initialize with location \a l
97 UnknownOperation(const char* l);
98 };
99
100 /// %Exception: Illegal operation passed as argument
101 class GECODE_INT_EXPORT IllegalOperation : public Exception {
102 public:
103 /// Initialize with location \a l
104 IllegalOperation(const char* l);
105 };
106
107 /// %Exception: Unknown value or variable selection passed as argument
108 class GECODE_INT_EXPORT UnknownBranching : public Exception {
109 public:
110 /// Initialize with location \a l
111 UnknownBranching(const char* l);
112 };
113
114 /// %Exception: Unknown reification mode passed as argument
115 class GECODE_INT_EXPORT UnknownReifyMode : public Exception {
116 public:
117 /// Initialize with location \a l
118 UnknownReifyMode(const char* l);
119 };
120
121 /// %Exception: Attempt to access value of unassigned variable
122 class GECODE_INT_EXPORT ValOfUnassignedVar : public Exception {
123 public:
124 /// Initialize with location \a l
125 ValOfUnassignedVar(const char* l);
126 };
127
128 /// %Exception: uninitialized tuple set
129 class GECODE_INT_EXPORT UninitializedTupleSet : public Exception {
130 public:
131 /// Initialize with location \a l
132 UninitializedTupleSet(const char* l);
133 };
134
135 /// %Exception: Tuple set not yet finalized
136 class GECODE_INT_EXPORT NotYetFinalized : public Exception {
137 public:
138 /// Initialize with location \a l
139 NotYetFinalized(const char* l);
140 };
141
142 /// %Exception: Tuple set already finalized
143 class GECODE_INT_EXPORT AlreadyFinalized : public Exception {
144 public:
145 /// Initialize with location \a l
146 AlreadyFinalized(const char* l);
147 };
148
149 /// %Exception: Variable in symmetry not branched on
150 class GECODE_INT_EXPORT LDSBUnbranchedVariable : public Exception {
151 public:
152 /// Initialize with location \a l
153 LDSBUnbranchedVariable(const char* l);
154 };
155
156 /// %Exception: Value selection incompatible with LDSB
157 class GECODE_INT_EXPORT LDSBBadValueSelection : public Exception {
158 public:
159 /// Initialize with location \a l
160 LDSBBadValueSelection(const char* l);
161 };
162
163 //@}
164
165}}
166
167// STATISTICS: int-other
168