HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Ef_OutputValueCache::ExclusiveAccess Class Reference

#include <outputValueCache.h>

Public Member Functions

 ExclusiveAccess (const ExclusiveAccess &)=delete
 
const ExclusiveAccessoperator= (const ExclusiveAccess &)=delete
 
 ExclusiveAccess (Ef_OutputValueCache *cache)
 
bool IsEmpty () const
 
bool IsUncached (const VdfRequest &request) const
 
VdfRequest GetUncached (const VdfRequest &request) const
 
const VdfVectorGetValue (const VdfOutput &output, const VdfMask &mask) const
 
size_t SetValue (const VdfOutput &output, const VdfVector &value, const VdfMask &mask)
 
size_t Invalidate (const VdfOutput &output)
 
size_t Invalidate (const VdfMaskedOutputVector &outputs)
 
size_t Clear ()
 

Detailed Description

An accessor that provides exclusive read/write access to the cache. No other reader or writer will access this cache.

Definition at line 54 of file outputValueCache.h.

Constructor & Destructor Documentation

Ef_OutputValueCache::ExclusiveAccess::ExclusiveAccess ( const ExclusiveAccess )
delete

Non-copyable.

Ef_OutputValueCache::ExclusiveAccess::ExclusiveAccess ( Ef_OutputValueCache cache)
inline

Constructor.

Definition at line 64 of file outputValueCache.h.

Member Function Documentation

size_t Ef_OutputValueCache::ExclusiveAccess::Clear ( )
inline

Clears the entire cache. Returns the number of bytes that have been removed from the cache.

Definition at line 131 of file outputValueCache.h.

VdfRequest Ef_OutputValueCache::ExclusiveAccess::GetUncached ( const VdfRequest request) const
inline

Returns a request of outputs that are not currently cached.

Definition at line 85 of file outputValueCache.h.

const VdfVector* Ef_OutputValueCache::ExclusiveAccess::GetValue ( const VdfOutput output,
const VdfMask mask 
) const
inline

Returns the cached value for a given output and mask, if it exists.

Definition at line 93 of file outputValueCache.h.

size_t Ef_OutputValueCache::ExclusiveAccess::Invalidate ( const VdfOutput output)
inline

Invalidate an output by removing all the data stored at the output. Returns the number of bytes invalidated.

Definition at line 116 of file outputValueCache.h.

size_t Ef_OutputValueCache::ExclusiveAccess::Invalidate ( const VdfMaskedOutputVector outputs)
inline

Invalidate a vector of outputs and masks by removing the data from the cache. Returns the number of bytes invalidated.

Definition at line 124 of file outputValueCache.h.

bool Ef_OutputValueCache::ExclusiveAccess::IsEmpty ( ) const
inline

Returns true if the cache is empty at this time.

Definition at line 71 of file outputValueCache.h.

bool Ef_OutputValueCache::ExclusiveAccess::IsUncached ( const VdfRequest request) const
inline

Returns true if any outputs in the request are not currently cached.

Definition at line 78 of file outputValueCache.h.

const ExclusiveAccess& Ef_OutputValueCache::ExclusiveAccess::operator= ( const ExclusiveAccess )
delete
size_t Ef_OutputValueCache::ExclusiveAccess::SetValue ( const VdfOutput output,
const VdfVector value,
const VdfMask mask 
)
inline

Sets the cached values for a given output and mask. Returns the number of bytes of additionally allocated storage.

This will NOT update elements in the vector, which are already cached. Only uncached data will be merged into values existing in the cache.

Definition at line 106 of file outputValueCache.h.


The documentation for this class was generated from the following file: