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

using namespace std;
using namespace uCalcSoftware;

int main() {
   uCalc uc;
   {
      uCalc::String log("INFO: Task complete. ERROR: File not found.");
      log.Owned(); // Causes log to be released when it goes out of scope

      // Chain After() to isolate the error, then Replace() to modify it.
      auto errorDetails = log.After("ERROR: ").Replace("File", "Resource");

      cout << "Original log: " << log << endl;      // The original string is modified in-place
      cout << "Modified details:" << errorDetails << endl; // The view reflects the change
   }
}