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

array.icc

Go to the documentation of this file.
00001 /*
00002  *  Main authors:
00003  *     Guido Tack <tack@gecode.org>
00004  *     Christian Schulte <schulte@gecode.org>
00005  *
00006  *  Contributing authors:
00007  *     Gabor Szokoli <szokoli@gecode.org>
00008  *
00009  *  Copyright:
00010  *     Guido Tack, 2004
00011  *     Christian Schulte, 2004
00012  *     Gabor Szokoli, 2004
00013  *
00014  *  Last modified:
00015  *     $Date: 2006-07-12 15:53:12 +0200 (Wed, 12 Jul 2006) $ by $Author: tack $
00016  *     $Revision: 3349 $
00017  *
00018  *  This file is part of Gecode, the generic constraint
00019  *  development environment:
00020  *     http://www.gecode.org
00021  *
00022  *  See the file "LICENSE" for information on usage and
00023  *  redistribution of this file, and for a
00024  *     DISCLAIMER OF ALL WARRANTIES.
00025  *
00026  */
00027 
00028 namespace Gecode {
00029 
00039 
00040   typedef VarArgArray<SetVar>  SetVarArgs;
00042 
00058   class GECODE_SET_EXPORT SetVarArray : public VarArray<SetVar> {
00059   public:
00060     SetVarArray(void);
00061     SetVarArray(const SetVarArray&);
00063     SetVarArray(Space* home,int n);
00070     SetVarArray(Space* home,int n,int glbMin,int glbMax,int lubMin,int lubMax,
00071                 unsigned int minCard = 0,
00072                 unsigned int maxCard = Limits::Set::card_max);
00079     SetVarArray(Space* home,int n,const IntSet& glb, int lubMin, int lubMax,
00080                 unsigned int minCard = 0,
00081                 unsigned int maxCard = Limits::Set::card_max);
00088     SetVarArray(Space* home,int n,int glbMin,int glbMax,const IntSet& lub,
00089                 unsigned int minCard = 0,
00090                 unsigned int maxCard = Limits::Set::card_max);
00097     SetVarArray(Space* home,int n,
00098                 const IntSet& glb,const IntSet& lub,
00099                 unsigned int minCard = 0,
00100                 unsigned int maxCard = Limits::Set::card_max);
00101   };
00102   
00104   template <>
00105   class ArrayTraits<SetVarArray> {
00106   public:
00107     typedef SetVarArgs   storage_type;
00108     typedef SetVar       value_type;
00109     typedef SetVarArgs   args_type;
00110   };
00112   template <>
00113   class ArrayTraits<SetVarArgs> {
00114   public:
00115     typedef SetVarArgs storage_type;
00116     typedef SetVar     value_type;
00117     typedef SetVarArgs args_type;
00118   };
00119 
00120   /*
00121    * Implementation
00122    *
00123    */
00124 
00125   forceinline
00126   SetVarArray::SetVarArray(void) {}
00127 
00128   forceinline
00129   SetVarArray::SetVarArray(const SetVarArray& a)
00130     : VarArray<SetVar>(a) {}
00131 
00132 }
00133 
00134 // STATISTICS: set-other