Index: src/libcfa/concurrency/monitor
===================================================================
--- src/libcfa/concurrency/monitor	(revision f07e037f4c08d55584f8523e8fe945f25159a08b)
+++ src/libcfa/concurrency/monitor	(revision 51f3798005b3649fb4f041cf88dd42cc981f7f73)
@@ -30,3 +30,16 @@
 void leave(monitor *);
 
+struct monitor_guard {
+	monitor * m;
+};
+
+static inline void ?{}( monitor_guard * this, monitor * m ) {
+	this->m = m;
+	enter( this->m );
+}
+
+static inline void ^?{}( monitor_guard * this ) {
+	leave( this->m );
+}
+
 #endif //MONITOR_H
