dispenso
A library for task parallelism
 
Loading...
Searching...
No Matches
rw_lock.h
1/*
2 * Copyright (c) Meta Platforms, Inc. and affiliates.
3 *
4 * This source code is licensed under the MIT license found in the
5 * LICENSE file in the root directory of this source tree.
6 */
7
8#include <dispenso/detail/rw_lock_impl.h>
9
10namespace dispenso {
11
25class alignas(kCacheLineSize) RWLock : public detail::RWLockImpl {
26 public:
32 using detail::RWLockImpl::lock;
33
39 using detail::RWLockImpl::try_lock;
40
47 using detail::RWLockImpl::unlock;
48
54 using detail::RWLockImpl::lock_shared;
55
63 using detail::RWLockImpl::try_lock_shared;
64
71 using detail::RWLockImpl::unlock_shared;
72
83 using detail::RWLockImpl::lock_upgrade;
84
90 using detail::RWLockImpl::lock_downgrade;
91};
92
99class UnalignedRWLock : public detail::RWLockImpl {};
100
101} // namespace dispenso
detail::OpResult< T > OpResult
Definition pipeline.h:29