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 322 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 339 of file tbb_exception.h.

339 : my_ptr(src) {}

◆ tbb_exception_ptr() [2/2]

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

Definition at line 340 of file tbb_exception.h.

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

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 336 of file tbb_exception.h.

336 { std::rethrow_exception(my_ptr); }

Member Data Documentation

◆ my_ptr

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

Definition at line 323 of file tbb_exception.h.


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

Copyright © 2005-2019 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.