Loading...
Searching...
No Matches
VdfExecutorBufferData Class Reference

This object is responsible for storing the executor buffer data, comprised of the executor cache vector, as well as a mask that denotes the available data. More...

#include <executorBufferData.h>

Public Member Functions

 VdfExecutorBufferData (const VdfExecutorBufferData &)=delete
 Noncopyable.
 
VdfExecutorBufferDataoperator= (const VdfExecutorBufferData &)=delete
 
 VdfExecutorBufferData ()
 Constructor.
 
VDF_API ~VdfExecutorBufferData ()
 Destructor.
 
VDF_API void Reset ()
 Reset the instance to its original, newly constructed state.
 
VDF_API void Clone (VdfExecutorBufferData *dest) const
 Clones this VdfExecutorBufferData instance to dest.
 
VdfVectorCreateExecutorCache (const VdfOutputSpec &spec)
 Creates a new executor cache for this buffer.
 
VdfVectorCreateExecutorCache (const VdfOutputSpec &spec, const VdfMask::Bits &bits)
 Creates a new executor cache for this buffer.
 
VdfVectorSwapExecutorCache (VdfExecutorBufferData *rhs)
 Swaps the executor cache at this buffer, with that of another buffer.
 
VdfVectorGetExecutorCache () const
 Returns the executor cache stored at this buffer data instance.
 
const VdfMaskGetExecutorCacheMask () const
 Get the available mask.
 
void SetExecutorCacheMask (const VdfMask &mask)
 Sets the available mask.
 
void ResetExecutorCache (const VdfMask &mask)
 Reset the executor cache without releasing any memory and set the executor cache mask to mask.
 
void ResetExecutorCache ()
 Reset the executor cache without releasing any memory.
 
VDF_API void RetainExecutorCache (const VdfOutputSpec &spec, VdfSMBLData *smblData)
 Takes the existing executor cache and retains it within the existing VdfSMBLData object.
 
VDF_API VdfMask ReleaseExecutorCache (VdfSMBLData *smblData)
 Merges the executor cache previously retained in smblData into this cache and releases the SMBL data.
 
bool HasOwnership () const
 Returns true if the buffer owns the executor cache.
 
void YieldOwnership ()
 Yields ownership of the internal vector, i.e.
 
void YieldOwnership (VdfVector *v)
 Yields ownership of the given vector.
 
void TakeOwnership (VdfVector *v)
 Assumes ownership of the given vector.
 

Detailed Description

This object is responsible for storing the executor buffer data, comprised of the executor cache vector, as well as a mask that denotes the available data.

Definition at line 31 of file executorBufferData.h.

Constructor & Destructor Documentation

◆ VdfExecutorBufferData() [1/2]

Noncopyable.

◆ VdfExecutorBufferData() [2/2]

Constructor.

Definition at line 41 of file executorBufferData.h.

◆ ~VdfExecutorBufferData()

VDF_API ~VdfExecutorBufferData ( )

Destructor.

Member Function Documentation

◆ Clone()

VDF_API void Clone ( VdfExecutorBufferData dest) const

Clones this VdfExecutorBufferData instance to dest.

◆ CreateExecutorCache() [1/2]

VdfVector * CreateExecutorCache ( const VdfOutputSpec spec)
inline

Creates a new executor cache for this buffer.

Definition at line 194 of file executorBufferData.h.

◆ CreateExecutorCache() [2/2]

VdfVector * CreateExecutorCache ( const VdfOutputSpec spec,
const VdfMask::Bits bits 
)
inline

Creates a new executor cache for this buffer.

The executor cache will be sized to accommodate all the entries set in the given bits.

Definition at line 220 of file executorBufferData.h.

◆ GetExecutorCache()

VdfVector * GetExecutorCache ( ) const
inline

Returns the executor cache stored at this buffer data instance.

Definition at line 243 of file executorBufferData.h.

◆ GetExecutorCacheMask()

const VdfMask & GetExecutorCacheMask ( ) const
inline

Get the available mask.

Definition at line 252 of file executorBufferData.h.

◆ HasOwnership()

bool HasOwnership ( ) const
inline

Returns true if the buffer owns the executor cache.

The owner of the cache is responsible for its lifetime management.

Definition at line 288 of file executorBufferData.h.

◆ ReleaseExecutorCache()

VDF_API VdfMask ReleaseExecutorCache ( VdfSMBLData smblData)

Merges the executor cache previously retained in smblData into this cache and releases the SMBL data.

Returns the mask denoting the data merged into the executor cache.

◆ Reset()

VDF_API void Reset ( )

Reset the instance to its original, newly constructed state.

◆ ResetExecutorCache() [1/2]

void ResetExecutorCache ( )
inline

Reset the executor cache without releasing any memory.

Definition at line 276 of file executorBufferData.h.

◆ ResetExecutorCache() [2/2]

void ResetExecutorCache ( const VdfMask mask)
inline

Reset the executor cache without releasing any memory and set the executor cache mask to mask.

Definition at line 258 of file executorBufferData.h.

◆ RetainExecutorCache()

VDF_API void RetainExecutorCache ( const VdfOutputSpec spec,
VdfSMBLData smblData 
)

Takes the existing executor cache and retains it within the existing VdfSMBLData object.

◆ SetExecutorCacheMask()

void SetExecutorCacheMask ( const VdfMask mask)
inline

Sets the available mask.

Definition at line 282 of file executorBufferData.h.

◆ SwapExecutorCache()

VdfVector * SwapExecutorCache ( VdfExecutorBufferData rhs)
inline

Swaps the executor cache at this buffer, with that of another buffer.

Definition at line 230 of file executorBufferData.h.

◆ TakeOwnership()

void TakeOwnership ( VdfVector v)
inline

Assumes ownership of the given vector.

Note, this will cause the given vector to be deallocated when this instance goes out of scope. The client must ensure that only a single buffer instance maintains ownership over any vector.

Definition at line 315 of file executorBufferData.h.

◆ YieldOwnership() [1/2]

void YieldOwnership ( )
inline

Yields ownership of the internal vector, i.e.

the vector will no longer be deallocated when this object goes out of scope.

Definition at line 295 of file executorBufferData.h.

◆ YieldOwnership() [2/2]

void YieldOwnership ( VdfVector v)
inline

Yields ownership of the given vector.

Note, this method deallocates any vector previously owned by this instance.

Definition at line 303 of file executorBufferData.h.


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