Loading...
Searching...
No Matches
VdfDataManagerHashTable Class Reference

This is a data manager for executors that uses data stored in an external hash table. More...

#include <dataManagerHashTable.h>

+ Inheritance diagram for VdfDataManagerHashTable:

Public Types

typedef VdfExecutorDataManager< VdfDataManagerHashTableBase
 The base class type.
 
typedef Vdf_ExecutorDataManagerTraits< VdfDataManagerHashTable >::DataHandle DataHandle
 The data handle type from the type traits class.
 
- Public Types inherited from VdfExecutorDataManager< VdfDataManagerHashTable >
typedef Vdf_ExecutorDataManagerTraits< VdfDataManagerHashTable >::DataHandle DataHandle
 The data handle type defined via the specialized traits class.
 
typedef Vdf_ExecutorDataManagerInterface< VdfDataManagerHashTable, DataHandleBase
 The base class type.
 

Public Member Functions

VDF_API void Resize (const VdfNetwork &network)
 Resize the data manager to accommodate all the outputs in the given network.
 
bool IsValidDataHandle (const DataHandle handle) const
 Returns true if the given data handle is valid, i.e.
 
DataHandle GetOrCreateDataHandle (const VdfId outputId) const
 Returns an existing data handle, or creates a new one for the given outputId.
 
DataHandle GetDataHandle (const VdfId outputId) const
 Returns an existing data handle for the given outputId.
 
VdfExecutorBufferDataGetBufferData (const DataHandle handle) const
 Returns the VdfExecutorBufferData associated with the given handle.
 
VdfExecutorInvalidationData * GetInvalidationData (const DataHandle handle) const
 Returns the VdfExecutorInvalidationData associated with the given handle.
 
VdfInvalidationTimestamp GetInvalidationTimestamp (const DataHandle handle) const
 Returns the VdfInvalidationTimestamp associated with the given handle.
 
void SetInvalidationTimestamp (const DataHandle handle, VdfInvalidationTimestamp timestamp)
 Sets the invalidation timestamp for the give data handle.
 
VdfSMBLDataGetSMBLData (const DataHandle handle) const
 Returns an existing VdfSMBLData associated with the given handle.
 
VdfSMBLDataGetOrCreateSMBLData (const DataHandle handle) const
 Returns an existing VdfSMBLData associated with the given handle or creates a new one of none exists.
 
bool IsTouched (const DataHandle handle) const
 Returns true if the data at the given handle has been touched by evaluation.
 
void Touch (const DataHandle handle) const
 Marks the data at the given handle as having been touched by evaluation.
 
bool Untouch (const DataHandle handle)
 Marks the data at the given handle as not having been touched by evaluation.
 
void ClearDataForOutput (const VdfId outputId)
 Clears the executor data for a specific output.
 
void Clear ()
 Clears all the data from this manager.
 
bool IsEmpty () const
 Returns true if this data manager is empty.
 
- Public Member Functions inherited from VdfExecutorDataManager< VdfDataManagerHashTable >
const VdfVectorGetInputValue (const VdfConnection &connection, const VdfMask &mask) const
 Returns the input value flowing across the given connection with the given mask.
 
VdfVectorGetOutputValueForReading (const DataHandle handle, const VdfMask &mask) const
 Returns the cached value for a given output and mask.
 
VdfVectorGetOrCreateOutputValueForWriting (const VdfOutput &output, const DataHandle handle) const
 Returns a new or existing output value for writing data into.
 
void SetOutputValue (const VdfOutput &output, const VdfVector &value, const VdfMask &mask)
 Sets the cached value for a given output, creating the output cache if necessary.
 
bool TakeOutputValue (const VdfOutput &output, VdfVector *value, const VdfMask &mask)
 Transfers ownership of value to the given output, returning true if the transfer of ownership succeeds.
 
void SetReferenceOutputValue (const VdfVector *sourceValue, const VdfId destOutputId) const
 Called to set destOutput's buffer output to be a reference to the sourceValue.
 
VdfVectorCreateOutputCache (const VdfOutput &output, VdfExecutorBufferData *bufferData) const
 Creates a new cache for an output, given the output data object.
 
void DuplicateOutputData (const VdfOutput &sourceOutput, const VdfOutput &destOutput)
 Duplicates the output data associated with sourceOutput and copies it to destOutput.
 
void SetComputedOutputMask (VdfExecutorBufferData *bufferData, const VdfMask &mask)
 Marks the output whose data is bufferData as computed for the entries in mask.
 
bool IsOutputInvalid (const VdfId outputId, const VdfMask &invalidationMask) const
 Returns true if the output is already invalid for the given invalidationMask.
 
bool InvalidateOutput (const VdfOutput &output, const VdfMask &invalidationMask)
 Marks output as invalid.
 
void Touch (const VdfOutput &output) const
 Marks the data at the given output as having been touched by evaluation.
 
void UpdateInvalidationTimestamp (VdfInvalidationTimestamp timestamp)
 Increments the the current invalidation timestamp on this executor.
 
VdfInvalidationTimestamp GetInvalidationTimestamp () const
 Returns the current invalidation timestamp on this executor.
 
bool HasInvalidationTimestampMismatch (const DataHandle sourceHandle, const DataHandle destHandle) const
 Returns true, if the invalidation timestamps between sourceData and destData do not match, i.e.
 
VdfVectorPassBuffer (const VdfOutput &fromOutput, VdfExecutorBufferData *fromBuffer, const VdfOutput &toOutput, VdfExecutorBufferData *toBuffer, const VdfMask &keepMask)
 This method is called to pass a buffer from fromOutput to toOutput.
 

Additional Inherited Members

- Protected Member Functions inherited from VdfExecutorDataManager< VdfDataManagerHashTable >
 VdfExecutorDataManager ()
 Constructor.
 
 ~VdfExecutorDataManager ()=default
 Prevent destruction via base class pointers (static polymorphism only).
 
- Protected Member Functions inherited from Vdf_ExecutorDataManagerInterface< DerivedClass, DataHandle >
 Vdf_ExecutorDataManagerInterface ()=default
 Allow construction via derived classes, only.
 
 ~Vdf_ExecutorDataManagerInterface ()=default
 Prevent destruction via base class pointers (static polymorphism only).
 
void _Resize (const VdfNetwork &network)
 Resize the data manager to accommodate all the outputs in the given network.
 
bool _IsValidDataHandle (const DataHandle handle) const
 Returns true if the given data handle is valid, i.e.
 
DataHandle _GetOrCreateDataHandle (const VdfId outputId) const
 Returns an existing data handle, or creates a new one for the given outputId.
 
DataHandle _GetDataHandle (const VdfId outputId) const
 Returns an existing data handle for the given outputId.
 
VdfExecutorBufferData_GetBufferData (const DataHandle handle) const
 Returns the VdfExecutorBufferData associated with the given handle.
 
VdfExecutorInvalidationData * _GetInvalidationData (const DataHandle handle) const
 Returns the VdfExecutorInvalidationData associated with the given handle.
 
VdfInvalidationTimestamp _GetInvalidationTimestamp (const DataHandle handle) const
 Returns the VdfInvalidationTimestamp associated with the given handle.
 
void _SetInvalidationTimestamp (const DataHandle handle, VdfInvalidationTimestamp ts)
 Sets the invalidation timestamp for the give data handle.
 
VdfSMBLData_GetSMBLData (const DataHandle handle) const
 Returns an existing VdfSMBLData associated with the given handle.
 
VdfSMBLData_GetOrCreateSMBLData (const DataHandle handle) const
 Returns an existing VdfSMBLData associated with the given handle or creates a new one of none exists.
 
bool _IsTouched (const DataHandle handle) const
 Returns true if the data at the given handle has been touched by evaluation.
 
void _Touch (const DataHandle handle) const
 Marks the data at the given handle as having been touched by evaluation.
 
bool _Untouch (const DataHandle handle)
 Marks the data at the given handle as not having been touched by evaluation.
 
void _ClearDataForOutput (const VdfOutput &output)
 Clears the executor data for a specific output.
 

Detailed Description

This is a data manager for executors that uses data stored in an external hash table.

Definition at line 72 of file dataManagerHashTable.h.

Member Typedef Documentation

◆ Base

The base class type.

Definition at line 91 of file dataManagerHashTable.h.

◆ DataHandle

The data handle type from the type traits class.

Definition at line 98 of file dataManagerHashTable.h.

Member Function Documentation

◆ Clear()

void Clear ( )
inline

Clears all the data from this manager.

Definition at line 251 of file dataManagerHashTable.h.

◆ ClearDataForOutput()

void ClearDataForOutput ( const VdfId  outputId)
inline

Clears the executor data for a specific output.

Definition at line 245 of file dataManagerHashTable.h.

◆ GetBufferData()

VdfExecutorBufferData * GetBufferData ( const DataHandle  handle) const
inline

Returns the VdfExecutorBufferData associated with the given handle.

Note it is undefined behavior to call this method with an invalid data handle.

Definition at line 146 of file dataManagerHashTable.h.

◆ GetDataHandle()

DataHandle GetDataHandle ( const VdfId  outputId) const
inline

Returns an existing data handle for the given outputId.

This method will return an invalid data handle, if no handle has been created for the given outputId.

Definition at line 137 of file dataManagerHashTable.h.

◆ GetInvalidationData()

VdfExecutorInvalidationData * GetInvalidationData ( const DataHandle  handle) const
inline

Returns the VdfExecutorInvalidationData associated with the given handle.

Note it is undefined behavior to call this method with an invalid data handle.

Definition at line 156 of file dataManagerHashTable.h.

◆ GetInvalidationTimestamp()

VdfInvalidationTimestamp GetInvalidationTimestamp ( const DataHandle  handle) const
inline

Returns the VdfInvalidationTimestamp associated with the given handle.

Note it is undefined behavior to call this method with an invalid data handle.

Definition at line 171 of file dataManagerHashTable.h.

◆ GetOrCreateDataHandle()

DataHandle GetOrCreateDataHandle ( const VdfId  outputId) const
inline

Returns an existing data handle, or creates a new one for the given outputId.

This method is guaranteed to return a valid data handle.

Definition at line 121 of file dataManagerHashTable.h.

◆ GetOrCreateSMBLData()

VdfSMBLData * GetOrCreateSMBLData ( const DataHandle  handle) const
inline

Returns an existing VdfSMBLData associated with the given handle or creates a new one of none exists.

Note it is undefined behavior to call this method with an invalid data handle.

Definition at line 204 of file dataManagerHashTable.h.

◆ GetSMBLData()

VdfSMBLData * GetSMBLData ( const DataHandle  handle) const
inline

Returns an existing VdfSMBLData associated with the given handle.

Returns nullptr if there is no SMBL data associated with this data handle.

Note it is undefined behavior to call this method with an invalid data handle.

Definition at line 194 of file dataManagerHashTable.h.

◆ IsEmpty()

bool IsEmpty ( ) const
inline

Returns true if this data manager is empty.

Definition at line 257 of file dataManagerHashTable.h.

◆ IsTouched()

bool IsTouched ( const DataHandle  handle) const
inline

Returns true if the data at the given handle has been touched by evaluation.

Note it is undefined behavior to call this method with an invalid data handle.

Definition at line 217 of file dataManagerHashTable.h.

◆ IsValidDataHandle()

bool IsValidDataHandle ( const DataHandle  handle) const
inline

Returns true if the given data handle is valid, i.e.

it is valid to ask for data for this given handle.

Note that attempting to resolve data at an invalid handle results in undefined behavior.

Definition at line 112 of file dataManagerHashTable.h.

◆ Resize()

VDF_API void Resize ( const VdfNetwork network)

Resize the data manager to accommodate all the outputs in the given network.

◆ SetInvalidationTimestamp()

void SetInvalidationTimestamp ( const DataHandle  handle,
VdfInvalidationTimestamp  timestamp 
)
inline

Sets the invalidation timestamp for the give data handle.

Note it is undefined behavior to call this method with an invalid data handle.

Definition at line 181 of file dataManagerHashTable.h.

◆ Touch()

void Touch ( const DataHandle  handle) const
inline

Marks the data at the given handle as having been touched by evaluation.

Note it is undefined behavior to call this method with an invalid data handle.

Definition at line 227 of file dataManagerHashTable.h.

◆ Untouch()

bool Untouch ( const DataHandle  handle)
inline

Marks the data at the given handle as not having been touched by evaluation.

Returns true if the data has previously been touched.

Note it is undefined behavior to call this method with an invalid data handle.

Definition at line 237 of file dataManagerHashTable.h.


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