proxygen
folly::rcu_obj_base< T, D, Tag > Class Template Reference

#include <Rcu.h>

Inheritance diagram for folly::rcu_obj_base< T, D, Tag >:
folly::detail::ThreadCachedListsBase::Node

Public Member Functions

void retire (D d={}, rcu_domain< Tag > *domain=rcu_default_domain())
 

Additional Inherited Members

- Private Attributes inherited from folly::detail::ThreadCachedListsBase::Node
folly::Function< void()> cb_
 
Nodenext_ {nullptr}
 

Detailed Description

template<typename T, typename D = std::default_delete<T>, typename Tag = RcuTag>
class folly::rcu_obj_base< T, D, Tag >

Definition at line 479 of file Rcu.h.

Member Function Documentation

template<typename T , typename D = std::default_delete<T>, typename Tag = RcuTag>
void folly::rcu_obj_base< T, D, Tag >::retire ( D  d = {},
rcu_domain< Tag > *  domain = rcu_default_domain() 
)
inline

Definition at line 481 of file Rcu.h.

References cb_, folly::gen::move, folly::rcu_default_domain(), and folly::rcu_domain< Tag >::retire().

481  {}, rcu_domain<Tag>* domain = rcu_default_domain()) {
482  // This implementation assumes folly::Function has enough
483  // inline storage for D, otherwise, it allocates.
484  this->cb_ = [this, d = std::move(d)]() { d(static_cast<T*>(this)); };
485  domain->retire(this);
486  }
constexpr detail::Map< Move > move
Definition: Base-inl.h:2567
rcu_domain< RcuTag > * rcu_default_domain()
Definition: Rcu.h:385

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