17 #ifndef __TBB_exception_H    18 #define __TBB_exception_H    20 #define __TBB_tbb_exception_H_include_area    34 #if __TBB_DEFAULT_DTOR_THROW_SPEC_BROKEN    87 #if __TBB_SUPPORTS_WORKERS_WAITING_IN_TERMINATE   110 #if __TBB_TASK_GROUP_CONTEXT   142     void* 
operator new ( size_t );
   160     virtual void destroy() 
throw() = 0;
   167     virtual void throw_self() = 0;
   170     virtual const char* 
name() 
const throw() = 0;
   181     void operator delete ( 
void* 
p ) {
   209         if ( 
this != &src ) {
   211             set(src.my_exception_name, src.my_exception_info);
   246 template<
typename ExceptionData>
   253         : my_exception_data(data_)
   266         , my_exception_data(src.my_exception_data)
   268         , my_exception_name(src.my_exception_name)
   274         if ( 
this != &src ) {
   281     ExceptionData& 
data() throw() { 
return my_exception_data; }
   283     const ExceptionData& 
data() 
const throw() { 
return my_exception_data; }
   298         __TBB_ASSERT ( my_dynamic, 
"Method destroy can be called only on dynamically allocated movable_exceptions" );
   319 #if !TBB_USE_CAPTURED_EXCEPTION   345             my_ptr(std::make_exception_ptr(src))  
   347             my_ptr(std::copy_exception(src))      
   360 #undef __TBB_tbb_exception_H_include_area 
void destroy()
Destroys this objects.
 
The last enumerator tracks the number of defined IDs. It must remain the last one.
 
void __TBB_EXPORTED_FUNC throw_exception_v4(exception_id)
Gathers all throw operators in one place.
 
tbb_exception_ptr(const captured_exception &src)
 
captured_exception(const char *name_, const char *info)
 
Exception for concurrent containers.
 
ExceptionData my_exception_data
User data.
 
movable_exception< ExceptionData > self_type
 
Interface to be implemented by all exceptions TBB recognizes and propagates across the threads.
 
const char * what() const __TBB_override
 
Exception for user-initiated abort.
 
#define TBB_USE_EXCEPTIONS
 
bool my_dynamic
Flag specifying whether this object has been dynamically allocated (by the move method)
 
#define __TBB_DEPRECATED_IN_VERBOSE_MODE
 
void __TBB_EXPORTED_FUNC deallocate_via_handler_v3(void *p)
Deallocates memory using FreeHandler.
 
tbb_exception_ptr(const std::exception_ptr &src)
 
const char * what() const __TBB_override
 
Template that can be used to implement exception that transfers arbitrary ExceptionData to the root t...
 
const ExceptionData & data() const
 
const char * what() const __TBB_override
Returns the result of originally intercepted exception's what() method.
 
const char * what() const __TBB_override
 
void throw_self() __TBB_override
Throws this exception object.
 
void destroy() __TBB_override
Destroys objects created by the move() method.
 
#define __TBB_MAKE_EXCEPTION_PTR_PRESENT
 
movable_exception(const movable_exception &src)
 
Exception for repeated scheduling of the same task_handle.
 
movable_exception(const ExceptionData &data_)
 
const char * my_exception_name
 
void const char const char int ITT_FORMAT __itt_group_sync p
 
const char * name() const __TBB_override
Returns RTTI name of the originally intercepted exception.
 
#define __TBB_EXPORTED_FUNC
 
const char * what() const __TBB_override
 
const char * my_exception_name
RTTI name of this class.
 
This class is used by TBB to propagate information about unhandled exceptions into the root thread.
 
Exception for missing wait on structured_task_group.
 
void const char const char int ITT_FORMAT __itt_group_sync x void const char * name
 
static tbb_exception_ptr * allocate()
 
Exception container that preserves the exact copy of the original exception.
 
#define __TBB_EXPORTED_METHOD
 
captured_exception(const captured_exception &src)
 
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
 
void __TBB_EXPORTED_FUNC throw_bad_last_alloc_exception_v4()
Obsolete.
 
const char * my_exception_info
 
void throw_exception(exception_id eid)
Versionless convenience wrapper for throw_exception_v4()
 
std::exception_ptr my_ptr
 
void throw_self()
Throws the contained exception .
 
void *__TBB_EXPORTED_FUNC allocate_via_handler_v3(size_t n)
Allocates memory using MallocHandler.
 
movable_exception * move() __TBB_override
Creates and returns pointer to the deep copy of this exception object.
 
void move(tbb_thread &t1, tbb_thread &t2)