ScopedSpinLock.h
Go to the documentation of this file.
1 // this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*-
2 
3 // -- BEGIN LICENSE BLOCK ----------------------------------------------
4 // This file is part of FZIs ic_workspace.
5 //
6 // This program is free software licensed under the LGPL
7 // (GNU LESSER GENERAL PUBLIC LICENSE Version 3).
8 // You can find a copy of this license in LICENSE folder in the top
9 // directory of the source code.
10 //
11 // © Copyright 2016 FZI Forschungszentrum Informatik, Karlsruhe, Germany
12 //
13 // -- END LICENSE BLOCK ------------------------------------------------
14 
15 //----------------------------------------------------------------------
22 //----------------------------------------------------------------------
23 #ifndef ICL_CORE_THREAD_SCOPED_SPIN_LOCK_H_INCLUDED
24 #define ICL_CORE_THREAD_SCOPED_SPIN_LOCK_H_INCLUDED
25 
27 
28 namespace icl_core {
29 namespace thread {
30 
31 class ScopedSpinLock : protected virtual icl_core::Noncopyable
32 {
33 public:
37  explicit ScopedSpinLock(SpinLock& spinlock)
38  : m_spinlock(spinlock)
39  {
40  m_spinlock.lock();
41  }
42 
45  {
47  }
48 
52  bool isLocked() const { return true; }
53 
55  operator bool () const { return isLocked(); }
56 
57 private:
59 };
60 
61 }
62 }
63 
64 #endif
ScopedSpinLock(SpinLock &spinlock)
~ScopedSpinLock()
Unlocks the spinlock.
void unlock()
Unlocks the mutex.
Definition: SpinLock.h:66


fzi_icl_core
Author(s):
autogenerated on Mon Jun 10 2019 13:17:58