* \brief Which values to select for assignment * * \ingroup TaskModelIntBranch */
| 5116 | * \ingroup TaskModelIntBranch |
| 5117 | */ |
| 5118 | class IntAssign : public ValBranch<IntVar> { |
| 5119 | public: |
| 5120 | /// Which value selection |
| 5121 | enum Select { |
| 5122 | SEL_MIN, ///< Select smallest value |
| 5123 | SEL_MED, ///< Select greatest value not greater than the median |
| 5124 | SEL_MAX, ///< Select largest value |
| 5125 | SEL_RND, ///< Select random value |
| 5126 | SEL_VAL_COMMIT ///< Select value according to user-defined functions |
| 5127 | }; |
| 5128 | protected: |
| 5129 | /// Which value to select |
| 5130 | Select s; |
| 5131 | public: |
| 5132 | /// Initialize with selection strategy \a s |
| 5133 | IntAssign(Select s = SEL_MIN); |
| 5134 | /// Initialize with random number generator \a r |
| 5135 | IntAssign(Rnd r); |
| 5136 | /// Initialize with value function \a f and commit function \a c |
| 5137 | IntAssign(IntBranchVal v, IntBranchCommit c); |
| 5138 | /// Return selection strategy |
| 5139 | Select select(void) const; |
| 5140 | }; |
| 5141 | |
| 5142 | /** |
| 5143 | * \brief Which values to select for assignment |
no outgoing calls
no test coverage detected