* \brief Recording CHB for set variables * * \ingroup TaskModelSetBranch */
| 1246 | * \ingroup TaskModelSetBranch |
| 1247 | */ |
| 1248 | class SetCHB : public CHB { |
| 1249 | public: |
| 1250 | /** |
| 1251 | * \brief Construct as not yet initialized |
| 1252 | * |
| 1253 | * The only member functions that can be used on a constructed but not |
| 1254 | * yet initialized CHB storage is init or the assignment operator. |
| 1255 | * |
| 1256 | */ |
| 1257 | SetCHB(void); |
| 1258 | /// Copy constructor |
| 1259 | SetCHB(const SetCHB& chb); |
| 1260 | /// Assignment operator |
| 1261 | SetCHB& operator =(const SetCHB& chb); |
| 1262 | /** |
| 1263 | * \brief Initialize for set variables \a x |
| 1264 | * |
| 1265 | * If the branch merit function \a bm is different from nullptr, the |
| 1266 | * action for each variable is initialized with the merit returned |
| 1267 | * by \a bm. |
| 1268 | * |
| 1269 | */ |
| 1270 | GECODE_SET_EXPORT |
| 1271 | SetCHB(Home home, const SetVarArgs& x, SetBranchMerit bm=nullptr); |
| 1272 | /** |
| 1273 | * \brief Initialize for set variables \a x |
| 1274 | * |
| 1275 | * If the branch merit function \a bm is different from nullptr, the |
| 1276 | * action for each variable is initialized with the merit returned |
| 1277 | * by \a bm. |
| 1278 | * |
| 1279 | * This member function can only be used once and only if the |
| 1280 | * action storage has been constructed with the default constructor. |
| 1281 | * |
| 1282 | */ |
| 1283 | GECODE_SET_EXPORT void |
| 1284 | init(Home home, const SetVarArgs& x, SetBranchMerit bm=nullptr); |
| 1285 | }; |
| 1286 | |
| 1287 | } |
| 1288 |