proxygen
folly::exception_wrapper::SharedPtr Struct Reference

Classes

struct  Base
 
struct  Impl
 

Static Public Member Functions

static void copy_ (exception_wrapper const *from, exception_wrapper *to)
 
static void move_ (exception_wrapper *from, exception_wrapper *to)
 
static void delete_ (exception_wrapper *that)
 
static void throw_ (exception_wrapper const *that)
 
static std::type_info const * type_ (exception_wrapper const *that)
 
static std::exception const * get_exception_ (exception_wrapper const *that)
 
static exception_wrapper get_exception_ptr_ (exception_wrapper const *that)
 

Public Attributes

std::shared_ptr< Baseptr_
 

Static Public Attributes

static VTable const ops_
 

Detailed Description

Definition at line 302 of file ExceptionWrapper.h.

Member Function Documentation

void folly::exception_wrapper::SharedPtr::copy_ ( exception_wrapper const *  from,
exception_wrapper to 
)
inlinestatic

Definition at line 245 of file ExceptionWrapper-inl.h.

References folly::exception_wrapper::sptr_.

247  {
248  ::new (static_cast<void*>(std::addressof(to->sptr_))) SharedPtr(from->sptr_);
249 }
std::enable_if< detail::is_chrono_conversion< Tgt, Src >::value, Tgt >::type to(const Src &value)
Definition: Conv.h:677
PUSHMI_INLINE_VAR constexpr struct folly::pushmi::operators::from_fn from
void folly::exception_wrapper::SharedPtr::delete_ ( exception_wrapper that)
inlinestatic

Definition at line 257 of file ExceptionWrapper-inl.h.

References folly::exception_wrapper::sptr_, folly::exception_wrapper::uninit_, and folly::exception_wrapper::vptr_.

257  {
258  that->sptr_.~SharedPtr();
259  that->vptr_ = &uninit_;
260 }
static VTable const uninit_
std::exception const * folly::exception_wrapper::SharedPtr::get_exception_ ( exception_wrapper const *  that)
inlinestatic

Definition at line 270 of file ExceptionWrapper-inl.h.

References ptr_, and folly::exception_wrapper::sptr_.

271  {
272  return that->sptr_.ptr_->get_exception_();
273 }
exception_wrapper folly::exception_wrapper::SharedPtr::get_exception_ptr_ ( exception_wrapper const *  that)
inlinestatic

Definition at line 274 of file ExceptionWrapper-inl.h.

References ptr_, and folly::exception_wrapper::sptr_.

275  {
276  return that->sptr_.ptr_->get_exception_ptr_();
277 }
void folly::exception_wrapper::SharedPtr::move_ ( exception_wrapper from,
exception_wrapper to 
)
inlinestatic

Definition at line 250 of file ExceptionWrapper-inl.h.

References folly::gen::move, and folly::exception_wrapper::sptr_.

252  {
253  ::new (static_cast<void*>(std::addressof(to->sptr_)))
254  SharedPtr(std::move(from->sptr_));
255  delete_(from);
256 }
static void delete_(exception_wrapper *that)
constexpr detail::Map< Move > move
Definition: Base-inl.h:2567
STL namespace.
std::enable_if< detail::is_chrono_conversion< Tgt, Src >::value, Tgt >::type to(const Src &value)
Definition: Conv.h:677
PUSHMI_INLINE_VAR constexpr struct folly::pushmi::operators::from_fn from
void folly::exception_wrapper::SharedPtr::throw_ ( exception_wrapper const *  that)
inlinestatic

Definition at line 261 of file ExceptionWrapper-inl.h.

References folly::assume_unreachable(), ptr_, and folly::exception_wrapper::sptr_.

262  {
263  that->sptr_.ptr_->throw_();
265 }
FOLLY_ALWAYS_INLINE void assume_unreachable()
Definition: Assume.h:59
std::type_info const * folly::exception_wrapper::SharedPtr::type_ ( exception_wrapper const *  that)
inlinestatic

Definition at line 266 of file ExceptionWrapper-inl.h.

References ptr_, and folly::exception_wrapper::sptr_.

267  {
268  return that->sptr_.ptr_->info_;
269 }

Member Data Documentation

exception_wrapper::VTable const folly::exception_wrapper::SharedPtr::ops_
static
std::shared_ptr<Base> folly::exception_wrapper::SharedPtr::ptr_

Definition at line 326 of file ExceptionWrapper.h.

Referenced by get_exception_(), get_exception_ptr_(), throw_(), and type_().


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