proxygen
folly::pushmi::locked_shared_entangled_pair< T, Dual > Struct Template Reference

#include <entangle.h>

Inheritance diagram for folly::pushmi::locked_shared_entangled_pair< T, Dual >:

Public Member Functions

 ~locked_shared_entangled_pair ()
 
 locked_shared_entangled_pair (shared_entangled< T, Dual > &e)
 
 locked_shared_entangled_pair ()=delete
 

Public Attributes

shared_entangled< T, Dual > e
 

Detailed Description

template<class T, class Dual>
struct folly::pushmi::locked_shared_entangled_pair< T, Dual >

Definition at line 295 of file entangle.h.

Constructor & Destructor Documentation

template<class T , class Dual >
folly::pushmi::locked_shared_entangled_pair< T, Dual >::~locked_shared_entangled_pair ( )
inline

Definition at line 297 of file entangle.h.

References folly::pushmi::shared_entangled< T, Dual >::lock.

297  {
298  if (!!e && !!e.lock) {
299  e.lock->unlock();
300  }
301  }
shared_entangled< T, Dual > e
Definition: entangle.h:296
template<class T , class Dual >
folly::pushmi::locked_shared_entangled_pair< T, Dual >::locked_shared_entangled_pair ( shared_entangled< T, Dual > &  e)
inlineexplicit

Definition at line 302 of file entangle.h.

References folly::pushmi::shared_entangled< T, Dual >::dual, folly::gen::first, and folly::pushmi::shared_entangled< T, Dual >::lock.

303  : e(std::move(e)) {
304  this->e.lock->lock();
305  this->first = this->e.get();
306  this->second = this->e.dual;
307  }
constexpr detail::Map< Move > move
Definition: Base-inl.h:2567
shared_entangled< T, Dual > e
Definition: entangle.h:296
constexpr detail::First first
Definition: Base-inl.h:2553
template<class T , class Dual >
folly::pushmi::locked_shared_entangled_pair< T, Dual >::locked_shared_entangled_pair ( )
delete

Member Data Documentation

template<class T , class Dual >
shared_entangled<T, Dual> folly::pushmi::locked_shared_entangled_pair< T, Dual >::e

Definition at line 296 of file entangle.h.


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