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

imp-body.icc

Go to the documentation of this file.
00001 /*
00002  *  CAUTION:
00003  *    This file has been automatically generated.
00004  *    Do not edit, edit the file "gecode/int/var-imp.vis" instead.
00005  *
00006  *  This file contains generated code fragments which are 
00007  *  copyrighted as follows:
00008  *
00009  *  Main author:
00010  *     Christian Schulte <schulte@gecode.org>
00011  *
00012  *  Copyright:
00013  *     Christian Schulte, 2006
00014  *
00015  *  The generated code fragments are part of Gecode, the generic
00016  *  constraint development environment:
00017  *     http://www.gecode.org
00018  *
00019  *  See the file "LICENSE" for information on usage and
00020  *  redistribution of this file, and for a
00021  *     DISCLAIMER OF ALL WARRANTIES.
00022  *
00023  */
00024 
00025 
00026 namespace Gecode { namespace Int {
00027 
00028 
00029 
00030   /*
00031    * The variable processor for IntVarImpBase
00032    *
00033    */
00034 
00035   void
00036   IntVarImpBase::Processor::process(Space* home, VarBase* _x) {
00037     // Process modified variables
00038     Gecode::Variable<VTI_INT,PC_INT_DOM,IntMeDiff>* x = 
00039       static_cast<Gecode::Variable<VTI_INT,PC_INT_DOM,IntMeDiff>*>(_x);
00040     do {
00041       switch (x->modevent()) {
00042       case ME_INT_VAL:
00043         x->process(home);
00044         break;
00045       case ME_INT_BND:
00046         // Conditions: BND DOM 
00047         x->process(home,PC_INT_BND,PC_INT_DOM,ME_INT_BND);
00048         break;
00049       case ME_INT_DOM:
00050         // Conditions: DOM 
00051         x->process(home,PC_INT_DOM,PC_INT_DOM,ME_INT_DOM);
00052         break;
00053       default: GECODE_NEVER;
00054       }
00055       x = x->next();
00056     } while (x != NULL);
00057   }
00058 
00059   
00060   IntVarImpBase::Processor IntVarImpBase::p;
00061 
00062 
00063 }}
00064 
00065 // STATISTICS: int-var