Hmm... Also die hauptapplikation(klasse) sollte gar nichts von einer XML-Datei oder pugixml wissen. Dafür sollte es eine extrige Schicht geben. Als Schnittstelle zur Hauptapplikation gibt diese Schicht wohldefinierte structs oder Klasseninstanzen zurück.
Die Loaderschicht definiert selbst ein Interface nach unten, welches die verschieden Loader zu implementieren haben. Erst hier darunter siedelt sich der XML-Loader an, welcher das Interface implementiert und selbst mit pugixml kommuniziert.
Die Hauptapplikation hat es u. A. nicht zu interessieren wie die Daten gehalten werden, ob diese sofort alle im Speicher sind, oder nachgeladen, bla bla. Alles Verantwortlichkeiten der Loaderschicht ^^

Wenn du willst, können wir mal einen nette Architektur ausarbeiten. Da ich ja beruflich im Bereich Embedded Systems tätig bin, wäre das schon interessant. Muss zugeben, falls es ähnliches schon gibt, ich hab danach noch nicht gesucht, da noch nicht der Bedarf da war. Im Moment alles noch Embedded Qt und ein CoController der die I/Os macht. Aber der Bedarf kommt sicher zukünftig. Voraussetzungen wäre aber eine kommerziell kompatible Open Source Lizenz, wie die MIT oder Apache ^^

Und ein Blick in die gerade von Elektor veröffenlichte EFL wäre sicher auch interessant. Diese ist mehr auf Bare-Metal Controller (also uC ohne Betriebssystem) ausgelegt. Deine Idee geht ja eher zur Integration in Embedded Linux, wenn ich richtig liege?