#include <iostream>
#include "uCalc.h"

using namespace std;
using namespace uCalcSoftware;

int main() {
   uCalc uc;
   auto t = uc.NewTransformer();
   t.Text("A B C");

   auto ruleA = t.Pattern("A").SetFocusable(true);
   auto ruleB = t.Pattern("B").SetFocusable(true);
   auto ruleC = t.Pattern("C").SetFocusable(false); // C is not focusable
   t.Find();

   cout << "--- All Matches ---" << endl;
   cout << t.GetMatches(MatchesOption::All).Text() << endl;

   cout << "--- Focusable Matches ---";
   // This list will exclude the match for 'C'.
   cout << t.GetMatches(MatchesOption::FocusableOnly).Text() << endl;
}