main page
modules
namespaces
classes
files
Gecode home
Generated on Fri Aug 24 2012 04:52:17 for Gecode by
doxygen
1.8.1.1
gecode
kernel
exception.hpp
Go to the documentation of this file.
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
* Last modified:
10
* $Date: 2009-08-27 04:56:42 +1000 (Thu, 27 Aug 2009) $ by $Author: schulte $
11
* $Revision: 9631 $
12
*
13
* This file is part of Gecode, the generic constraint
14
* development environment:
15
* http://www.gecode.org
16
*
17
* Permission is hereby granted, free of charge, to any person obtaining
18
* a copy of this software and associated documentation files (the
19
* "Software"), to deal in the Software without restriction, including
20
* without limitation the rights to use, copy, modify, merge, publish,
21
* distribute, sublicense, and/or sell copies of the Software, and to
22
* permit persons to whom the Software is furnished to do so, subject to
23
* the following conditions:
24
*
25
* The above copyright notice and this permission notice shall be
26
* included in all copies or substantial portions of the Software.
27
*
28
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
29
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
30
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
31
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
32
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
33
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
34
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
35
*
36
*/
37
38
namespace
Gecode {
39
46
48
class
GECODE_VTABLE_EXPORT
SpaceFailed
:
public
Exception
{
49
public
:
51
SpaceFailed
(
const
char
* l);
52
};
53
55
class
GECODE_VTABLE_EXPORT
SpaceNotStable
:
public
Exception
{
56
public
:
58
SpaceNotStable
(
const
char
* l);
59
};
60
62
class
GECODE_VTABLE_EXPORT
SpaceNoBrancher
:
public
Exception
{
63
public
:
65
SpaceNoBrancher
(
void
);
66
};
67
69
class
GECODE_VTABLE_EXPORT
SpaceIllegalAlternative
:
public
Exception
{
70
public
:
72
SpaceIllegalAlternative
(
void
);
73
};
74
76
class
GECODE_VTABLE_EXPORT
SpaceConstrainUndefined
:
public
Exception
{
77
public
:
79
SpaceConstrainUndefined
(
void
);
80
};
81
83
class
GECODE_VTABLE_EXPORT
TooManyBranchers
:
public
Exception
{
84
public
:
86
TooManyBranchers
(
const
char
* l);
87
};
88
90
91
/*
92
* Classes for exceptions raised by kernel
93
*
94
*/
95
inline
96
SpaceFailed::SpaceFailed
(
const
char
* l)
97
:
Exception
(l,
"Attempt to invoke operation on failed space"
) {}
98
99
inline
100
SpaceNotStable::SpaceNotStable
(
const
char
* l)
101
:
Exception
(l,
"Attempt to invoke operation on not stable space"
) {}
102
103
inline
104
SpaceNoBrancher::SpaceNoBrancher
(
void
)
105
:
Exception
(
"Space::commit"
,
106
"Attempt to commit with no brancher"
) {}
107
108
inline
109
SpaceIllegalAlternative::SpaceIllegalAlternative
(
void
)
110
:
Exception
(
"Space::commit"
,
111
"Attempt to commit with illegal alternative"
) {}
112
113
inline
114
SpaceConstrainUndefined::SpaceConstrainUndefined
(
void
)
115
:
Exception
(
"Space::constrain"
,
116
"Attempt to use undefined constrain function"
) {}
117
118
inline
119
TooManyBranchers::TooManyBranchers
(
const
char
* l)
120
:
Exception
(l,
"Too many branchers created"
) {}
121
122
}
123
124
// STATISTICS: kernel-other