![]() |
|
This is a data manager for executors that uses data stored in a vector indexed by output ids. More...
#include <dataManagerVector.h>
Inheritance diagram for VdfDataManagerVector< DeallocationMode >:Public Types | |
| typedef VdfExecutorDataManager< VdfDataManagerVector > | Base |
| The base class. | |
| typedef Vdf_ExecutorDataManagerTraits< VdfDataManagerVector >::DataHandle | DataHandle |
| The data handle type from the type traits class. | |
Public Types inherited from VdfExecutorDataManager< VdfDataManagerVector< DeallocationMode > > | |
| typedef Vdf_ExecutorDataManagerTraits< VdfDataManagerVector< DeallocationMode > >::DataHandle | DataHandle |
| The data handle type defined via the specialized traits class. | |
| typedef Vdf_ExecutorDataManagerInterface< VdfDataManagerVector< DeallocationMode >, DataHandle > | Base |
| The base class type. | |
Public Member Functions | |
| VdfDataManagerVector () | |
| Constructor. | |
| ~VdfDataManagerVector () | |
| Destructor. | |
| void | Resize (const VdfNetwork &network) |
| Resize the data manager to accommodate 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. | |
| VdfInvalidationTimestamp | GetInvalidationTimestamp () const |
| Un-hide the GetInvalidationTimestamp method declared in the base class. | |
Public Member Functions inherited from VdfExecutorDataManager< VdfDataManagerVector< DeallocationMode > > | |
| 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< VdfDataManagerVector< DeallocationMode > > | |
| 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 a vector indexed by output ids.
Definition at line 94 of file dataManagerVector.h.
The base class.
Definition at line 103 of file dataManagerVector.h.
| typedef Vdf_ExecutorDataManagerTraits<VdfDataManagerVector>::DataHandle DataHandle |
The data handle type from the type traits class.
Definition at line 110 of file dataManagerVector.h.
|
inline |
Constructor.
Definition at line 114 of file dataManagerVector.h.
Destructor.
Definition at line 275 of file dataManagerVector.h.
| void Clear |
Clears all the data from this manager.
Definition at line 315 of file dataManagerVector.h.
| void ClearDataForOutput | ( | const VdfId | outputId | ) |
Clears the executor data for a specific output.
Definition at line 301 of file dataManagerVector.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 158 of file dataManagerVector.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 147 of file dataManagerVector.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 168 of file dataManagerVector.h.
|
inline |
Un-hide the GetInvalidationTimestamp method declared in the base class.
Definition at line 176 of file executorDataManager.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 183 of file dataManagerVector.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 139 of file dataManagerVector.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 216 of file dataManagerVector.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 206 of file dataManagerVector.h.
|
inline |
Returns true if this data manager is empty.
Definition at line 260 of file dataManagerVector.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 226 of file dataManagerVector.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 130 of file dataManagerVector.h.
| void Resize | ( | const VdfNetwork & | network | ) |
Resize the data manager to accommodate the given network.
Definition at line 286 of file dataManagerVector.h.
|
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 193 of file dataManagerVector.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 236 of file dataManagerVector.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 246 of file dataManagerVector.h.