* \brief %Set variable array * \ingroup TaskModelSetVarArrays */
| 573 | * \ingroup TaskModelSetVarArrays |
| 574 | */ |
| 575 | class SetVarArray : public VarArray<SetVar> { |
| 576 | public: |
| 577 | /// \name Creation and initialization |
| 578 | //@{ |
| 579 | /// Default constructor (array of size 0) |
| 580 | SetVarArray(void); |
| 581 | /// Initialize from set variable array \a a (share elements) |
| 582 | SetVarArray(const SetVarArray&); |
| 583 | /// Initialize from set variable argument array \a a (copy elements) |
| 584 | SetVarArray(Space& home, const SetVarArgs&); |
| 585 | /// Allocate array for \a n set variables (variables are uninitialized) |
| 586 | GECODE_SET_EXPORT SetVarArray(Space& home, int n); |
| 587 | /** |
| 588 | * \brief Create an array of size \a n. |
| 589 | * |
| 590 | * Each variable is initialized with the bounds and cardinality as |
| 591 | * given by the arguments. |
| 592 | */ |
| 593 | GECODE_SET_EXPORT |
| 594 | SetVarArray(Space& home,int n,int glbMin,int glbMax,int lubMin,int lubMax, |
| 595 | unsigned int minCard = 0, |
| 596 | unsigned int maxCard = Set::Limits::card); |
| 597 | /** |
| 598 | * \brief Create an array of size \a n. |
| 599 | * |
| 600 | * Each variable is initialized with the bounds and cardinality as |
| 601 | * given by the arguments. |
| 602 | */ |
| 603 | GECODE_SET_EXPORT |
| 604 | SetVarArray(Space& home,int n,const IntSet& glb, int lubMin, int lubMax, |
| 605 | unsigned int minCard = 0, |
| 606 | unsigned int maxCard = Set::Limits::card); |
| 607 | /** |
| 608 | * \brief Create an array of size \a n. |
| 609 | * |
| 610 | * Each variable is initialized with the bounds and cardinality as |
| 611 | * given by the arguments. |
| 612 | */ |
| 613 | GECODE_SET_EXPORT |
| 614 | SetVarArray(Space& home,int n,int glbMin,int glbMax,const IntSet& lub, |
| 615 | unsigned int minCard = 0, |
| 616 | unsigned int maxCard = Set::Limits::card); |
| 617 | /** |
| 618 | * \brief Create an array of size \a n. |
| 619 | * |
| 620 | * Each variable is initialized with the bounds and cardinality as |
| 621 | * given by the arguments. |
| 622 | */ |
| 623 | GECODE_SET_EXPORT |
| 624 | SetVarArray(Space& home,int n, |
| 625 | const IntSet& glb,const IntSet& lub, |
| 626 | unsigned int minCard = 0, |
| 627 | unsigned int maxCard = Set::Limits::card); |
| 628 | /// Assignment operator |
| 629 | SetVarArray& operator =(const SetVarArray&) = default; |
| 630 | //@} |
| 631 | }; |
| 632 |