Example #1
0
	bool AnyQuantifier::Calc( ContextPtr context )
	{
		for (ValueSet::Iterator it = mValues->Begin(); it != mValues->End(); ++it)
		{
			context->PushParam(mIdentifier, *it);
			bool result = mTerm->Calc(context);
			context->PopParam(mIdentifier);
			if (!result)
				return false;
		}
		return true;
	}
Example #2
0
	ValueSetPtr ExtQuntifier::Subset( std::string id, ValueSetPtr values, AtomPtr term, ContextPtr context)
	{
		ValueSetPtr subSet(new ValueSet());
		for (ValueSet::Iterator it = values->Begin(); it != values->End(); ++it)
		{
			context->PushParam(id, *it);
			bool result = term->Calc(context);
			context->PopParam(id);

			if (result)
				subSet->AddValue(*it);
		}
		return subSet;
	}