Quintiq file version 2.0
|
#parent: #root
|
StaticMethod CreateFor (LibOpt_Run run)
|
{
|
Description: 'Create `LibOpt_StatisticScopeElements` for the given "run" (`LibOpt_Run`).'
|
TextBody:
|
[*
|
scopeelements_run := construct( LibOpt_ScopeElements );
|
|
// Detailed information about scope elements is only available when `DebugScope` is enabled.
|
if( run.DebugScope() )
|
{
|
// Get all `LibOpt_ScopeElements` that have been used in the `LibOpt_Run`.
|
scopeelements_run := selectset( run, Scope.astype( LibOpt_ScopeFat ).ScopeElementOnScope.ScopeElement, se, true );
|
}
|
|
traverse( run.Suboptimizers(), Elements, suboptimizer )
|
{
|
// Create `LibOpt_StatisticScopeElements` for the `LibOpt_Suboptimizer`.
|
LibOpt_Statistic::Create( run, typeof( LibOpt_StatisticScopeElementInput ), suboptimizer );
|
LibOpt_Statistic::Create( run, typeof( LibOpt_StatisticScopeElementRollback ), suboptimizer );
|
LibOpt_Statistic::Create( run, typeof( LibOpt_StatisticScopeElementNoImprovement ), suboptimizer );
|
|
if( run.DebugScope() )
|
{
|
// Create `LibOpt_SuboptimizerScopeElements` for the `LibOpt_Suboptimizer`.
|
LibOpt_StatisticScopeElement::CreateSuboptimizerScopeElements( suboptimizer, scopeelements_run );
|
}
|
}
|
*]
|
InterfaceProperties { Accessibility: 'Extensible' }
|
}
|