libebml_ng
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
ebml::writeLock_t Class Reference

#include <locks.h>

Public Member Functions

 writeLock_t (writeLock_t &&)
 
writeLock_toperator= (writeLock_t &&)
 
writeLock_toperator= (const writeLock_t &)=delete
 

Protected Member Functions

 writeLock_t (std::unique_lock< std::shared_mutex > &&, const ebmlLazyLoad *)
 
 writeLock_t (std::vector< std::shared_lock< std::shared_mutex >> &&, std::unique_lock< std::shared_mutex > &&, const ebmlLazyLoad *)
 
void _addToCache (const ebmlLazyLoad *) const
 

Protected Attributes

std::vector< std::shared_lock< std::shared_mutex > > rlocks
 
std::unique_lock< std::shared_mutex > wlock
 
const ebmlLazyLoadelem
 
std::unordered_set< const ebmlLazyLoad * > cache
 
std::deque< const ebmlLazyLoad * > order
 

Friends

class ebmlLazyLoad
 

Constructor & Destructor Documentation

◆ writeLock_t() [1/3]

ebml::writeLock_t::writeLock_t ( std::unique_lock< std::shared_mutex > &&  wlock,
const ebmlLazyLoad elem 
)
protected

◆ writeLock_t() [2/3]

ebml::writeLock_t::writeLock_t ( std::vector< std::shared_lock< std::shared_mutex >> &&  rlocks,
std::unique_lock< std::shared_mutex > &&  wlock,
const ebmlLazyLoad elem 
)
protected

◆ writeLock_t() [3/3]

ebml::writeLock_t::writeLock_t ( writeLock_t &&  other)

Member Function Documentation

◆ _addToCache()

void ebml::writeLock_t::_addToCache ( const ebmlLazyLoad ) const
protected

◆ operator=() [1/2]

writeLock_t & ebml::writeLock_t::operator= ( writeLock_t &&  other)

◆ operator=() [2/2]

writeLock_t& ebml::writeLock_t::operator= ( const writeLock_t )
delete

Friends And Related Function Documentation

◆ ebmlLazyLoad

friend class ebmlLazyLoad
friend

Member Data Documentation

◆ cache

std::unordered_set<const ebmlLazyLoad*> ebml::writeLock_t::cache
mutableprotected

◆ elem

const ebmlLazyLoad* ebml::writeLock_t::elem
protected

◆ order

std::deque<const ebmlLazyLoad*> ebml::writeLock_t::order
mutableprotected

◆ rlocks

std::vector<std::shared_lock<std::shared_mutex> > ebml::writeLock_t::rlocks
protected

◆ wlock

std::unique_lock<std::shared_mutex> ebml::writeLock_t::wlock
protected

The documentation for this class was generated from the following files: