From 8286ac511144e4f17d34eac9affb97e50646344a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Wed, 23 Jul 2014 15:25:44 +0200 Subject: Imported Upstream version 4.0.0 --- libcult/cult/sched/lock.hxx | 58 --------------------------------------------- 1 file changed, 58 deletions(-) delete mode 100644 libcult/cult/sched/lock.hxx (limited to 'libcult/cult/sched/lock.hxx') diff --git a/libcult/cult/sched/lock.hxx b/libcult/cult/sched/lock.hxx deleted file mode 100644 index 1ecf3fb..0000000 --- a/libcult/cult/sched/lock.hxx +++ /dev/null @@ -1,58 +0,0 @@ -// file : cult/sched/lock.hxx -// author : Boris Kolpackov -// copyright : Copyright (c) 2005-2010 Boris Kolpackov -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef CULT_SCHED_LOCK_HXX -#define CULT_SCHED_LOCK_HXX - -#include - -namespace Cult -{ - namespace Sched - { - class Lock: public NonCopyable - { - public: - ~Lock () - { - unlock (); - } - - template - Lock (X& x) - : x_ (reinterpret_cast(&x)), - unlock_ (&unlock), - locked_ (true) - { - x.lock (); - } - - Void - unlock () - { - if (locked_) - { - unlock_ (x_); - locked_ = false; - } - } - - private: - template - static Void - unlock (Void* p) - { - reinterpret_cast (p)->unlock (); - } - - private: - Void* x_; - Void (*unlock_) (Void*); - Boolean locked_; - }; - } -} - -#endif // CULT_SCHED_LOCK_HXX -- cgit v1.2.3