次の方法で共有


sync_shared クラス

すべてのアロケーターによって共有されているキャッシュ オブジェクトへのアクセスを制御するためにミューテックスを使用する同期フィルターを表します。

構文

template <class Cache>
class sync_shared

パラメーター

キャッシュ
同期フィルターに関連付けられているキャッシュの型。 cache_chunklistcache_freelist、または cache_suballoc を指定できます。

メンバー関数

メンバー関数 説明
allocate メモリのブロックを割り当てます。
deallocate 指定した位置で始まるストレージから、指定された数のオブジェクトを解放します。
equals 2 つのキャッシュが等しいかどうかを比較します。

必要条件

ヘッダー: <allocators>

名前空間: stdext

sync_shared::allocate

メモリのブロックを割り当てます。

void *allocate(std::size_t count);

パラメーター

count
割り当てられる配列内の要素の数。

戻り値

割り当てられたオブジェクトへのポインター。

解説

メンバー関数はミューテックスをロックし、cache.allocate(count) を呼び出し、ミューテックスをロック解除し、以前の cache.allocate(count) の呼び出しの結果を返します。 cache はキャッシュ オブジェクトを表します。

sync_shared::d eallocate

指定した位置で始まるストレージから、指定された数のオブジェクトを解放します。

void deallocate(void* ptr, std::size_t count);

パラメーター

ptr
記憶域から割り当てを解除される最初のオブジェクトへのポインター。

count
記憶域から割り当てを解除されるオブジェクトの数。

解説

このメンバー関数は、ミューテックスをロックし、cache.deallocate(ptr, count) (cache はキャッシュ オブジェクトを表す) を呼び出し、その後ミューテックスをロック解除します。

sync_shared::equals

2 つのキャッシュが等しいかどうかを比較します。

bool equals(const sync_shared<Cache>& Other) const;

パラメーター

キャッシュ
同期フィルターに関連付けられているキャッシュの型。

その他
等しいかどうかを比較するキャッシュ。

戻り値

cache.equals(Other.cache) (cache はキャッシュ オブジェクトを表す) の結果が true の場合は true、それ以外の場合は false

解説

関連項目

<allocators>