跳至主内容
框架 无框架

类IlcIntPredicateI

定义文件: ilcp/cpext.h
包含文件: <ilcp/cpextilcp/cpext.h
IlcIntPredicateI的地图IlcIntPredicateIIlcIntPredicateI
整数谓词的实现类。

IlcIntPredicateI是 "IlcIntPredicate的实现类,因此可以在 CP 优化器中定义整数谓词。 整数谓词是一个对象,它有一个方法(IlcIntPredicateI::isTrue),用于检查有序整数集合是否满足某个属性。 在 CP 优化器中,整数的有序集合通常由 "IlcIntArray实例表示。

定义自己的整数谓词类

整数谓词和其他 CP 优化器对象一样,依赖于两个类:一个句柄类 "IlcIntPredicate和一个实现类 "IlcIntPredicateI,其中句柄类对象包含一个数据成员(句柄指针),该数据成员指向一个对象(其实现对象),即 CP 优化器堆上分配的 "IlcIntPredicateI实例。 作为 CP 优化器用户,您将主要使用手柄。

如果自行定义新的整数谓词类,则必须定义其实现类和相应的虚拟成员函数 "IlcIntPredicateI::isTrue,以及返回句柄类实例的成员函数 "IlcIntPredicate

元数

作为开发人员,您可以在 CP Optimizer 应用程序中使用谓词来定义 CP Optimizer 中尚未预定义的约束条件。 在这种情况下,谓词的迭代数(即谓词中涉及的受约束变量的个数,也就是成员函数 "IlcIntPredicateI::isTrue必须检查的数组的大小)必须小于或等于 3。

另请参阅:

方法概要
public IlcIntPredicateI()
public virtual IlcBoolisTrue(IlcIntArray val)
public ~IlcIntPredicateI()
方法详细信息

IlcIntPredicateI

publicIlcIntPredicateI()

该构造函数创建一个整数谓词的实现对象。 由于这是一个抽象类,因此不应直接调用该构造函数。 子类的构造函数会自动调用该构造函数。


~IlcIntPredicateI

公共~IlcIntPredicateI()

由于该类将被子类化,因此提供了一个虚拟析构函数。


isTrue

public virtualIlcBool isTrue(IlcIntArray val)

当您派生一个新的 "IlcIntPredicateI子类时,必须重新定义该成员函数。 如果数组 "val中包含的元素满足调用谓词,则该成员函数必须返回 "IlcTrue。 否则,必须返回 "IlcFalse