mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | Friends
m::write_lock Struct Reference

#include <reader_writer_lock.hpp>

Collaboration diagram for m::write_lock:
[legend]

Public Member Functions

 write_lock (reader_writer_mutex &rw_mutex)
 
 write_lock (reader_writer_mutex &rw_mutex, std::defer_lock_t)
 
 write_lock (reader_writer_mutex &rw_mutex, std::adopt_lock_t)
 
 write_lock (const write_lock &)=delete
 
 write_lock (write_lock &&other)
 
 ~write_lock ()
 
write_lockoperator= (write_lock &&other)
 
bool owns_lock () const
 
void lock ()
 
void unlock ()
 

Private Attributes

std::reference_wrapper< reader_writer_mutexrw_mutex_
 
bool owns_lock_ {false}
 

Friends

void swap (write_lock &first, write_lock &second)
 

Detailed Description

Definition at line 341 of file reader_writer_lock.hpp.

Constructor & Destructor Documentation

◆ write_lock() [1/5]

m::write_lock::write_lock ( reader_writer_mutex rw_mutex)
inlineexplicit

Definition at line 354 of file reader_writer_lock.hpp.

References lock().

◆ write_lock() [2/5]

m::write_lock::write_lock ( reader_writer_mutex rw_mutex,
std::defer_lock_t   
)
inline

Definition at line 355 of file reader_writer_lock.hpp.

◆ write_lock() [3/5]

m::write_lock::write_lock ( reader_writer_mutex rw_mutex,
std::adopt_lock_t   
)
inline

Definition at line 356 of file reader_writer_lock.hpp.

◆ write_lock() [4/5]

m::write_lock::write_lock ( const write_lock )
delete

◆ write_lock() [5/5]

m::write_lock::write_lock ( write_lock &&  other)
inline

Definition at line 358 of file reader_writer_lock.hpp.

References swap.

◆ ~write_lock()

m::write_lock::~write_lock ( )
inline

Definition at line 360 of file reader_writer_lock.hpp.

References owns_lock(), and unlock().

Member Function Documentation

◆ lock()

void m::write_lock::lock ( )
inline

Definition at line 366 of file reader_writer_lock.hpp.

References M_insist, owns_lock(), owns_lock_, and rw_mutex_.

Referenced by write_lock().

◆ operator=()

write_lock & m::write_lock::operator= ( write_lock &&  other)
inline

Definition at line 362 of file reader_writer_lock.hpp.

References swap.

◆ owns_lock()

bool m::write_lock::owns_lock ( ) const
inline

Definition at line 364 of file reader_writer_lock.hpp.

References owns_lock_.

Referenced by lock(), unlock(), and ~write_lock().

◆ unlock()

void m::write_lock::unlock ( )
inline

Definition at line 367 of file reader_writer_lock.hpp.

References M_insist, owns_lock(), owns_lock_, and rw_mutex_.

Referenced by ~write_lock().

Friends And Related Function Documentation

◆ swap

void swap ( write_lock first,
write_lock second 
)
friend

Definition at line 343 of file reader_writer_lock.hpp.

Referenced by operator=(), and write_lock().

Field Documentation

◆ owns_lock_

bool m::write_lock::owns_lock_ {false}
private

Definition at line 351 of file reader_writer_lock.hpp.

Referenced by lock(), owns_lock(), and unlock().

◆ rw_mutex_

std::reference_wrapper<reader_writer_mutex> m::write_lock::rw_mutex_
private

Definition at line 350 of file reader_writer_lock.hpp.

Referenced by lock(), and unlock().


The documentation for this struct was generated from the following file: