コンテナー全体の操作

安全性

これらの操作は、enumerable_thread_specific の同じインスタンスで同時に呼び出してはなりません。

次の表は、このテンプレート・クラスのメンバーの詳細な情報を提供します。
メンバー 説明
enumerable_thread_specific()

各ローカルコピーがデフォルト設定で作成される enumerable_thread_specific を作成します。

enumerable_thread_specific(const enumerable_thread_specific &other)

enumerable_thread_specific をコピーして作成します。 値は other の値からコピーして作成され、同じスレッドが対応します。

template<typename U, typename Alloc, ets_key_usage_type Cachetype> enumerable_thread_specific( const enumerable_thread_specific<U, Alloc, Cachetype>& other )

enumerable_thread_specific をコピーして作成します。 値は other の値からコピーして作成され、同じスレッドが対応します。

template< typename Finit> enumerable_thread_specific(Finit finit)

スレッドローカル要素が finit() の結果をコピーして作成される enumerable_thread_specific を作成します。

finit() 式は複数のスレッドで同時かつ安全に評価できなければなりません。 スレッドローカル要素が作成されるたびに評価されます。

enumerable_thread_specific(const &exemplar)

各ローカルコピーが exemplar からコピーして作成される enumerable_thread_specific を作成します。

~enumerable_thread_specific()

*this のすべての要素を破棄します。 このインスタンス用に作成されたすべてのネイティブ TLS キーを破棄します。

enumerable_thread_specific& operator=(const enumerable_thread_specific& other);

*thisother のコピーに設定します。

template< typename U, typename Alloc, ets_key_usage_type Cachetype> enumerable_thread_specific& operator=(const enumerable_thread_specific<U, Alloc, Cachetype>& other);

*thisother のコピーに設定します。

アロケーターおよびキーの使用法の特殊化は、この呼び出しでは変更されません。

void clear()

*this のすべての要素を破棄します。 この実装で使用されるすべてのネイティブ TLS キーを破棄して再作成します。

現在の実装では、enumerable_thread_specific を破棄して再作成する代わりに消去を使用するパフォーマンス上の利点はありません。