sync_shared Class

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at sync_shared Class.

Describes a synchronization filter that uses a mutex to control access to a cache object that is shared by all allocators.

template <class Cache>  
class sync_shared

Parameters

ParameterDescription
CacheThe type of cache associated with the synchronization filter. This can be cache_chunklist, cache_freelist, or cache_suballoc.

Member Functions

allocateAllocates a block of memory.
deallocateFrees a specified number of objects from storage beginning at a specified position.
equalsCompares two caches for equality.

Header: <allocators>

Namespace: stdext

Allocates a block of memory.

void *allocate(std::size_t count);

Parameters

ParameterDescription
countThe number of elements in the array to be allocated.

Return Value

A pointer to the allocated object.

Remarks

The member function locks the mutex, calls cache.allocate(count), unlocks the mutex, and returns the result of the earlier call to cache.allocate(count). cache represents the current cache object.

Frees a specified number of objects from storage beginning at a specified position.

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

Parameters

ParameterDescription
ptrA pointer to the first object to be deallocated from storage.
countThe number of objects to be deallocated from storage.

Remarks

This member function locks the mutex, calls cache.deallocate(ptr, count), where cache represents the cache object, and then unlocks the mutex.

Compares two caches for equality.

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

Parameters

ParameterDescription
CacheThe type of cache associated with the synchronization filter.
OtherThe cache to compare for equality.

Return Value

true if the result of cache.equals(Other.cache), where cache represents the cache object, is true; otherwise, false.

Remarks

<allocators>

Show: