#include #include "uCalc.h" using namespace std; using namespace uCalcSoftware; int main() { uCalc uc; auto FruitsXML = R"( )"; uc.DefineVariable("x = 1"); auto t = uc.NewTransformer(); auto FruitsTag = t.FromTo("", "List of fruits"); auto Fruit = t.FromTo("CommonName={@string:name}", "{@Eval: x++}. {name}"); Fruit.Minimum(20); t.Filter(FruitsXML); cout << "Minimum = " << Fruit.Minimum() << endl; cout << "Matches count: " << t.Matches().Count() << endl; // 1 for FruitsTag occurrence cout << "" << endl; cout << t.Matches() << endl; cout << "" << endl; cout << "===============" << endl; uc.Eval("x = 1"); Fruit.Minimum(10); t.Filter(FruitsXML); cout << "Minimum = " << Fruit.Minimum() << endl; cout << "Matches count: " << t.Matches().Count() << endl; // 1 for FruitsTag plus 12 fruits cout << "" << endl; cout << t.Matches() << endl; cout << "" << endl; cout << "===============" << endl; uc.Eval("x = 1"); Fruit.GlobalMinimum(20); // Notice "List of fruits" will not show t.Filter(FruitsXML); cout << "MinimumAND = " << Fruit.GlobalMinimum() << endl; cout << "Matches count: " << t.Matches().Count() << endl; // Even FruitsTage won't be counted cout << "" << endl; cout << t.Matches() << endl; cout << "===============" << endl; uc.Eval("x = 1"); Fruit.GlobalMinimum(10); t.Filter(FruitsXML); cout << "MinimumAND = " << Fruit.GlobalMinimum() << endl; cout << "Matches count: " << t.Matches().Count() << endl; cout << "" << endl; cout << t.Matches() << endl; }