Free cookie consent management tool by TermsFeed Policy Generator

source: branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Configuration/IEnabledExpressionsConfiguration.cs @ 15289

Last change on this file since 15289 was 15289, checked in by pkimmesw, 7 years ago

#2665 Fixed analyzer, fixed Plush encoding + operators, adpated print evaluation according to McPhee

File size: 1.8 KB
Line 
1using System;
2using System.Collections.Generic;
3
4namespace HeuristicLab.Problems.ProgramSynthesis.Push.Configuration {
5  using HeuristicLab.Core;
6  using HeuristicLab.Problems.ProgramSynthesis.Push.Expressions;
7  using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
8
9  public class EnabledExpressionsChangedEventArgs : EventArgs {
10    public IEnumerable<string> AddedExpressions { get; private set; }
11    public IEnumerable<string> RemovedExpressions { get; private set; }
12
13    public EnabledExpressionsChangedEventArgs(IEnumerable<string> addedExpressions, IEnumerable<string> removedExpressions) {
14      AddedExpressions = addedExpressions;
15      RemovedExpressions = removedExpressions;
16    }
17  }
18
19  public interface IReadOnlyExpressionsConfiguration : INamedItem {
20    int InExpressionCount { get; }
21
22
23    IReadOnlyList<string> EnabledExpressions { get; }
24    IReadOnlyDictionary<StackTypes, int> ExpressionsPerStackCount { get; }
25  }
26
27  public interface IExpressionsConfiguration : IReadOnlyExpressionsConfiguration {
28    event EventHandler<EnabledExpressionsChangedEventArgs> EnabledExpressionsChanged;
29
30    void EnableStack(StackTypes types, bool enableDependencies = false);
31    void DisableStack(StackTypes type, bool enableDependencies = false);
32    void SetStack(StackTypes type, bool state, bool setDependencies = false);
33    void EnableExpressionOfStack(StackTypes types);
34    void DisableExpressionsOfStack(StackTypes types);
35    void EnableExpression(string name);
36    void DisableExpression(string name);
37    void SetExpression(string name, bool state);
38    void SetExpression<T>(bool state) where T : Expression;
39    void EnableExpression<T>() where T : Expression;
40    void DisableExpression<T>() where T : Expression;
41  }
42}
Note: See TracBrowser for help on using the repository browser.