precede.hh gecode/set.hh gecode/set/precede/single.hpp Gecode::Set::Precede::Single Gecode::Set::Precede::Single::Index Gecode::Set::Precede Gecode Gecode::Set /*-*-mode:C++;c-basic-offset:2;indent-tabs-mode:nil-*-*/ /* *Mainauthors: *ChristopherMears<Chris.Mears@monash.edu> * *Contributingauthors: *ChristianSchulte<schulte@gecode.org> *GuidoTack<tack@gecode.org> * *Copyright: *ChristopherMears,2011 *ChristianSchulte,2011 *GuidoTack,2011 * *Lastmodified: *$Date:2011-07-1212:49:06+0200(Tue,12Jul2011)$by$Author:tack$ *$Revision:12172$ * *ThisfileispartofGecode,thegenericconstraint *developmentenvironment: *http://www.gecode.org * *Permissionisherebygranted,freeofcharge,toanypersonobtaining *acopyofthissoftwareandassociateddocumentationfiles(the *"Software"),todealintheSoftwarewithoutrestriction,including *withoutlimitationtherightstouse,copy,modify,merge,publish, *distribute,sublicense,and/orsellcopiesoftheSoftware,andto *permitpersonstowhomtheSoftwareisfurnishedtodoso,subjectto *thefollowingconditions: * *Theabovecopyrightnoticeandthispermissionnoticeshallbe *includedinallcopiesorsubstantialportionsoftheSoftware. * *THESOFTWAREISPROVIDED"ASIS",WITHOUTWARRANTYOFANYKIND, *EXPRESSORIMPLIED,INCLUDINGBUTNOTLIMITEDTOTHEWARRANTIESOF *MERCHANTABILITY,FITNESSFORAPARTICULARPURPOSEAND *NONINFRINGEMENT.INNOEVENTSHALLTHEAUTHORSORCOPYRIGHTHOLDERSBE *LIABLEFORANYCLAIM,DAMAGESOROTHERLIABILITY,WHETHERINANACTION *OFCONTRACT,TORTOROTHERWISE,ARISINGFROM,OUTOFORINCONNECTION *WITHTHESOFTWAREORTHEUSEOROTHERDEALINGSINTHESOFTWARE. * */ #ifndef__GECODE_SET_PRECEDE_HH__ #define__GECODE_SET_PRECEDE_HH__ #include<gecode/set.hh> namespaceGecode{namespaceSet{namespacePrecede{ template<classView> classSingle:publicNaryPropagator<View,PC_SET_NONE>{ protected: usingNaryPropagator<View,PC_SET_NONE>::x; classIndex:publicAdvisor{ public: inti; Index(Space&home,Propagator&p,Council<Index>&c,inti); Index(Space&home,boolshare,Index&a); }; Council<Index>c; ints,t; intalpha,beta,gamma; ExecStatusupdateAlpha(Space&home); ExecStatusupdateBeta(Space&home); Single(Homehome,ViewArray<View>&x,ints,intt,intbeta,intgamma); Single(Space&home,boolshare,Single<View>&p); public: virtualPropagator*copy(Space&home,boolshare); virtualPropCostcost(constSpace&,constModEventDelta&)const; virtualsize_tdispose(Space&home); virtualExecStatusadvise(Space&home,Advisor&a,constDelta&d); virtualExecStatuspropagate(Space&home,constModEventDelta&med); staticExecStatuspost(Homehome,ViewArray<View>&x,ints,intt); }; }}} #include<gecode/set/precede/single.hpp> #endif //STATISTICS:set-prop