HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
EfInputValueBlock Class Reference

An input value block is a vector of (output, value) pairs, each of which will be used to initialize a network before execution. More...

#include <inputValueBlock.h>

Public Types

typedef _VectorType::const_iterator const_iterator
 

Public Member Functions

 EfInputValueBlock ()=default
 
EF_API EfInputValueBlock (const EfInputValueBlock &rhs)
 
 EfInputValueBlock (EfInputValueBlock &&rhs)=default
 
EF_API ~EfInputValueBlock ()
 
EF_API EfInputValueBlockoperator= (const EfInputValueBlock &rhs)
 
EfInputValueBlockoperator= (EfInputValueBlock &&rhs)=default
 
template<typename T >
void AddOutputValuePair (const VdfMaskedOutput &output, const T &value)
 
void AddOutputVectorPair (const VdfMaskedOutput &output, const VdfVector &value)
 
EF_API void Apply (VdfExecutorInterface *executor, VdfMaskedOutputVector *invalidationRequest=NULL) const
 
EF_API void InvalidateAndApply (VdfExecutorInterface *executor, const VdfMaskedOutputVector &invalidationRequest) const
 
const_iterator begin () const
 
const_iterator end () const
 
size_t GetSize () const
 

Detailed Description

An input value block is a vector of (output, value) pairs, each of which will be used to initialize a network before execution.

Definition at line 35 of file inputValueBlock.h.

Member Typedef Documentation

typedef _VectorType::const_iterator EfInputValueBlock::const_iterator

A const iterator into a block vector.

Definition at line 114 of file inputValueBlock.h.

Constructor & Destructor Documentation

EfInputValueBlock::EfInputValueBlock ( )
default

Constructs an empty input value block.

EF_API EfInputValueBlock::EfInputValueBlock ( const EfInputValueBlock rhs)

Copy constructor.

EfInputValueBlock::EfInputValueBlock ( EfInputValueBlock &&  rhs)
default

Move constructor.

EF_API EfInputValueBlock::~EfInputValueBlock ( )

Destructor.

Member Function Documentation

template<typename T >
void EfInputValueBlock::AddOutputValuePair ( const VdfMaskedOutput output,
const T value 
)
inline

Adds an (output, value) pair to this block.

Note that this API currently only supports single valued outputs and does not yet support vectorized outputs.

Definition at line 78 of file inputValueBlock.h.

void EfInputValueBlock::AddOutputVectorPair ( const VdfMaskedOutput output,
const VdfVector value 
)
inline

Adds an (output, VdfVector) pair to this block.

Definition at line 86 of file inputValueBlock.h.

EF_API void EfInputValueBlock::Apply ( VdfExecutorInterface executor,
VdfMaskedOutputVector invalidationRequest = NULL 
) const

Applies the input value block to an executor, by setting the output values and pushing through invalidation for each one of the output values set.

invalidationRequest is an output parameter, which will return the request used for invalidation.

const_iterator EfInputValueBlock::begin ( void  ) const
inline

Returns a const_iterator to the beginning of the values vector.

Definition at line 118 of file inputValueBlock.h.

const_iterator EfInputValueBlock::end ( void  ) const
inline

Returns a const_iterator to the end of the values vector.

Definition at line 124 of file inputValueBlock.h.

size_t EfInputValueBlock::GetSize ( ) const
inline

Returns the number of outputs in this block.

Definition at line 130 of file inputValueBlock.h.

EF_API void EfInputValueBlock::InvalidateAndApply ( VdfExecutorInterface executor,
const VdfMaskedOutputVector invalidationRequest 
) const

Pushes invalidation into the executor using the supplied invalidationRequest. Contrary to the Apply method, this method does not infer the invalidation request from the set input values. Instead, the invalidationRequest may be specified by the caller.

EF_API EfInputValueBlock& EfInputValueBlock::operator= ( const EfInputValueBlock rhs)

Copy assignment operator.

EfInputValueBlock& EfInputValueBlock::operator= ( EfInputValueBlock &&  rhs)
default

Move assignment operator.


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