Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
src
icl_core
src
icl_core_thread
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
26
#include <
icl_core_thread/SpinLock.h
>
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
44
~ScopedSpinLock
()
45
{
46
m_spinlock
.
unlock
();
47
}
48
52
bool
isLocked
()
const
{
return
true
; }
53
55
operator
bool ()
const
{
return
isLocked
(); }
56
57
private
:
58
SpinLock
&
m_spinlock
;
59
};
60
61
}
62
}
63
64
#endif
icl_core::thread::ScopedSpinLock::ScopedSpinLock
ScopedSpinLock(SpinLock &spinlock)
Definition:
ScopedSpinLock.h:37
icl_core::thread::ScopedSpinLock::isLocked
bool isLocked() const
Definition:
ScopedSpinLock.h:52
icl_core::thread::ScopedSpinLock::~ScopedSpinLock
~ScopedSpinLock()
Unlocks the spinlock.
Definition:
ScopedSpinLock.h:44
SpinLock.h
icl_core::thread::ScopedSpinLock::m_spinlock
SpinLock & m_spinlock
Definition:
ScopedSpinLock.h:58
icl_core::thread::ScopedSpinLock
Definition:
ScopedSpinLock.h:31
icl_core::thread::SpinLock::lock
bool lock()
Definition:
SpinLock.h:46
icl_core::Noncopyable
Definition:
Noncopyable.h:34
icl_core::thread::SpinLock::unlock
void unlock()
Unlocks the mutex.
Definition:
SpinLock.h:66
icl_core
Definition:
Array2D.h:30
icl_core::thread::SpinLock
Definition:
SpinLock.h:35
fzi_icl_core
Author(s):
autogenerated on Mon Jun 10 2019 13:17:58