Template Class readwrite_multiguard

Class Documentation

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

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


Read-Write operations cannot happen simultaneously and will wait for each other. Read-Write operations will also wait for any Read-only operations to be finished. legion::core::async::rw_spinlock

Public Functions

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

Creates read-write multi-guard and locks for Read-Write.

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

RAII style unlocks lock from Read-Write.

readwrite_multiguard &operator=(readwrite_multiguard&&) = delete