|
7 | 7 | #include "VariableFormula.hpp" |
8 | 8 | #include "..\AltNum\MediumDec.hpp" |
9 | 9 | #include "ElementType.hpp" |
| 10 | +#include "tsl\ordered_map.h" |
10 | 11 |
|
11 | 12 | //Preprocessor Switches |
12 | 13 | /* |
@@ -46,16 +47,40 @@ namespace BlazesRusCode |
46 | 47 | { |
47 | 48 | std::string CurString; |
48 | 49 | MediumDec targetResult; |
49 | | - for (FormData::iterator CurrentVal = Data.at(FormIndex).begin(), LastVal = Data.at(FormIndex).end(); CurrentVal != LastVal; ++CurrentVal) |
| 50 | + FormData& FormDRef = Data.at(FormIndex); |
| 51 | + for (FormData::iterator CurrentVal = FormDRef.begin(), LastVal = FormDRef.end(); CurrentVal != LastVal; ++CurrentVal) |
50 | 52 | { |
51 | 53 | if (CurrentVal->second.ElementCat == FormulaElementType::Formula)//FormulaDetected |
52 | 54 | { |
53 | 55 | SwapUpdatedFormData(ElementValues, CurrentVal->second.Index); |
54 | | - //if(Data.at(FormIndex).size() == 1) |
55 | | - // ReplaceFormVal(CurrentVal->first, targetResult); |
| 56 | + //if (Data.at(FormIndex).size() == 1) |
| 57 | + //{ |
| 58 | + // FormData& ContainedFormulaElement = Data.at(CurrentVal->first); |
| 59 | + // auto FirstElement = ContainedFormulaElement.front(); |
| 60 | + // /* |
| 61 | + // if(ContainedFormulaElement.ElementCat == FormulaElementType::Num) |
| 62 | + // { |
| 63 | + // } |
| 64 | + // */ |
| 65 | + // //targetResult = ContainedFormulaElement.; |
| 66 | + // //FormDRef.ReplaceFormVal(CurrentVal->first, targetResult); |
| 67 | + //} |
56 | 68 | } |
57 | 69 | else if (CurrentVal->second.ElementCat == FormulaElementType::Variable)//Swap Variable with values |
58 | | - Data.at(FormIndex).ReplaceFormVal(CurrentVal->first, ElementValues.at(CurString)); |
| 70 | + { |
| 71 | + CurString = FormDRef.VariableMap.at(CurrentVal->first).Name; |
| 72 | + tsl::ordered_map<std::string, MediumDec>::iterator KeyedElemVal = ElementValues.find(CurString); |
| 73 | + if(KeyedElemVal!= ElementValues.end())//Only attempt to replace variable if matching variable is found |
| 74 | + { |
| 75 | + FormDRef.at(CurrentVal->first).ElementCat = FormulaElementType::Num; |
| 76 | + targetResult = KeyedElemVal.value(); |
| 77 | + FormDRef.NumMap.insert_or_assign(CurrentVal->first, targetResult);//ElementValues.at(CurString)); |
| 78 | + } |
| 79 | + else |
| 80 | + { |
| 81 | + std::cout << "Failed to replace variable named " << CurString << " with value data" << std::endl; |
| 82 | + } |
| 83 | + } |
59 | 84 | } |
60 | 85 | } |
61 | 86 |
|
|
0 commit comments