FRAMES NO FRAMES

Class IlcIntSet

Definition file: ilsolver/intexp.h
Include file: <ilsolver/ilosolver.h>

Finite sets of integers are instances of the handle class IlcIntSet. These sets are used by Solver to represent the domains of enumerated constrained variables and to represent the values of constrained set variables. Solver provides an efficient, optimized implementation of finite sets as bit vectors. These finite sets are known formally as instances of the handle classes IlcAnySet or IlcIntSet, depending on whether their elements are pointers or integers.

The elements of finite sets of type IlcIntSet are integers of type IlcInt. The implementation class for finite sets of integers is the undocumented class IlcIntSetI.

To traverse an existing finite set, either exhaustively or in search of an element, Solver provides iterators (such as instances of IlcIntSetIterator). An iterator is an object constructed from a data structure and contains a traversal state of this data structure.

Note
An IlcIntSet object should not contain an integer of value IlcIntMax . If an integer of value of IlcIntMax is included in an IlcIntSet object, an error can occur when iterating over the set.

See Also:

Constructor Summary
public IlcIntSet()
public IlcIntSet(IlcIntSetI * impl)
public IlcIntSet(IloSolver s, IlcInt min, IlcInt max, IlcBool fullSet=IlcTrue)
public IlcIntSet(const IlcIntArray array, IlcBool fullSet=IlcTrue)
public IlcIntSet(IloSolver s, const IlcIntArray array, IlcBool fullSet=IlcTrue)
Method Summary
public IlcBooladd(IlcInt elt)
public IlcIntSetcopy() const
public IlcIntSetI *getImpl() const
public IlcIntgetSize() const
public IloSolvergetSolver() const
public IlcBoolisIn(IlcInt elt) const
public voidoperator=(const IlcIntSet & h)
public IlcBoolremove(IlcInt elt)
Constructor Detail

IlcIntSet

public IlcIntSet()

This constructor creates an empty handle. You must initialize it before you use it.


IlcIntSet

public IlcIntSet(IlcIntSetI * impl)

This constructor creates a handle object from a pointer to an implementation object.


IlcIntSet

public IlcIntSet(IloSolver s, IlcInt min, IlcInt max, IlcBool fullSet=IlcTrue)

This constructor creates a finite set of integers ranging from min to max included. If min is greater than max, then the empty set is created. If the argument fullset is equal to IlcTrue, the default value, the finite set will initially contain all its possible values. Otherwise, the finite set will initially be empty.


IlcIntSet

public IlcIntSet(const IlcIntArray array, IlcBool fullSet=IlcTrue)

This constructor also creates a finite set of integers containing the elements of array.


IlcIntSet

public IlcIntSet(IloSolver s, const IlcIntArray array, IlcBool fullSet=IlcTrue)

This constructor creates a finite set of integers containing the elements of array. If array contains multiple copies of a given value, that value will appear only one time in the newly created finite set. If the argument fullset is equal to IlcTrue, its default value, the finite set will initially contain all its possible values. Otherwise, the finite set will initially be empty. In any case, the possible elements of the finite set are exactly those elements in array.


Method Detail

add

public IlcBool add(IlcInt elt)

This member function adds elt to the invoking finite set if elt is a possible member of that set and if elt is not already in that set. When both conditions are met, this member function returns IlcTrue. Otherwise, it returns IlcFalse. The effects of this member function are reversible.


copy

public IlcIntSet copy() const

This member function creates and returns a finite set that contains the same elements as the invoking finite set.


getImpl

public IlcIntSetI * getImpl() const
This constructor creates an object by copying another one.

This member function returns a pointer to the implementation object of the invoking handle.


getSize

public IlcInt getSize() const

This member function returns the size of a finite set. Clearly, this member function is useful for testing whether the invoking finite set is empty or not.


getSolver

public IloSolver getSolver() const

This member function returns an instance of IloSolver associated with the invoking object.


isIn

public IlcBool isIn(IlcInt elt) const

This member function is a predicate that indicates whether or not elt is in the invoking finite set. It returns IlcTrue if elt is in the set; otherwise, it returns IlcFalse.


operator=

public void operator=(const IlcIntSet & h)

This operator assigns an address to the handle pointer of the invoking object. That address is the location of the implementation object of the provided argument.


remove

public IlcBool remove(IlcInt elt)

This member function removes elt from the invoking finite set. This member function returns IlcFalse if elt was not in that invoking set. Otherwise, it returns IlcTrue. The effects of this member function are reversible.