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

sequence.hh

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-04-11 15:58:37 +0200 (Tue, 11 Apr 2006) $ by $Author: tack $
00016  *     $Revision: 3188 $
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 #ifndef __GECODE_SET_SEQUENCE_HH__
00029 #define __GECODE_SET_SEQUENCE_HH__
00030 
00031 #include "gecode/set.hh"
00032 
00033 namespace Gecode { namespace Set { namespace Sequence {
00034 
00047   class Seq :
00048     public NaryPropagator<SetView, PC_SET_CGLB> {
00049   protected:
00051     Seq(Space* home, bool share,Seq& p);
00053     Seq(Space* home,ViewArray<SetView>&);
00054   public:
00056     GECODE_SET_EXPORT virtual Actor*      copy(Space* home, bool);
00058     GECODE_SET_EXPORT virtual ExecStatus propagate(Space* home);
00060     static ExecStatus post(Space* home,ViewArray<SetView>);
00061   };
00062 
00070   class SeqU : public NaryOnePropagator<SetView,PC_SET_ANY> {
00071   protected:
00072     GLBndSet unionOfDets; //Union of determined variables dropped form x.
00074     SeqU(Space* home, bool share,SeqU& p);
00076     SeqU(Space* home,ViewArray<SetView>&, SetView);
00077   public:
00079     GECODE_SET_EXPORT virtual Actor*     copy(Space* home, bool);
00081     GECODE_SET_EXPORT virtual ExecStatus propagate(Space* home);
00083     static ExecStatus post(Space* home,ViewArray<SetView>, SetView);
00084   };
00085 
00086 
00087 }}}
00088 
00089 #include "gecode/set/rel.hh"
00090 #include "gecode/set/rel-op/common.icc"
00091 #include "gecode/set/sequence/common.icc"
00092 #include "gecode/set/sequence/seq.icc"
00093 #include "gecode/set/sequence/seq-u.icc"
00094 
00095 #endif
00096 
00097 // STATISTICS: set-prop