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

Public Member Functions

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

Member Typedef Documentation

template<VdfDataManagerDeallocationMode DeallocationMode>
typedef VdfExecutorDataManager<VdfDataManagerVector> VdfDataManagerVector< DeallocationMode >::Base

The base class.

Definition at line 103 of file dataManagerVector.h.

template<VdfDataManagerDeallocationMode DeallocationMode>
typedef Vdf_ExecutorDataManagerTraits< VdfDataManagerVector>::DataHandle VdfDataManagerVector< DeallocationMode >::DataHandle

The data handle type from the type traits class.

Definition at line 110 of file dataManagerVector.h.

Constructor & Destructor Documentation

template<VdfDataManagerDeallocationMode DeallocationMode>
VdfDataManagerVector< DeallocationMode >::VdfDataManagerVector ( )
inline

Constructor.

Definition at line 114 of file dataManagerVector.h.

template<VdfDataManagerDeallocationMode DeallocationMode>
VdfDataManagerVector< DeallocationMode >::~VdfDataManagerVector ( )

Destructor

Definition at line 275 of file dataManagerVector.h.

Member Function Documentation

template<VdfDataManagerDeallocationMode DeallocationMode>
void VdfDataManagerVector< DeallocationMode >::Clear ( )

Clears all the data from this manager.

Definition at line 315 of file dataManagerVector.h.

template<VdfDataManagerDeallocationMode DeallocationMode>
void VdfDataManagerVector< DeallocationMode >::ClearDataForOutput ( const VdfId  outputId)

Clears the executor data for a specific output

Definition at line 301 of file dataManagerVector.h.

template<VdfDataManagerDeallocationMode DeallocationMode>
VdfExecutorBufferData* VdfDataManagerVector< DeallocationMode >::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.

template<VdfDataManagerDeallocationMode DeallocationMode>
DataHandle VdfDataManagerVector< DeallocationMode >::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.

template<VdfDataManagerDeallocationMode DeallocationMode>
VdfExecutorInvalidationData* VdfDataManagerVector< DeallocationMode >::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.

template<VdfDataManagerDeallocationMode DeallocationMode>
VdfInvalidationTimestamp VdfDataManagerVector< DeallocationMode >::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.

template<VdfDataManagerDeallocationMode DeallocationMode>
DataHandle VdfDataManagerVector< DeallocationMode >::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.

template<VdfDataManagerDeallocationMode DeallocationMode>
VdfSMBLData* VdfDataManagerVector< DeallocationMode >::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.

template<VdfDataManagerDeallocationMode DeallocationMode>
VdfSMBLData* VdfDataManagerVector< DeallocationMode >::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.

template<VdfDataManagerDeallocationMode DeallocationMode>
bool VdfDataManagerVector< DeallocationMode >::IsEmpty ( ) const
inline

Returns true if this data manager is empty.

Definition at line 260 of file dataManagerVector.h.

template<VdfDataManagerDeallocationMode DeallocationMode>
bool VdfDataManagerVector< DeallocationMode >::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.

template<VdfDataManagerDeallocationMode DeallocationMode>
bool VdfDataManagerVector< DeallocationMode >::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.

template<VdfDataManagerDeallocationMode DeallocationMode>
void VdfDataManagerVector< DeallocationMode >::Resize ( const VdfNetwork network)

Resize the data manager to accommodate the given network.

Definition at line 286 of file dataManagerVector.h.

template<VdfDataManagerDeallocationMode DeallocationMode>
void VdfDataManagerVector< DeallocationMode >::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.

template<VdfDataManagerDeallocationMode DeallocationMode>
void VdfDataManagerVector< DeallocationMode >::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.

template<VdfDataManagerDeallocationMode DeallocationMode>
bool VdfDataManagerVector< DeallocationMode >::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: