From 24eca6aa60f0848ad671b1fe11351d6e911b14e0 Mon Sep 17 00:00:00 2001
From: "Nicolas \"Pixel\" Noble" <pixel@nobis-crew.org>
Date: Wed, 25 Dec 2013 01:14:38 -0800
Subject: Adding ScopedLambdas.

---
 includes/Exceptions.h | 9 +++++++++
 1 file changed, 9 insertions(+)

(limited to 'includes')

diff --git a/includes/Exceptions.h b/includes/Exceptions.h
index 47bd1f5..799bfb6 100644
--- a/includes/Exceptions.h
+++ b/includes/Exceptions.h
@@ -2,6 +2,7 @@
 
 #include <stdarg.h>
 #include <typeinfo>
+#include <functional>
 
 #ifndef _MSC_VER
 #include <cxxabi.h>
@@ -174,3 +175,11 @@ ClassName::ClassName(T * ptr) {
     msg.set("UnitTest Assert " #c " failed at %s:%i", __FILE__, __LINE__); \
     Balau::TestHelper(msg); \
 }
+
+class ScopedLambda {
+  public:
+      ScopedLambda(std::function<void()> l) : m_l(l) { }
+      ~ScopedLambda() { m_l(); }
+  private:
+    std::function<void()> m_l;
+};
-- 
cgit v1.2.3