Something went wrong. Try again.
This repository has no description
Something went wrong. Try again.
6.8 kB · 193 lines
at develop
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194## Main authors:# Guido Tack <tack@gecode.org>## Contributing authors:# Christian Schulte <schulte@gecode.org>## Copyright:# Guido Tack, 2004# Christian Schulte, 2006## This file is part of Gecode, the generic constraint# development environment:# http://www.gecode.org## Permission is hereby granted, free of charge, to any person obtaining# a copy of this software and associated documentation files (the# "Software"), to deal in the Software without restriction, including# without limitation the rights to use, copy, modify, merge, publish,# distribute, sublicense, and/or sell copies of the Software, and to# permit persons to whom the Software is furnished to do so, subject to# the following conditions:## The above copyright notice and this permission notice shall be# included in all copies or substantial portions of the Software.## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.#[General]Name: SetNamespace: Gecode::SetIfdef: GECODE_HAS_SET_VARSBits: 0Dispose: false[ModEventHeader] /** * \defgroup TaskActorSetMEPC Set modification events and propagation conditions * \ingroup TaskActorSet */ //@{[ModEvent]Name: FAILED=FAILED /// Domain operation has resulted in failure[ModEvent]Name: NONE=NONE /// Domain operation has not changed domain[ModEvent]Name: VAL=ASSIGNEDCombine: VAL=VAL,CARD=VAL,LUB=VAL,GLB=VAL,BB=VAL,CLUB=VAL,CGLB=VAL,CBB=VAL /// Domain operation has resulted in a value (assigned variable)[ModEvent]Name: CARDCombine: VAL=VAL,CARD=CARD,LUB=CLUB,GLB=CGLB,BB=CBB,CLUB=CLUB,CGLB=CGLB,CBB=CBB /** * \brief Domain operation has changed the variable cardinality * * Note that this implies that the domain has not resulted in a value. */[ModEvent]Name: LUBCombine: VAL=VAL,CARD=CLUB,LUB=LUB,GLB=BB,BB=BB,CLUB=CLUB,CGLB=CGLB,CBB=CBB /** * \brief Domain operation has changed the least upper bound * * Note that this implies that the domain has not resulted in a value * and that also neither cardinality nor the greatest lower bound * have changed. */[ModEvent]Name: GLBCombine: VAL=VAL,CARD=CGLB,LUB=BB,GLB=GLB,BB=BB,CLUB=CBB,CGLB=CGLB,CBB=CBB /** * \brief Domain operation has changed the greatest lower bound * * Note that this implies that the domain has not resulted in a value * and that also neither cardinality nor the least upper bound * have changed. */[ModEvent]Name: BBCombine: VAL=VAL,CARD=CBB,LUB=BB,GLB=BB,BB=BB,CLUB=CBB,CGLB=CBB,CBB=CBB /** * \brief Domain operation has changed both greatest lower and least * upper bound * * Note that this implies that the domain has not resulted in a value * and that also the cardinality has not changed. */[ModEvent]Name: CLUBCombine: VAL=VAL,CARD=CLUB,LUB=CLUB,GLB=CBB,BB=CBB,CLUB=CLUB,CGLB=CBB,CBB=CBB /** * \brief Domain operation has changed the least upper bound and the cardinality * * Note that this implies that the domain has not resulted in a value * and that also the greatest lower bound has not changed. */[ModEvent]Name: CGLBCombine: VAL=VAL,CARD=CGLB,LUB=CBB,GLB=CGLB,BB=CBB,CLUB=CBB,CGLB=CGLB,CBB=CBB /** * \brief Domain operation has changed the greatest lower bound and the cardinality * * Note that this implies that the domain has not resulted in a value * and that also the least upper bound has not changed. */[ModEvent]Name: CBB=SUBSCRIBECombine: VAL=VAL,CARD=CBB,LUB=CBB,GLB=CBB,BB=CBB,CLUB=CBB,CGLB=CBB,CBB=CBB /** * \brief Domain operation has changed both the greatest lower bound and * the least upper bound, as well as the cardinality * * Note that this implies that the domain has not resulted in a value. * * If a propagator subscribes to this variable, it will be processed * assuming a ME_SET_CBB modification event. * */[ModEventFooter][PropCondHeader][PropCond]Name: NONE=NONE /// Propagation condition to be ignored (convenience)[PropCond]Name: VAL=ASSIGNEDScheduledBy: VAL /** * \brief Propagate when a view becomes assigned (single value) * * If a propagator \a p depends on a view \a x with propagation * condition PC_SET_VAL, then \a p is propagated when a domain * update operation on \a x returns the modification event ME_SET_VAL. */[PropCond]Name: CARDScheduledBy: VAL,CARD,CGLB,CLUB,CBB /** * \brief Propagate when the cardinality of a view changes * * If a propagator \a p depends on a view \a x with propagation * condition PC_SET_CARD, then \a p is propagated when a domain * update operation on \a x returns the modification event ME_SET_VAL, * ME_SET_CARD, ME_SET_CGLB, ME_SET_CLUB, or ME_SET_CBB. */[PropCond]Name: CLUBScheduledBy: VAL,CARD,LUB,BB,CLUB,CGLB,CBB /** * \brief Propagate when the cardinality or the least upper bound * of a view changes * * If a propagator \a p depends on a view \a x with propagation * condition PC_SET_CLUB, then \a p is propagated when a domain * update operation on \a x returns the modification event ME_SET_VAL, * ME_SET_LUB, ME_SET_BB, ME_SET_CARD, ME_SET_CGLB, ME_SET_CLUB, * or ME_SET_CBB. */[PropCond]Name: CGLBScheduledBy: VAL,CARD,GLB,BB,CLUB,CGLB,CBB /** * \brief Propagate when the cardinality or the greatest lower bound * of a view changes * * If a propagator \a p depends on a view \a x with propagation * condition PC_SET_CGLB, then \a p is propagated when a domain * update operation on \a x returns the modification event ME_SET_VAL, * ME_SET_GLB, ME_SET_BB, ME_SET_CARD, ME_SET_CGLB, ME_SET_CLUB, * or ME_SET_CBB. */[PropCond]Name: ANYScheduledBy: VAL,CARD,LUB,GLB,BB,CLUB,CGLB,CBB /** * \brief Propagate when any bound or the cardinality * of a view changes * * If a propagator \a p depends on a view \a x with propagation * condition PC_SET_ANY, then \a p is propagated when a domain * update operation on \a x returns any modification event but ME_SET_FAILED * and ME_SET_NONE. */[PropCondFooter] //@}[End]