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