diff --git a/raii.hpp b/raii.hpp index e3df797b..9062fa3e 100644 --- a/raii.hpp +++ b/raii.hpp @@ -22,9 +22,11 @@ #include "preprocessor.hpp" +/// Defines a translation-unit-unique variable useful for unnamed scoped variables #define raii PASTE(__unique_, __COUNTER__) namespace util { + /// Increments a counter for the lifetime of the object template struct scoped_counter { scoped_counter (T &_counter): @@ -38,6 +40,7 @@ namespace util { }; + /// Executes a function upon object destruction template struct scoped_function { scoped_function (T &&_func):