exception.hpp
Go to the documentation of this file.00001 /* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ 00002 /* 00003 * Main authors: 00004 * Christian Schulte <schulte@gecode.org> 00005 * 00006 * Copyright: 00007 * Christian Schulte, 2004 00008 * 00009 * This file is part of Gecode, the generic constraint 00010 * development environment: 00011 * http://www.gecode.org 00012 * 00013 * Permission is hereby granted, free of charge, to any person obtaining 00014 * a copy of this software and associated documentation files (the 00015 * "Software"), to deal in the Software without restriction, including 00016 * without limitation the rights to use, copy, modify, merge, publish, 00017 * distribute, sublicense, and/or sell copies of the Software, and to 00018 * permit persons to whom the Software is furnished to do so, subject to 00019 * the following conditions: 00020 * 00021 * The above copyright notice and this permission notice shall be 00022 * included in all copies or substantial portions of the Software. 00023 * 00024 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 00025 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 00026 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 00027 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 00028 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 00029 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 00030 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 00031 * 00032 */ 00033 00034 namespace Gecode { 00035 00042 00044 class GECODE_KERNEL_EXPORT SpaceFailed : public Exception { 00045 public: 00047 SpaceFailed(const char* l); 00048 }; 00049 00051 class GECODE_KERNEL_EXPORT SpaceNotStable : public Exception { 00052 public: 00054 SpaceNotStable(const char* l); 00055 }; 00056 00058 class GECODE_KERNEL_EXPORT SpaceNotCloned : public Exception { 00059 public: 00061 SpaceNotCloned(const char* l); 00062 }; 00063 00065 class GECODE_KERNEL_EXPORT SpaceNoBrancher : public Exception { 00066 public: 00068 SpaceNoBrancher(const char* l); 00069 }; 00070 00072 class GECODE_KERNEL_EXPORT SpaceIllegalAlternative : public Exception { 00073 public: 00075 SpaceIllegalAlternative(const char* l); 00076 }; 00077 00079 class GECODE_KERNEL_EXPORT TooManyGroups : public Exception { 00080 public: 00082 TooManyGroups(const char* l); 00083 }; 00084 00086 class GECODE_KERNEL_EXPORT UnknownPropagator : public Exception { 00087 public: 00089 UnknownPropagator(const char* l); 00090 }; 00091 00093 class GECODE_KERNEL_EXPORT TooManyBranchers : public Exception { 00094 public: 00096 TooManyBranchers(const char* l); 00097 }; 00098 00100 class GECODE_KERNEL_EXPORT UnknownBrancher : public Exception { 00101 public: 00103 UnknownBrancher(const char* l); 00104 }; 00105 00107 class GECODE_KERNEL_EXPORT IllegalDecay : public Exception { 00108 public: 00110 IllegalDecay(const char* l); 00111 }; 00112 00114 class GECODE_KERNEL_EXPORT InvalidFunction : public Exception { 00115 public: 00117 InvalidFunction(const char* l); 00118 }; 00119 00121 class GECODE_KERNEL_EXPORT UninitializedAFC : public Exception { 00122 public: 00124 UninitializedAFC(const char* l); 00125 }; 00126 00128 class GECODE_KERNEL_EXPORT UninitializedAction : public Exception { 00129 public: 00131 UninitializedAction(const char* l); 00132 }; 00133 00135 class GECODE_KERNEL_EXPORT UninitializedCHB : public Exception { 00136 public: 00138 UninitializedCHB(const char* l); 00139 }; 00140 00142 class GECODE_KERNEL_EXPORT UninitializedRnd : public Exception { 00143 public: 00145 UninitializedRnd(const char* l); 00146 }; 00147 00149 class GECODE_KERNEL_EXPORT MoreThanOneTracer : public Exception { 00150 public: 00152 MoreThanOneTracer(const char* l); 00153 }; 00154 00156 00157 } 00158 00159 // STATISTICS: kernel-other