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 * Guido Tack <tack@gecode.org>
6 *
7 * Copyright:
8 * Christian Schulte, 2004, 2005
9 * Guido Tack, 2005
10 *
11 * This file is part of Gecode, the generic constraint
12 * development environment:
13 * http://www.gecode.org
14 *
15 * Permission is hereby granted, free of charge, to any person obtaining
16 * a copy of this software and associated documentation files (the
17 * "Software"), to deal in the Software without restriction, including
18 * without limitation the rights to use, copy, modify, merge, publish,
19 * distribute, sublicense, and/or sell copies of the Software, and to
20 * permit persons to whom the Software is furnished to do so, subject to
21 * the following conditions:
22 *
23 * The above copyright notice and this permission notice shall be
24 * included in all copies or substantial portions of the Software.
25 *
26 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
27 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
28 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
29 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
30 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
31 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
32 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
33 *
34 */
35
36namespace Gecode { namespace Set {
37
38 /**
39 * \defgroup FuncThrowSet Set exceptions
40 * \ingroup FuncThrow
41 */
42
43 /// %Exception: Value out of limits
44 class GECODE_SET_EXPORT OutOfLimits : public Exception {
45 public:
46 /// Initialize with location \a l
47 OutOfLimits(const char* l);
48 };
49
50 //@{
51 /// %Exception: %Variable created with empty domain
52 class GECODE_SET_EXPORT VariableEmptyDomain : public Exception {
53 public:
54 /// Initialize with location \a l
55 VariableEmptyDomain(const char* l);
56 };
57
58 /// %Exception: No arguments available in argument array
59 class GECODE_SET_EXPORT TooFewArguments : public Exception {
60 public:
61 /// Initialize with location \a l
62 TooFewArguments(const char* l);
63 };
64
65 /// %Exception: Arguments are of different size
66 class GECODE_SET_EXPORT ArgumentSizeMismatch : public Exception {
67 public:
68 /// Initialize with location \a l
69 ArgumentSizeMismatch(const char* l);
70 };
71
72 /// %Exception: Unknown value or variable selection passed as argument
73 class GECODE_SET_EXPORT UnknownBranching : public Exception {
74 public:
75 /// Initialize with location \a l
76 UnknownBranching(const char* l);
77 };
78
79 /// %Exception: Unknown relation type passed as argument
80 class GECODE_SET_EXPORT UnknownRelation : public Exception {
81 public:
82 /// Initialize with location \a l
83 UnknownRelation(const char* l);
84 };
85
86 /// %Exception: Unknown operation type passed as argument
87 class GECODE_SET_EXPORT UnknownOperation : public Exception {
88 public:
89 /// Initialize with location \a l
90 UnknownOperation(const char* l);
91 };
92
93 /// %Exception: Illegal operation passed as argument
94 class GECODE_SET_EXPORT IllegalOperation : public Exception {
95 public:
96 /// Initialize with location \a l
97 IllegalOperation(const char* l);
98 };
99
100 //@}
101
102}}
103
104// STATISTICS: set-other
105