33 #ifndef DART_COMMON_LOCKABLEREFERENCE_HPP_
34 #define DART_COMMON_LOCKABLEREFERENCE_HPP_
78 template <typename LockableT>
91 std::weak_ptr<const void> lockableHolder,
Lockable& lockable) noexcept;
100 void unlock() noexcept override;
104 std::weak_ptr<const
void> mLockableHolder;
117 template <typename LockableT>
130 template <
typename InputIterator>
132 std::weak_ptr<const void> lockableHolder,
137 void lock()
override;
143 void unlock() noexcept override;
147 template <typename T>
151 template <typename T>
155 std::weak_ptr<const
void> mLockableHolder;
164 #include "dart/common/detail/LockableReference-impl.hpp"
LockableReference is a wrapper class of single or multiple Lockable object(s) to provide unified inte...
Definition: LockableReference.hpp:50
virtual void lock()=0
Locks lockable that this class references; blocks if one of the lockables are not avaliable.
constexpr LockableReference() noexcept=default
Default construtor.
virtual void unlock() noexcept=0
Unlocks the lockables.
virtual bool try_lock() noexcept=0
Tries to lock the lockables that this class references; returns false if one of the lockables is not ...
MultiLockableReference references multiple lockables.
Definition: LockableReference.hpp:119
LockableT Lockable
Definition: LockableReference.hpp:121
This class references a single lockable.
Definition: LockableReference.hpp:80
LockableT Lockable
Definition: LockableReference.hpp:82
Definition: BulletCollisionDetector.cpp:65
Definition: SharedLibraryManager.hpp:46