Generated on Wed Nov 1 15:04:29 2006 for Gecode by doxygen 1.4.5

array.cc

Go to the documentation of this file.
00001 /*
00002  *  Main authors:
00003  *     Christian Schulte <schulte@gecode.org>
00004  *
00005  *  Copyright:
00006  *     Christian Schulte, 2002
00007  *
00008  *  Last modified:
00009  *     $Date: 2006-04-11 15:58:37 +0200 (Tue, 11 Apr 2006) $ by $Author: tack $
00010  *     $Revision: 3188 $
00011  *
00012  *  This file is part of Gecode, the generic constraint
00013  *  development environment:
00014  *     http://www.gecode.org
00015  *
00016  *  See the file "LICENSE" for information on usage and
00017  *  redistribution of this file, and for a
00018  *     DISCLAIMER OF ALL WARRANTIES.
00019  *
00020  */
00021 
00022 #include "gecode/int.hh"
00023 
00024 namespace Gecode {
00025 
00026   IntVarArray::IntVarArray(Space* home, int n, int min, int max)
00027     : VarArray<IntVar>(home,n) {
00028     if ((min < Limits::Int::int_min) || (max > Limits::Int::int_max))
00029       throw Int::VariableOutOfRangeDomain("IntVarArray");
00030     if (min > max)
00031       throw Int::VariableEmptyDomain("IntVarArray");
00032     for (int i = size(); i--; )
00033       x[i].init(home,min,max);
00034   }
00035 
00036   IntVarArray::IntVarArray(Space* home, int n, const IntSet& s)
00037     : VarArray<IntVar>(home,n) {
00038     if ((s.min() < Limits::Int::int_min) || (s.max() > Limits::Int::int_max))
00039       throw Int::VariableOutOfRangeDomain("IntVarArray");
00040     if (s.size() == 0)
00041       throw Int::VariableEmptyDomain("IntVarArray");
00042     for (int i = size(); i--; )
00043       x[i].init(home,s);
00044   }
00045 
00046   BoolVarArray::BoolVarArray(Space* home, int n, int min, int max)
00047     : IntVarArray(home, n) {
00048     if ((min < 0) || (max > 1))
00049       throw Int::VariableOutOfRangeDomain("BoolVarArray");
00050     if (min > max)
00051       throw Int::VariableEmptyDomain("BoolVarArray");
00052     for (int i = size(); i--; )
00053       x[i].init(home,min,max);
00054   }
00055 
00056 
00057 }
00058 
00059 
00060 // STATISTICS: int-post
00061