Generated on Wed Jan 4 17:49:13 2006 for Gecode by doxygen 1.4.6

hull.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: 2005-11-24 18:03:01 +0100 (Thu, 24 Nov 2005) $ by $Author: tack $
00016  *     $Revision: 2639 $
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 { namespace Set { namespace Convex {
00029 
00030   /*
00031    * "Convex hull" propagator
00032    *
00033    */
00034 
00035   forceinline
00036   ConvexHull::ConvexHull(Space* home, SetView y0, SetView y1)
00037     : Propagator(home), x0(y0), x1(y1) {
00038     x0.subscribe(home,this,PC_SET_CGLB);
00039     x1.subscribe(home,this,PC_SET_ANY);
00040   }
00041 
00042   forceinline
00043   ConvexHull::ConvexHull(Space* home, bool share, ConvexHull& p)
00044     : Propagator(home,share,p) {
00045     x0.update(home,share,p.x0);
00046     x1.update(home,share,p.x1);
00047   }
00048 
00049   forceinline ExecStatus
00050   ConvexHull::post(Space* home, SetView x, SetView y) {
00051     (void) new (home) ConvexHull(home,x,y);
00052     return ES_OK;
00053   }
00054 
00055 
00056 }}}
00057 
00058 // STATISTICS: set-prop