Generated on Mon Aug 25 11:35:34 2008 for Gecode by doxygen 1.5.6

exception.icc

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  *     Guido Tack <tack@gecode.org>
00006  *
00007  *  Copyright:
00008  *     Christian Schulte, 2004,2005
00009  *     Guido Tack, 2005
00010  *
00011  *  Last modified:
00012  *     $Date: 2007-12-06 14:09:40 +0100 (Thu, 06 Dec 2007) $ by $Author: tack $
00013  *     $Revision: 5608 $
00014  *
00015  *  This file is part of Gecode, the generic constraint
00016  *  development environment:
00017  *     http://www.gecode.org
00018  *
00019  *  Permission is hereby granted, free of charge, to any person obtaining
00020  *  a copy of this software and associated documentation files (the
00021  *  "Software"), to deal in the Software without restriction, including
00022  *  without limitation the rights to use, copy, modify, merge, publish,
00023  *  distribute, sublicense, and/or sell copies of the Software, and to
00024  *  permit persons to whom the Software is furnished to do so, subject to
00025  *  the following conditions:
00026  *
00027  *  The above copyright notice and this permission notice shall be
00028  *  included in all copies or substantial portions of the Software.
00029  *
00030  *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
00031  *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
00032  *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
00033  *  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
00034  *  LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
00035  *  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
00036  *  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
00037  *
00038  */
00039 
00040 namespace Gecode { namespace CpltSet {
00041 
00049 
00051   class GECODE_VTABLE_EXPORT VariableOutOfRangeDomain : public Exception {
00052   public:
00054     VariableOutOfRangeDomain(const char* l);
00055   };
00056 
00058   class GECODE_VTABLE_EXPORT GlbLubSpecNoSubset : public Exception {
00059   public:
00061     GlbLubSpecNoSubset(const char* l);
00062   };
00063 
00065   class GECODE_VTABLE_EXPORT VariableOutOfRangeCardinality
00066   : public Exception {
00067   public:
00069     VariableOutOfRangeCardinality(const char* l);
00070   };
00071 
00073   class GECODE_VTABLE_EXPORT VariableFailedDomain : public Exception {
00074   public:
00076     VariableFailedDomain(const char* l);
00077   };
00078 
00080   class GECODE_VTABLE_EXPORT VariableInvalidDomainSpec : public Exception {
00081   public:
00083     VariableInvalidDomainSpec(const char* l);
00084   };
00085 
00087   class GECODE_VTABLE_EXPORT ArgumentEmpty : public Exception {
00088   public:
00090     ArgumentEmpty(const char* l);
00091   };
00092   
00094   class GECODE_VTABLE_EXPORT ArgumentSizeMismatch : public Exception  {
00095   public:
00097     ArgumentSizeMismatch(const char* l);
00098   };
00099 
00101   class GECODE_VTABLE_EXPORT InvalidRelation : public Exception  {
00102   public:
00104     InvalidRelation(const char* l);
00105   };
00106 
00108   class GECODE_VTABLE_EXPORT InvalidProjector : public Exception  {
00109   public:
00111     InvalidProjector(const char* l);
00112   };
00113 
00115   class GECODE_VTABLE_EXPORT UnknownBranching : public Exception {
00116   public:
00118     UnknownBranching(const char* l);
00119   };
00120 
00121 
00123 
00129   inline
00130   VariableOutOfRangeDomain::VariableOutOfRangeDomain(const char* l)
00131     : Exception(l,"Attempt to create variable with wrong values") {}
00132 
00133   inline
00134   GlbLubSpecNoSubset::GlbLubSpecNoSubset(const char* l) 
00135     : Exception(l,"Attempt to create variable where glb is not a subset of lub") {}
00136 
00137   inline
00138   VariableOutOfRangeCardinality::VariableOutOfRangeCardinality(const char* l)
00139     : Exception(l,"Attempt to create variable with wrong cardinality") {}
00140 
00141   inline
00142   VariableFailedDomain::VariableFailedDomain(const char* l)
00143     : Exception(l,"Attempt to create variable with initially failed domain") {}
00144 
00145   inline
00146     VariableInvalidDomainSpec::VariableInvalidDomainSpec(const char* l)
00147     : Exception(l,"Attempt to create variable with invalid domain specification") {}
00148 
00149   inline
00150   ArgumentEmpty::ArgumentEmpty(const char* l)
00151     : Exception(l,"Passed argument array has no elements") {}
00152 
00153   inline
00154   ArgumentSizeMismatch::ArgumentSizeMismatch(const char* l)
00155     : Exception(l,"Sizes of argument arrays mismatch") {}
00156 
00157   inline
00158   InvalidRelation::InvalidRelation(const char* l)
00159     : Exception(l,"Invalid relation type") {}
00160 
00161   inline
00162   InvalidProjector::InvalidProjector(const char* l)
00163     : Exception(l,"Invalid projector specification") {}
00164 
00165   inline
00166   UnknownBranching::UnknownBranching(const char* l)
00167     : Exception(l,"Unknown branching type") {}
00168 
00169 
00170 }}
00171 
00172 // STATISTICS: cpltset-other