HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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
< VdfDataManagerHashTable
Base
 
typedef
Vdf_ExecutorDataManagerTraits
< VdfDataManagerHashTable >
::DataHandle 
DataHandle
 
- Public Types inherited from VdfExecutorDataManager< VdfDataManagerHashTable >
typedef
Vdf_ExecutorDataManagerTraits
< VdfDataManagerHashTable >
::DataHandle 
DataHandle
 
typedef
Vdf_ExecutorDataManagerInterface
< VdfDataManagerHashTable,
DataHandle
Base
 

Public Member Functions

VDF_API void Resize (const VdfNetwork &network)
 
bool IsValidDataHandle (const DataHandle handle) const
 
DataHandle GetOrCreateDataHandle (const VdfId outputId) const
 
DataHandle GetDataHandle (const VdfId outputId) const
 
VdfExecutorBufferDataGetBufferData (const DataHandle handle) const
 
VdfExecutorInvalidationDataGetInvalidationData (const DataHandle handle) const
 
VdfInvalidationTimestamp GetInvalidationTimestamp (const DataHandle handle) const
 
void SetInvalidationTimestamp (const DataHandle handle, VdfInvalidationTimestamp timestamp)
 
VdfSMBLDataGetSMBLData (const DataHandle handle) const
 
VdfSMBLDataGetOrCreateSMBLData (const DataHandle handle) const
 
bool IsTouched (const DataHandle handle) const
 
void Touch (const DataHandle handle) const
 
bool Untouch (const DataHandle handle)
 
void ClearDataForOutput (const VdfId outputId)
 
void Clear ()
 
bool IsEmpty () const
 
- Public Member Functions inherited from VdfExecutorDataManager< VdfDataManagerHashTable >
const VdfVectorGetInputValue (const VdfConnection &connection, const VdfMask &mask) const
 
VdfVectorGetOutputValueForReading (const DataHandle handle, const VdfMask &mask) const
 
VdfVectorGetOrCreateOutputValueForWriting (const VdfOutput &output, const DataHandle handle) const
 
void SetOutputValue (const VdfOutput &output, const VdfVector &value, const VdfMask &mask)
 
bool TakeOutputValue (const VdfOutput &output, VdfVector *value, const VdfMask &mask)
 
void SetReferenceOutputValue (const VdfVector *sourceValue, const VdfId destOutputId) const
 
VdfVectorCreateOutputCache (const VdfOutput &output, VdfExecutorBufferData *bufferData) const
 
void DuplicateOutputData (const VdfOutput &sourceOutput, const VdfOutput &destOutput)
 
void SetComputedOutputMask (VdfExecutorBufferData *bufferData, const VdfMask &mask)
 
bool IsOutputInvalid (const VdfId outputId, const VdfMask &invalidationMask) const
 
bool InvalidateOutput (const VdfOutput &output, const VdfMask &invalidationMask)
 
void Touch (const VdfOutput &output) const
 
void UpdateInvalidationTimestamp (VdfInvalidationTimestamp timestamp)
 
VdfInvalidationTimestamp GetInvalidationTimestamp () const
 
bool HasInvalidationTimestampMismatch (const DataHandle sourceHandle, const DataHandle destHandle) const
 
VdfVectorPassBuffer (const VdfOutput &fromOutput, VdfExecutorBufferData *fromBuffer, const VdfOutput &toOutput, VdfExecutorBufferData *toBuffer, const VdfMask &keepMask)
 

Additional Inherited Members

- Protected Member Functions inherited from VdfExecutorDataManager< VdfDataManagerHashTable >
 VdfExecutorDataManager ()
 
 ~VdfExecutorDataManager ()=default
 
- Protected Member Functions inherited from Vdf_ExecutorDataManagerInterface< VdfDataManagerHashTable, Vdf_ExecutorDataManagerTraits< VdfDataManagerHashTable >::DataHandle >
 Vdf_ExecutorDataManagerInterface ()=default
 
 ~Vdf_ExecutorDataManagerInterface ()=default
 
void _Resize (const VdfNetwork &network)
 
bool _IsValidDataHandle (const Vdf_ExecutorDataManagerTraits< VdfDataManagerHashTable >::DataHandlehandle) const
 
Vdf_ExecutorDataManagerTraits
< VdfDataManagerHashTable >
::DataHandle 
_GetOrCreateDataHandle (const VdfId outputId) const
 
Vdf_ExecutorDataManagerTraits
< VdfDataManagerHashTable >
::DataHandle 
_GetDataHandle (const VdfId outputId) const
 
VdfExecutorBufferData_GetBufferData (const Vdf_ExecutorDataManagerTraits< VdfDataManagerHashTable >::DataHandlehandle) const
 
VdfExecutorInvalidationData_GetInvalidationData (const Vdf_ExecutorDataManagerTraits< VdfDataManagerHashTable >::DataHandlehandle) const
 
VdfInvalidationTimestamp _GetInvalidationTimestamp (const Vdf_ExecutorDataManagerTraits< VdfDataManagerHashTable >::DataHandlehandle) const
 
void _SetInvalidationTimestamp (const Vdf_ExecutorDataManagerTraits< VdfDataManagerHashTable >::DataHandlehandle, VdfInvalidationTimestamp ts)
 
VdfSMBLData_GetSMBLData (const Vdf_ExecutorDataManagerTraits< VdfDataManagerHashTable >::DataHandlehandle) const
 
VdfSMBLData_GetOrCreateSMBLData (const Vdf_ExecutorDataManagerTraits< VdfDataManagerHashTable >::DataHandlehandle) const
 
bool _IsTouched (const Vdf_ExecutorDataManagerTraits< VdfDataManagerHashTable >::DataHandlehandle) const
 
void _Touch (const Vdf_ExecutorDataManagerTraits< VdfDataManagerHashTable >::DataHandlehandle) const
 
bool _Untouch (const Vdf_ExecutorDataManagerTraits< VdfDataManagerHashTable >::DataHandlehandle)
 
void _ClearDataForOutput (const VdfOutput &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

The data handle type from the type traits class.

Definition at line 98 of file dataManagerHashTable.h.

Member Function Documentation

void VdfDataManagerHashTable::Clear ( )
inline

Clears all the data from this manager.

Definition at line 251 of file dataManagerHashTable.h.

void VdfDataManagerHashTable::ClearDataForOutput ( const VdfId  outputId)
inline

Clears the executor data for a specific output

Definition at line 245 of file dataManagerHashTable.h.

VdfExecutorBufferData* VdfDataManagerHashTable::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.

DataHandle VdfDataManagerHashTable::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.

VdfExecutorInvalidationData* VdfDataManagerHashTable::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.

VdfInvalidationTimestamp VdfDataManagerHashTable::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.

DataHandle VdfDataManagerHashTable::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.

VdfSMBLData* VdfDataManagerHashTable::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.

VdfSMBLData* VdfDataManagerHashTable::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.

bool VdfDataManagerHashTable::IsEmpty ( ) const
inline

Returns true if this data manager is empty.

Definition at line 257 of file dataManagerHashTable.h.

bool VdfDataManagerHashTable::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.

bool VdfDataManagerHashTable::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.

VDF_API void VdfDataManagerHashTable::Resize ( const VdfNetwork network)

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

void VdfDataManagerHashTable::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.

void VdfDataManagerHashTable::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.

bool VdfDataManagerHashTable::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: