# Set modification events and propagation conditions

[Programming set actors]

## Variables | |

const Gecode::ModEvent | Gecode::Set::ME_SET_FAILED = Gecode::ME_GEN_FAILED |

Domain operation has resulted in failure. | |

const Gecode::ModEvent | Gecode::Set::ME_SET_NONE = Gecode::ME_GEN_NONE |

Domain operation has not changed domain. | |

const Gecode::ModEvent | Gecode::Set::ME_SET_VAL = Gecode::ME_GEN_ASSIGNED |

Domain operation has resulted in a value (assigned variable). | |

const Gecode::ModEvent | Gecode::Set::ME_SET_CARD = Gecode::ME_GEN_ASSIGNED + 1 |

Domain operation has changed the variable cardinality. | |

const Gecode::ModEvent | Gecode::Set::ME_SET_LUB = Gecode::ME_GEN_ASSIGNED + 2 |

Domain operation has changed the least upper bound. | |

const Gecode::ModEvent | Gecode::Set::ME_SET_GLB = Gecode::ME_GEN_ASSIGNED + 3 |

Domain operation has changed the greatest lower bound. | |

const Gecode::ModEvent | Gecode::Set::ME_SET_BB = Gecode::ME_GEN_ASSIGNED + 4 |

Domain operation has changed both greatest lower and least upper bound. | |

const Gecode::ModEvent | Gecode::Set::ME_SET_CLUB = Gecode::ME_GEN_ASSIGNED + 5 |

Domain operation has changed the least upper bound and the cardinality. | |

const Gecode::ModEvent | Gecode::Set::ME_SET_CGLB = Gecode::ME_GEN_ASSIGNED + 6 |

Domain operation has changed the greatest lower bound and the cardinality. | |

const Gecode::ModEvent | Gecode::Set::ME_SET_CBB = Gecode::ME_GEN_ASSIGNED + 7 |

Domain operation has changed both the greatest lower bound and the least upper bound, as well as the cardinality. | |

const Gecode::PropCond | Gecode::Set::PC_SET_NONE = Gecode::PC_GEN_NONE |

Propagation condition to be ignored (convenience). | |

const Gecode::PropCond | Gecode::Set::PC_SET_VAL = Gecode::PC_GEN_ASSIGNED |

Propagate when a view becomes assigned (single value). | |

const Gecode::PropCond | Gecode::Set::PC_SET_CARD = Gecode::PC_GEN_ASSIGNED + 1 |

Propagate when the cardinality of a view changes. | |

const Gecode::PropCond | Gecode::Set::PC_SET_CLUB = Gecode::PC_GEN_ASSIGNED + 2 |

Propagate when the cardinality or the least upper bound of a view changes. | |

const Gecode::PropCond | Gecode::Set::PC_SET_CGLB = Gecode::PC_GEN_ASSIGNED + 3 |

Propagate when the cardinality or the greatest lower bound of a view changes. | |

const Gecode::PropCond | Gecode::Set::PC_SET_ANY = Gecode::PC_GEN_ASSIGNED + 4 |

Propagate when any bound or the cardinality of a view changes. |

## Variable Documentation

Domain operation has resulted in failure.

Definition at line 137 of file var-type.hpp.

Domain operation has not changed domain.

Definition at line 139 of file var-type.hpp.

Domain operation has resulted in a value (assigned variable).

Definition at line 141 of file var-type.hpp.

Domain operation has changed the variable cardinality.

Note that this implies that the domain has not resulted in a value.

Definition at line 147 of file var-type.hpp.

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.

Definition at line 155 of file var-type.hpp.

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.

Definition at line 163 of file var-type.hpp.

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.

Definition at line 171 of file var-type.hpp.

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.

Definition at line 178 of file var-type.hpp.

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.

Definition at line 185 of file var-type.hpp.

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.

Definition at line 196 of file var-type.hpp.

Propagation condition to be ignored (convenience).

Definition at line 198 of file var-type.hpp.

Propagate when a view becomes assigned (single value).

If a propagator *p* depends on a view *x* with propagation condition PC_SET_VAL, then *p* is propagated when a domain update operation on *x* returns the modification event ME_SET_VAL.

Definition at line 206 of file var-type.hpp.

Propagate when the cardinality of a view changes.

If a propagator *p* depends on a view *x* with propagation condition PC_SET_CARD, then *p* is propagated when a domain update operation on *x* returns the modification event ME_SET_VAL, ME_SET_CARD, ME_SET_CGLB, ME_SET_CLUB, or ME_SET_CBB.

Definition at line 215 of file var-type.hpp.

Propagate when the cardinality or the least upper bound of a view changes.

If a propagator *p* depends on a view *x* with propagation condition PC_SET_CLUB, then *p* is propagated when a domain update operation on *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.

Definition at line 226 of file var-type.hpp.

Propagate when the cardinality or the greatest lower bound of a view changes.

If a propagator *p* depends on a view *x* with propagation condition PC_SET_CGLB, then *p* is propagated when a domain update operation on *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.

Definition at line 237 of file var-type.hpp.

Propagate when any bound or the cardinality of a view changes.

If a propagator *p* depends on a view *x* with propagation condition PC_SET_ANY, then *p* is propagated when a domain update operation on *x* returns any modification event but ME_SET_FAILED and ME_SET_NONE.

Definition at line 247 of file var-type.hpp.