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_ptr * | allocate ()
static tbb_exception_ptr * | allocate (const tbb_exception &tag)
static tbb_exception_ptr * | allocate (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 | ) |

inline private

Definition at line 342 of file tbb_exception.h.

: my_ptr(src) {}

## tbb_exception_ptr() [2/2]

tbb::internal::tbb_exception_ptr::tbb_exception_ptr | ( | const captured_exception & | src | ) |

inline private

Definition at line 343 of file tbb_exception.h.

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

## 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 | ( | captured_exception & | src | ) |

static

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

## allocate() [3/3]

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

static

## 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.

{ 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:

- tbb_exception.h

tbb::internal::tbb_exception_ptr::my_ptr
std::exception_ptr my_ptr
Definition: tbb_exception.h:326

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.