Home ⌂Doc Index ◂Up ▴
Intel(R) Threading Building Blocks Doxygen Documentation  version 4.2.3
tbb::internal::tbb_exception_ptr Class Reference

Exception container that preserves the exact copy of the original exception. More...

#include <tbb_exception.h>

Collaboration diagram for tbb::internal::tbb_exception_ptr:

Public Member Functions

void destroy () throw ()
 Destroys this objects. More...
 
void throw_self ()
 Throws the contained exception . More...
 

Static Public Member Functions

static tbb_exception_ptrallocate ()
 
static tbb_exception_ptrallocate (const tbb_exception &tag)
 
static tbb_exception_ptrallocate (captured_exception &src)
 This overload uses move semantics (i.e. it empties src) More...
 

Private Member Functions

 tbb_exception_ptr (const std::exception_ptr &src)
 
 tbb_exception_ptr (const captured_exception &src)
 

Private Attributes

std::exception_ptr my_ptr
 

Detailed Description

Exception container that preserves the exact copy of the original exception.

This class can be used only when the appropriate runtime support (mandated by C++11) is present

Definition at line 325 of file tbb_exception.h.

Constructor & Destructor Documentation

◆ tbb_exception_ptr() [1/2]

tbb::internal::tbb_exception_ptr::tbb_exception_ptr ( const std::exception_ptr &  src)
inlineprivate

Definition at line 342 of file tbb_exception.h.

342 : my_ptr(src) {}

◆ tbb_exception_ptr() [2/2]

tbb::internal::tbb_exception_ptr::tbb_exception_ptr ( const captured_exception src)
inlineprivate

Definition at line 343 of file tbb_exception.h.

343  :
344  #if __TBB_MAKE_EXCEPTION_PTR_PRESENT
345  my_ptr(std::make_exception_ptr(src)) // the final function name in C++11
346  #else
347  my_ptr(std::copy_exception(src)) // early C++0x drafts name
348  #endif
349  {}

Member Function Documentation

◆ allocate() [1/3]

static tbb_exception_ptr* tbb::internal::tbb_exception_ptr::allocate ( )
static

◆ allocate() [2/3]

static tbb_exception_ptr* tbb::internal::tbb_exception_ptr::allocate ( const tbb_exception tag)
static

◆ allocate() [3/3]

static tbb_exception_ptr* tbb::internal::tbb_exception_ptr::allocate ( captured_exception src)
static

This overload uses move semantics (i.e. it empties src)

◆ destroy()

void tbb::internal::tbb_exception_ptr::destroy ( )
throw (
)

Destroys this objects.

Note that objects of this type can be created only by the allocate() method.

◆ throw_self()

void tbb::internal::tbb_exception_ptr::throw_self ( )
inline

Throws the contained exception .

Definition at line 339 of file tbb_exception.h.

339 { std::rethrow_exception(my_ptr); }

References my_ptr.

Member Data Documentation

◆ my_ptr

std::exception_ptr tbb::internal::tbb_exception_ptr::my_ptr
private

Definition at line 326 of file tbb_exception.h.

Referenced by throw_self().


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

Copyright © 2005-2020 Intel Corporation. All Rights Reserved.

Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are registered trademarks or trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.