@@ -208,8 +208,6 @@ namespace Gecode {
208208 // / Initialize with \a n ranges from array \a r
209209 GECODE_INT_EXPORT void init (const int r[][2 ], int n);
210210 public:
211- // / Remove initialization test
212- operator bool (void ) const = delete;
213211 // / \name Constructors and initialization
214212 // @{
215213 // / Initialize as empty set
@@ -218,15 +216,15 @@ namespace Gecode {
218216 *
219217 * Note that the set is empty if \a n is larger than \a m
220218 */
221- IntSet (int n, int m);
219+ explicit IntSet (int n, int m);
222220 // / Initialize with \a n integers from array \a r
223- IntSet (const int r[], int n);
221+ explicit IntSet (const int r[], int n);
224222 /* * \brief Initialize with \a n ranges from array \a r
225223 *
226224 * For position \a i in the array \a r, the minimum is \a r[\a i][0]
227225 * and the maximum is \a r[\a i][1].
228226 */
229- IntSet (const int r[][2 ], int n);
227+ explicit IntSet (const int r[][2 ], int n);
230228 // / Initialize with range iterator \a i
231229 template <class I >
232230 explicit IntSet (I& i);
@@ -235,14 +233,14 @@ namespace Gecode {
235233 explicit IntSet (const I& i);
236234 // / Initialize with integers from list \a r
237235 GECODE_INT_EXPORT
238- IntSet (std::initializer_list<int > r);
236+ explicit IntSet (std::initializer_list<int > r);
239237 /* * \brief Initialize with ranges from vector \a r
240238 *
241239 * The minimum is the first element and the maximum is the
242240 * second element.
243241 */
244242 GECODE_INT_EXPORT
245- IntSet (std::initializer_list<std::pair<int ,int >> r);
243+ explicit IntSet (std::initializer_list<std::pair<int ,int >> r);
246244 // @}
247245
248246 // / \name Range access
0 commit comments