当前位置: 首页>>代码示例>>C++>>正文


C++ Predicate::setConstType方法代码示例

本文整理汇总了C++中Predicate::setConstType方法的典型用法代码示例。如果您正苦于以下问题:C++ Predicate::setConstType方法的具体用法?C++ Predicate::setConstType怎么用?C++ Predicate::setConstType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Predicate的用法示例。


在下文中一共展示了Predicate::setConstType方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: addPredicate

// Adds a predicate to our list of predicates.
void TimeStepInfo::addPredicate(std::string& newPredicate, Constant *newConstType)
{
	if(predicates == NULL)
	{
		allocatePredicates();
	}
	int compareResult = 0;
	bool tmpNegated = false;
	std::string tmpInnerPredicate = "";
	int tmpMTimeStamp;
	int tmpSTimeStamp;
	// Try to extract h-style predicate info from the string. If it works, save the h-style predicate info. If not, just save the normal predicate.
	bool tmpHPredicate = Predicate::extractHPredicateInfo(
		newPredicate, tmpNegated, tmpInnerPredicate, tmpMTimeStamp, tmpSTimeStamp);
	Predicate *newPred = new Predicate();
	if(tmpHPredicate)
	{
		newPred->setName(tmpInnerPredicate);
		newPred->setTimeStamp(tmpMTimeStamp, tmpSTimeStamp);
		newPred->setBlnIsHPredicate(true);
		newPred->setBlnIsNegated(tmpNegated);
	}
	else
	{
		newPred->setName(newPredicate);
		newPred->setBlnIsNegated(tmpNegated);
	}
	// Regardless, save whatever Constant object pointer (if any) we were given.
	newPred->setConstType(newConstType);

	if(predicates->empty())
	{	// If we don't have predicates yet, make this the first.
		predicates->push_back(newPred);
	}
	else
	{	// If we already have predicates, find this new one's proper place and stick it there.
		std::list<Predicate*>::iterator lIter = predicates->begin();
		while(lIter != predicates->end())
		{
			compareResult = (*lIter)->toPredicateString(false, false).compare(newPredicate);
			if(compareResult < 0 || compareResult == 0)
			{
				// If the current element comes before the newcomer (or is the same as the newcomer), move on.
				++lIter;
			}
			else
			{
				// The current element should go after the newcomer, break and insert here.
				break;
			}
		}
		predicates->insert(lIter, newPred);
	}
}
开发者ID:smallzhan,项目名称:cplus2asp,代码行数:55,代码来源:TimeStepInfo.cpp


注:本文中的Predicate::setConstType方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。