logo

Generic pre-/postAction for C++ methods


Pre- und Post-Processing ist in seiner einfachsten Form ein Funktionsaufruf vor und nach einem Statement. Das vorliegende Paper diskutiert einen generischen Ansatz für Pre- und PostActions bei C++-Methoden.

Mit Hilfe von Templates und Template-Funktionen wird eine wiederverwendbare und intuitiv anwendbare Funktionalität entwickelt.

Pre- und Post-Actions lassen sich unter anderem zur Unterstützung von folgenden Komponenten einsetzen:

  • Semaphore (Mutex-Section)
  • Trace
  • Debug-Output
  • Assertions
  • Zeitmessungen für Funktionsaufrufe

Dank einer sehr effizienten Implementation findet die gezeigte Lösung auch in Embedded-Systems Anwendung.

Es ist möglich, die Funktionalität ein- oder auszuschalten, wobei der Applikations-Code dazu nicht verändert werden muss. Auch die lästige Instrumentierung mit #ifdef Präprozessor-Anweisungen im Applikations-Code entfällt.