FrameIT
SolutionRecorder.SubSolution Class Reference

Sits at the heart, but represents only a part of the whole Solution. More...

Public Member Functions

 SubSolution ()
 Only used by JsonConverter to initiate empty instance. More...
 
 SubSolution (HashSet< string > MasterIDs, List< int > SolutionIndex, List< int > RelationIndex, FactComparer Comparer)
 Standard Constructor More...
 
bool IsEmpty ()
 true if there is no solution to be deducted. More...
 

Public Attributes

HashSet< string > MasterIDs = new HashSet<string>()
 entails {SolutionOrganizer.FacDict.Values}
SolutionFacts to relate from. More...
 
List< int > SolutionIndex = new List<int>()
 entails {[],[0, SolutionRecorder.ValidationSet.IndexOf(this) - 2]}
Marks LevelFacts (StageStatic.stage.factState) found as solution (FactRecorder.DynamiclySolved(SolutionRecorder, out List<List<string>>, out List<List<string>>)) in a previous entry of SolutionRecorder.ValidationSet
to relate from in addition to MasterIDs
or none if empty More...
 
List< int > RelationIndex = new List<int>()
 entails {[],[0, SolutionRecorder.ValidationSet.IndexOf(this) - 2]}
Marks LevelFacts (StageStatic.stage.factState) found as solution (FactRecorder.DynamiclySolved(SolutionRecorder, out List<List<string>>, out List<List<string>>)) in a previous entry of SolutionRecorder.ValidationSet
to relate to instead of all LevelFacts (StageStatic.stage.factState)
or none if empty More...
 
FactComparer Comparer = new FactEquivalentsComparer()
 Comparer defining relation between SolutionFacts and LevelFacts (StageStatic.stage.factState) More...
 

Static Public Attributes

static readonly Type[] fact_comparer = Assembly.GetExecutingAssembly().GetTypes().Where(typeof(FactComparer).IsAssignableFrom).ToArray()
 Collection of Types of all available FactComparer to choose from. More...
 

Properties

string ComparerString [getset]
 Enables (especially JsonConverter) to read and set Comparer by its string representation. More...
 

Detailed Description

Sits at the heart, but represents only a part of the whole Solution.

Constructor & Destructor Documentation

◆ SubSolution() [1/2]

SolutionRecorder.SubSolution.SubSolution ( )

Only used by JsonConverter to initiate empty instance.

◆ SubSolution() [2/2]

SolutionRecorder.SubSolution.SubSolution ( HashSet< string >  MasterIDs,
List< int >  SolutionIndex,
List< int >  RelationIndex,
FactComparer  Comparer 
)

Standard Constructor

Parameters
MasterIDssets MasterIDs iff not null
SolutionIndexsets SolutionIndex iff not null
RelationIndexsets RelationIndex iff not null
Comparersets Comparer iff not null

Member Function Documentation

◆ IsEmpty()

bool SolutionRecorder.SubSolution.IsEmpty ( )

true if there is no solution to be deducted.

Returns
MasterIDs.Count == 0 && SolutionIndex.Count == 0;

Member Data Documentation

◆ Comparer

FactComparer SolutionRecorder.SubSolution.Comparer = new FactEquivalentsComparer()

Comparer defining relation between SolutionFacts and LevelFacts (StageStatic.stage.factState)

◆ fact_comparer

readonly Type [] SolutionRecorder.SubSolution.fact_comparer = Assembly.GetExecutingAssembly().GetTypes().Where(typeof(FactComparer).IsAssignableFrom).ToArray()
static

Collection of Types of all available FactComparer to choose from.

◆ MasterIDs

HashSet<string> SolutionRecorder.SubSolution.MasterIDs = new HashSet<string>()

◆ RelationIndex

List<int> SolutionRecorder.SubSolution.RelationIndex = new List<int>()

entails {[],[0, SolutionRecorder.ValidationSet.IndexOf(this) - 2]}
Marks LevelFacts (StageStatic.stage.factState) found as solution (FactRecorder.DynamiclySolved(SolutionRecorder, out List<List<string>>, out List<List<string>>)) in a previous entry of SolutionRecorder.ValidationSet
to relate to instead of all LevelFacts (StageStatic.stage.factState)
or none if empty

◆ SolutionIndex

List<int> SolutionRecorder.SubSolution.SolutionIndex = new List<int>()

entails {[],[0, SolutionRecorder.ValidationSet.IndexOf(this) - 2]}
Marks LevelFacts (StageStatic.stage.factState) found as solution (FactRecorder.DynamiclySolved(SolutionRecorder, out List<List<string>>, out List<List<string>>)) in a previous entry of SolutionRecorder.ValidationSet
to relate from in addition to MasterIDs
or none if empty

Property Documentation

◆ ComparerString

string SolutionRecorder.SubSolution.ComparerString
getset

Enables (especially JsonConverter) to read and set Comparer by its string representation.


The documentation for this class was generated from the following file: