Loading...
Searching...
No Matches
VdfDataManagerVector< DeallocationMode > Class Template Reference

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< VdfDataManagerVectorBase
 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 >, DataHandleBase
 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.
 
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.
 
VdfInvalidationTimestamp GetInvalidationTimestamp () const
 Un-hide the GetInvalidationTimestamp method declared in the base class.
 
- Public Member Functions inherited from VdfExecutorDataManager< VdfDataManagerVector< DeallocationMode > >
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< 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.
 

Detailed Description

template<VdfDataManagerDeallocationMode DeallocationMode>
class VdfDataManagerVector< DeallocationMode >

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.

Member Typedef Documentation

◆ Base

The base class.

Definition at line 103 of file dataManagerVector.h.

◆ DataHandle

The data handle type from the type traits class.

Definition at line 110 of file dataManagerVector.h.

Constructor & Destructor Documentation

◆ VdfDataManagerVector()

Constructor.

Definition at line 114 of file dataManagerVector.h.

◆ ~VdfDataManagerVector()

Destructor.

Definition at line 275 of file dataManagerVector.h.

Member Function Documentation

◆ Clear()

void Clear

Clears all the data from this manager.

Definition at line 315 of file dataManagerVector.h.

◆ ClearDataForOutput()

void ClearDataForOutput ( const VdfId  outputId)

Clears the executor data for a specific output.

Definition at line 301 of file dataManagerVector.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 158 of file dataManagerVector.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 147 of file dataManagerVector.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 168 of file dataManagerVector.h.

◆ GetInvalidationTimestamp() [1/2]

VdfInvalidationTimestamp GetInvalidationTimestamp ( ) const
inline

Un-hide the GetInvalidationTimestamp method declared in the base class.

Definition at line 176 of file executorDataManager.h.

◆ GetInvalidationTimestamp() [2/2]

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 183 of file dataManagerVector.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 139 of file dataManagerVector.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 216 of file dataManagerVector.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 206 of file dataManagerVector.h.

◆ IsEmpty()

bool IsEmpty ( ) const
inline

Returns true if this data manager is empty.

Definition at line 260 of file dataManagerVector.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 226 of file dataManagerVector.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 130 of file dataManagerVector.h.

◆ Resize()

void Resize ( const VdfNetwork network)

Resize the data manager to accommodate the given network.

Definition at line 286 of file dataManagerVector.h.

◆ 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 193 of file dataManagerVector.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 236 of file dataManagerVector.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 246 of file dataManagerVector.h.


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