このセクションのマクロは、ライブラリーのオプションの機能を制御します。
TBB_DEPRECATED マクロは、現在の機能との間で競合が発生する古い機能 (非推奨) を制御します。 インテル® スレッディング・ビルディング・ブロック (インテル® TBB) 2.1 のインターフェイスを使用する場合は、1 に定義します。
TBB_USE_EXCEPTIONS マクロは、ライブラリー・ヘッダーが try、catch、および throw のような例外処理構造を使用するかどうかを制御します。 TBB_USE_EXCEPTIONS=0 の場合、ヘッダーはこれらの構造を使用しません。
Windows*、Linux*、MacOS* オペレーティング・システムのデフォルトは、コンパイラーで例外処理構造が有効にされている場合は 1、その他の場合は 0 です。
TBB_USE_EXCEPTIONS=0 であっても、ランタイム・ライブラリーは例外をスローすることがあります。
TBB_USE_CAPTURED_EXCEPTION マクロは、ライブラリー内での例外の再スローを制御します。 C++ 1998 は、1 つのスレッドで例外をキャッチし、別のスレッドに再スローすることをサポートしていないため、ライブラリーは tbb::captured_exception と呼ばれる類似したものを再スローして並べ替えることがあります。
TBB_USE_CAPTURED_EXCEPTION=1 に定義すると、ライブラリーは類似したものを再スローできます。 これは、プラットフォーム間の動作を統一する上で便利です。
TBB_USE_CAPTURED_EXCEPTION=0 に定義すると、(類似したものではなく) キャッチされた例外の再スローが要求されます。 この設定は、C++11 の std::exception_ptr 機能をサポートするプラットフォームでのみ有効です。 その他の場合は、コンパイル時診断が発行されます。
デフォルト値は、std::exception_ptr をサポートするホスト・コンパイラーでは 1、その他の場合は 0 です。