Beispiel #1
0
//---------------------------------------------------------------------------
//	@function:
//		COperator::EfdaDeriveFromChildren
//
//	@doc:
//		Derive data access function property from child expressions
//
//---------------------------------------------------------------------------
IMDFunction::EFuncDataAcc
COperator::EfdaDeriveFromChildren
	(
	CExpressionHandle &exprhdl,
	IMDFunction::EFuncDataAcc efdaDefault
	)
{
	IMDFunction::EFuncDataAcc efda = efdaDefault;

	const ULONG ulArity = exprhdl.UlArity();
	for (ULONG ul = 0; ul < ulArity; ul++)
	{
		IMDFunction::EFuncDataAcc efdaChild = exprhdl.PfpChild(ul)->Efda();
		if (efdaChild > efda)
		{
			efda = efdaChild;
		}
	}

	return efda;
}
Beispiel #2
0
//---------------------------------------------------------------------------
//	@function:
//		COperator::EfsDeriveFromChildren
//
//	@doc:
//		Derive stability function property from child expressions
//
//---------------------------------------------------------------------------
IMDFunction::EFuncStbl
COperator::EfsDeriveFromChildren
	(
	CExpressionHandle &exprhdl,
	IMDFunction::EFuncStbl efsDefault
	)
{
	IMDFunction::EFuncStbl efs = efsDefault;

	const ULONG ulArity = exprhdl.UlArity();
	for (ULONG ul = 0; ul < ulArity; ul++)
	{
		IMDFunction::EFuncStbl efsChild = exprhdl.PfpChild(ul)->Efs();
		if (efsChild > efs)
		{
			efs = efsChild;
		}
	}

	return efs;
}