array.cc
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
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
00061