Template Class readonly_multiguard

Class Documentation

template<size_type S>
class legion::core::async::readonly_multiguard

RAII guard that uses multiple ::async::readonly_rw_spinlocks to lock them all for read-only. (similar to std::lock)


Read-only operations can happen simultaneously without waiting for each other. Read-only operations will only wait for Read-Write operations to be finished. legion::core::async::rw_spinlock

Public Functions

template<typename lock_type1 = rw_spinlock, typename lock_type2 = rw_spinlock, typename ...lock_typesN>
inline readonly_multiguard(const lock_type1 &lock1, const lock_type2 &lock2, const lock_typesN&... locks)

Creates readonly multi-guard and locks for Read-only.

readonly_multiguard(const readonly_multiguard&) = delete
inline ~readonly_multiguard()

RAII style unlocks lock from Read-only.

readonly_multiguard &operator=(readonly_multiguard&&) = delete