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

assign.icc

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-07-18 15:18:31 +0200 (Tue, 18 Jul 2006) $ by $Author: schulte $
00010  *     $Revision: 3388 $
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 namespace Gecode { namespace Int { namespace Branch {
00023 
00024   /*
00025    * Branching descriptions for assignments with position and value
00026    *
00027    */
00028   forceinline
00029   AssignDesc::AssignDesc(const Branching* b, const int p, const int n)
00030     : BranchingDesc(b,1), _pos(p), _val(n) {}
00031   forceinline int
00032   AssignDesc::pos(void) const {
00033     return _pos;
00034   }
00035   forceinline int
00036   AssignDesc::val(void) const {
00037     return _val;
00038   }
00039 
00040 
00041   forceinline
00042   Assign::Assign(Space* home, bool share, Assign& b)
00043     : Branching(home,share,b), pos(b.pos) {
00044     x.update(home,share,b.x);
00045   }
00046   forceinline
00047   Assign::Assign(Space* home, ViewArray<IntView>& x1)
00048     : Branching(home), x(x1), pos(0) {}
00049 
00050 
00051   forceinline
00052   AssignMin::AssignMin(Space* home, bool share, AssignMin& b)
00053     : Assign(home,share,b) {}
00054   forceinline
00055   AssignMin::AssignMin(Space* home, ViewArray<IntView>& x)
00056     : Assign(home,x) {}
00057 
00058   forceinline
00059   AssignMed::AssignMed(Space* home, bool share, AssignMed& b)
00060     : Assign(home,share,b) {}
00061   forceinline
00062   AssignMed::AssignMed(Space* home, ViewArray<IntView>& x)
00063     : Assign(home,x) {}
00064 
00065 
00066   forceinline
00067   AssignMax::AssignMax(Space* home, bool share, AssignMax& b)
00068     : Assign(home,share,b) {}
00069   forceinline
00070   AssignMax::AssignMax(Space* home, ViewArray<IntView>& x)
00071     : Assign(home,x) {}
00072 
00073 }}}
00074 
00075 // STATISTICS: int-branch
00076