Overview | Group | Tree | Graph | Index | Concepts |
ILOANYBINARYPREDICATENAME0(name, envName)
ILOANYBINARYPREDICATENAME1(name, envName, type1, nameArg1)
ILOANYBINARYPREDICATENAME2(name, envName, type1, nameArg1, type2, nameArg2)
ILOANYBINARYPREDICATENAME3(name, envName, type1, nameArg1, type2, nameArg2, type3, nameArg3)
ILOANYBINARYPREDICATENAME4(name, envName, type1, nameArg1, type2, nameArg2, type3, nameArg3, type4, nameArg4)
ILOANYBINARYPREDICATENAME5(name, envName, type1, nameArg1, type2, nameArg2, type3, nameArg3, type4, nameArg4, type5, nameArg5)
ILOANYBINARYPREDICATENAME6(name, envName, type1, nameArg1, type2, nameArg2, type3, nameArg3, type4, nameArg4, type5, nameArg5, type6, nameArg6)
This macro defines a predicate class named nameI
with n data members
for use in a model. When n is greater than 0, the types and names of the data
members must be supplied as arguments to the macro. Each data member is defined by its type
T
i and a name data
i. The call to the macro must
be followed immediately by the body of the isTrue
member function of the
predicate class being defined. Besides the definition of the class nameI
, this
macro also defines a function named name
that creates an instance of the class
nameI
and that returns an instance of the class
IloAnyBinaryPredicate
that points to it.
You are not obliged to use this macro to define binary predicates on arbitrary objects.
When the macro seems too restrictive for your purposes, we recommend that you define a
predicate class directly by subclassing IlcAnyPredicateI
, documented in the
ILOG Solver Reference Manual.
Since the argument name
is used to name the predicate class, it is not
possible to use the same name for several predicate definitions.
See Also: