![]() |
|
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 |
| 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, DataHandle > | Base |
| 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. | |
| 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 timestamp) |
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 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 VdfVector * | GetInputValue (const VdfConnection &connection, const VdfMask &mask) const |
Returns the input value flowing across the given connection with the given mask. | |
| VdfVector * | GetOutputValueForReading (const DataHandle handle, const VdfMask &mask) const |
Returns the cached value for a given output and mask. | |
| VdfVector * | GetOrCreateOutputValueForWriting (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. | |
| VdfVector * | CreateOutputCache (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. | |
| VdfVector * | PassBuffer (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. | |
This is a data manager for executors that uses data stored in an external hash table.
Definition at line 72 of file dataManagerHashTable.h.
The base class type.
Definition at line 91 of file dataManagerHashTable.h.
| typedef Vdf_ExecutorDataManagerTraits<VdfDataManagerHashTable>::DataHandle DataHandle |
The data handle type from the type traits class.
Definition at line 98 of file dataManagerHashTable.h.
|
inline |
Clears all the data from this manager.
Definition at line 251 of file dataManagerHashTable.h.
|
inline |
Clears the executor data for a specific output.
Definition at line 245 of file dataManagerHashTable.h.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
inline |
Returns true if this data manager is empty.
Definition at line 257 of file dataManagerHashTable.h.
|
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.
|
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 Resize | ( | const VdfNetwork & | network | ) |
Resize the data manager to accommodate all the outputs in the given network.
|
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.
|
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.
|
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.