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.