| 概述 | 组 | 树 | 图形 | 不推荐 | 索引 | 概念 |

IlcIntPredicateI是 "IlcIntPredicate的实现类,因此可以在 CP 优化器中定义整数谓词。 整数谓词是一个对象,它有一个方法(IlcIntPredicateI::isTrue),用于检查有序整数集合是否满足某个属性。 在 CP 优化器中,整数的有序集合通常由 "IlcIntArray实例表示。
定义自己的整数谓词类
整数谓词和其他 CP 优化器对象一样,依赖于两个类:一个句柄类 "IlcIntPredicate和一个实现类 "IlcIntPredicateI,其中句柄类对象包含一个数据成员(句柄指针),该数据成员指向一个对象(其实现对象),即 CP 优化器堆上分配的 "IlcIntPredicateI实例。 作为 CP 优化器用户,您将主要使用手柄。
如果自行定义新的整数谓词类,则必须定义其实现类和相应的虚拟成员函数 "IlcIntPredicateI::isTrue,以及返回句柄类实例的成员函数 "IlcIntPredicate。
元数
作为开发人员,您可以在 CP Optimizer 应用程序中使用谓词来定义 CP Optimizer 中尚未预定义的约束条件。 在这种情况下,谓词的迭代数(即谓词中涉及的受约束变量的个数,也就是成员函数 "IlcIntPredicateI::isTrue必须检查的数组的大小)必须小于或等于 3。
另请参阅:
IlcIntArray,IlcIntPredicate,IlcTableConstraint
| 方法概要 | |
|---|---|
public | IlcIntPredicateI() |
public virtual IlcBool | isTrue(IlcIntArray val) |
public | ~IlcIntPredicateI() |
| 方法详细信息 |
|---|
该构造函数创建一个整数谓词的实现对象。 由于这是一个抽象类,因此不应直接调用该构造函数。 子类的构造函数会自动调用该构造函数。
由于该类将被子类化,因此提供了一个虚拟析构函数。
当您派生一个新的 "IlcIntPredicateI子类时,必须重新定义该成员函数。 如果数组 "val中包含的元素满足调用谓词,则该成员函数必须返回 "IlcTrue。 否则,必须返回 "IlcFalse。