[][src]Struct qt_core::QWriteLocker

#[repr(C)]pub struct QWriteLocker { /* fields omitted */ }

The QWriteLocker class is a convenience class that simplifies locking and unlocking read-write locks for write access.

C++ class: QWriteLocker.

C++ documentation:

The QWriteLocker class is a convenience class that simplifies locking and unlocking read-write locks for write access.

The purpose of QWriteLocker (and QReadLocker) is to simplify QReadWriteLock locking and unlocking. Locking and unlocking statements or in exception handling code is error-prone and difficult to debug. QWriteLocker can be used in such situations to ensure that the state of the lock is always well-defined.

Here's an example that uses QWriteLocker to lock and unlock a read-write lock for writing:

QReadWriteLock lock;

void writeData(const QByteArray &data) { QWriteLocker locker(&lock); ... }

It is equivalent to the following code:

QReadWriteLock lock;

void writeData(const QByteArray &data) { lock.lockForWrite(); ... lock.unlock(); }

The QMutexLocker documentation shows examples where the use of a locker object greatly simplifies programming.

Methods

impl QWriteLocker[src]

pub unsafe fn new(
    read_write_lock: impl CastInto<Ptr<QReadWriteLock>>
) -> CppBox<QWriteLocker>
[src]

Constructs a QWriteLocker and locks lock for writing. The lock will be unlocked when the QWriteLocker is destroyed. If lock is zero, QWriteLocker does nothing.

Calls C++ function: [constructor] void QWriteLocker::QWriteLocker(QReadWriteLock* readWriteLock).

C++ documentation:

Constructs a QWriteLocker and locks lock for writing. The lock will be unlocked when the QWriteLocker is destroyed. If lock is zero, QWriteLocker does nothing.

See also QReadWriteLock::lockForWrite().

pub unsafe fn read_write_lock(&self) -> Ptr<QReadWriteLock>[src]

Returns a pointer to the read-write lock that was passed to the constructor.

Calls C++ function: QReadWriteLock* QWriteLocker::readWriteLock() const.

C++ documentation:

Returns a pointer to the read-write lock that was passed to the constructor.

pub unsafe fn relock(&self)[src]

Relocks an unlocked lock.

Calls C++ function: void QWriteLocker::relock().

C++ documentation:

Relocks an unlocked lock.

See also unlock().

pub unsafe fn unlock(&self)[src]

Unlocks the lock associated with this locker.

Calls C++ function: void QWriteLocker::unlock().

C++ documentation:

Unlocks the lock associated with this locker.

See also QReadWriteLock::unlock().

Trait Implementations

impl CppDeletable for QWriteLocker[src]

unsafe fn delete(&self)[src]

Destroys the QWriteLocker and unlocks the lock that was passed to the constructor.

Calls C++ function: [destructor] void QWriteLocker::~QWriteLocker().

C++ documentation:

Destroys the QWriteLocker and unlocks the lock that was passed to the constructor.

See also QReadWriteLock::unlock().

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, U> CastInto<U> for T where
    U: CastFrom<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> StaticUpcast<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.