HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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
 
VdfExecutorBufferDataoperator= (const VdfExecutorBufferData &)=delete
 
 VdfExecutorBufferData ()
 
VDF_API ~VdfExecutorBufferData ()
 
VDF_API void Reset ()
 
VDF_API void Clone (VdfExecutorBufferData *dest) const
 
VdfVectorCreateExecutorCache (const VdfOutputSpec &spec)
 
VdfVectorCreateExecutorCache (const VdfOutputSpec &spec, const VdfMask::Bits &bits)
 
VdfVectorSwapExecutorCache (VdfExecutorBufferData *rhs)
 
VdfVectorGetExecutorCache () const
 
const VdfMaskGetExecutorCacheMask () const
 
void SetExecutorCacheMask (const VdfMask &mask)
 
void ResetExecutorCache (const VdfMask &mask)
 
void ResetExecutorCache ()
 
VDF_API void RetainExecutorCache (const VdfOutputSpec &spec, VdfSMBLData *smblData)
 
VDF_API VdfMask ReleaseExecutorCache (VdfSMBLData *smblData)
 
bool HasOwnership () const
 
void YieldOwnership ()
 
void YieldOwnership (VdfVector *v)
 
void TakeOwnership (VdfVector *v)
 

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::VdfExecutorBufferData ( const VdfExecutorBufferData )
delete

Noncopyable.

VdfExecutorBufferData::VdfExecutorBufferData ( )
inline

Constructor

Definition at line 41 of file executorBufferData.h.

VDF_API VdfExecutorBufferData::~VdfExecutorBufferData ( )

Destructor.

Member Function Documentation

VDF_API void VdfExecutorBufferData::Clone ( VdfExecutorBufferData dest) const

Clones this VdfExecutorBufferData instance to dest.

VdfVector * VdfExecutorBufferData::CreateExecutorCache ( const VdfOutputSpec spec)
inline

Creates a new executor cache for this buffer.

Definition at line 194 of file executorBufferData.h.

VdfVector * VdfExecutorBufferData::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.

VdfVector * VdfExecutorBufferData::GetExecutorCache ( ) const
inline

Returns the executor cache stored at this buffer data instance.

Definition at line 243 of file executorBufferData.h.

const VdfMask & VdfExecutorBufferData::GetExecutorCacheMask ( ) const
inline

Get the available mask.

Definition at line 252 of file executorBufferData.h.

bool VdfExecutorBufferData::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.

VdfExecutorBufferData& VdfExecutorBufferData::operator= ( const VdfExecutorBufferData )
delete
VDF_API VdfMask VdfExecutorBufferData::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.

VDF_API void VdfExecutorBufferData::Reset ( )

Reset the instance to its original, newly constructed state.

void VdfExecutorBufferData::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.

void VdfExecutorBufferData::ResetExecutorCache ( )
inline

Reset the executor cache without releasing any memory.

Definition at line 276 of file executorBufferData.h.

VDF_API void VdfExecutorBufferData::RetainExecutorCache ( const VdfOutputSpec spec,
VdfSMBLData smblData 
)

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

void VdfExecutorBufferData::SetExecutorCacheMask ( const VdfMask mask)
inline

Sets the available mask.

Definition at line 282 of file executorBufferData.h.

VdfVector * VdfExecutorBufferData::SwapExecutorCache ( VdfExecutorBufferData rhs)
inline

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

Definition at line 230 of file executorBufferData.h.

void VdfExecutorBufferData::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.

void VdfExecutorBufferData::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.

void VdfExecutorBufferData::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: