cuLite v0.3.1
A lite CUDA C++ Interface
Loading...
Searching...
No Matches
culite::VirtualObject< T_Result > Class Template Reference

The virtual object class. More...

Inheritance diagram for culite::VirtualObject< T_Result >:

Public Member Functions

void evaluateOnNew (T_Result &dest) const override
 Evaluates the expression on a return object.
void evaluateOnExisting (T_Result &dest) const override
 Evaluates the expression on a return object.
void accumulateOnExisting (T_Result &dest, T_Scalar coeff) const override
 Adds the expression on a return object.
Public Member Functions inherited from culite::VirtualExpression< T_Result, VirtualObject< T_Result > >
virtual T_Result evaluate () const
 Evaluates the expression.

Detailed Description

template<typename T_Result>
class culite::VirtualObject< T_Result >

The virtual object class.

Virtualizes a non-virtual object, making it compatible with all virtual expressions.

Member Function Documentation

◆ evaluateOnNew()

template<typename T_Result>
void culite::VirtualObject< T_Result >::evaluateOnNew ( T_Result & dest) const
inlineoverridevirtual

Evaluates the expression on a return object.

Clears existing data in dest, reallocates and evaluates the expression.

Implements culite::VirtualExpression< T_Result, VirtualObject< T_Result > >.

◆ evaluateOnExisting()

template<typename T_Result>
void culite::VirtualObject< T_Result >::evaluateOnExisting ( T_Result & dest) const
inlineoverridevirtual

Evaluates the expression on a return object.

Evaluates the expression on the pre-allocated & compatible dest.

Implements culite::VirtualExpression< T_Result, VirtualObject< T_Result > >.

◆ accumulateOnExisting()

template<typename T_Result>
void culite::VirtualObject< T_Result >::accumulateOnExisting ( T_Result & dest,
T_Scalar coeff ) const
inlineoverridevirtual

Adds the expression on a return object.

Adds the scaled expression result to the pre-allocated & compatible dest.

Implements culite::VirtualExpression< T_Result, VirtualObject< T_Result > >.