33 #ifndef DART_COMMON_LOCKABLEREFERENCE_HPP_
34 #define DART_COMMON_LOCKABLEREFERENCE_HPP_
78 template <typename LockableT>
90 std::weak_ptr<const void> lockableHolder,
Lockable& lockable) noexcept;
99 void unlock() noexcept override;
103 std::weak_ptr<const
void> mLockableHolder;
116 template <typename LockableT>
129 template <
typename InputIterator>
131 std::weak_ptr<const void> lockableHolder,
136 void lock()
override;
142 void unlock() noexcept override;
146 template <typename T>
150 template <typename T>
154 std::weak_ptr<const
void> mLockableHolder;
163 #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:118
LockableT Lockable
Definition: LockableReference.hpp:120
This class references a single lockable.
Definition: LockableReference.hpp:80
LockableT Lockable
Definition: LockableReference.hpp:82
Definition: BulletCollisionDetector.cpp:63
Definition: SharedLibraryManager.hpp:43