//--------------------------------------------------------------------------- // @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; }
//--------------------------------------------------------------------------- // @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; }