本文整理汇总了C++中TypeConstraint::setWantArrayShape方法的典型用法代码示例。如果您正苦于以下问题:C++ TypeConstraint::setWantArrayShape方法的具体用法?C++ TypeConstraint::setWantArrayShape怎么用?C++ TypeConstraint::setWantArrayShape使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TypeConstraint
的用法示例。
在下文中一共展示了TypeConstraint::setWantArrayShape方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: applyConstraint
/*
* Return a copy of tc refined with any new information in newTc.
*/
TypeConstraint applyConstraint(TypeConstraint tc, const TypeConstraint newTc) {
tc.category = std::max(newTc.category, tc.category);
if (newTc.wantArrayKind()) tc.setWantArrayKind();
if (newTc.wantArrayShape()) tc.setWantArrayShape();
if (newTc.wantClass()) {
if (tc.wantClass()) {
// It only makes sense to constrain tc with a class that's related to its
// existing class, and we want to preserve the more derived of the two.
auto cls1 = tc.desiredClass();
auto cls2 = newTc.desiredClass();
tc.setDesiredClass(cls1->classof(cls2) ? cls1 : cls2);
} else {
tc.setDesiredClass(newTc.desiredClass());
}
}
return tc;
}