OpenWalnut  1.5.0dev
Public Member Functions | Public Attributes | List of all members
VisitorVSetB< VSetAType > Class Template Reference

The second visitor which got applied to the second value set. More...

+ Inheritance diagram for VisitorVSetB< VSetAType >:
+ Collaboration diagram for VisitorVSetB< VSetAType >:

Public Member Functions

 VisitorVSetB (const WValueSet< VSetAType > *const vsetA, size_t opIdx=0)
 Creates visitor for the second level of cascading. More...
 
template<typename VSetBType >
result_type operator() (const WValueSet< VSetBType > *const &vsetB) const
 Visitor on the second valueset. More...
 
 VisitorVSetB (const WValueSet< VSetAType > *const vsetA)
 Creates visitor for the second level of cascading. More...
 
template<typename VSetBType >
result_type operator() (const WValueSet< VSetBType > *const &vsetB) const
 Visitor on the second valueset. More...
 

Public Attributes

const WValueSet< VSetAType > *const m_vsetA
 The first valueset. More...
 
size_t m_opIdx
 The operator index. More...
 

Detailed Description

template<typename VSetAType>
class VisitorVSetB< VSetAType >

The second visitor which got applied to the second value set.

It discriminates the integral type and applies the operator in a per value style.

Template Parameters
VSetATypeThe integral type of the first valueset.

Definition at line 350 of file WMScalarOperator.cpp.

Constructor & Destructor Documentation

◆ VisitorVSetB() [1/2]

template<typename VSetAType >
VisitorVSetB< VSetAType >::VisitorVSetB ( const WValueSet< VSetAType > *const  vsetA,
size_t  opIdx = 0 
)
inline

Creates visitor for the second level of cascading.

Takes the first value set as parameter. This visitor applies the operation o to A and B: o(A,B).

Parameters
vsetAthe first value set
opIdxThe operator index. Depending on the index, the right operation is selected

Definition at line 360 of file WMScalarOperator.cpp.

◆ VisitorVSetB() [2/2]

template<typename VSetAType >
VisitorVSetB< VSetAType >::VisitorVSetB ( const WValueSet< VSetAType > *const  vsetA)
inlineexplicit

Creates visitor for the second level of cascading.

Takes the first value set as parameter. This visitor applies the operation o to A and B: o(A,B).

Parameters
vsetAthe first value set

Definition at line 110 of file WMVectorScale.cpp.

Member Function Documentation

◆ operator()() [1/2]

template<typename VSetAType >
template<typename VSetBType >
result_type VisitorVSetB< VSetAType >::operator() ( const WValueSet< VSetBType > *const &  vsetB) const
inline

Visitor on the second valueset.

This applies the operation.

Template Parameters
VSetBTypethe integral type of the currently visited valueset.
Parameters
vsetBthe valueset currently visited (B).
Returns
the result of o(A,B)

Definition at line 376 of file WMScalarOperator.cpp.

References WValueSetBase::dimension(), VisitorVSetB< VSetAType >::m_opIdx, VisitorVSetB< VSetAType >::m_vsetA, WValueSetBase::order(), WValueSet< T >::rawData(), and WValueSet< T >::rawSize().

+ Here is the call graph for this function:

◆ operator()() [2/2]

template<typename VSetAType >
template<typename VSetBType >
result_type VisitorVSetB< VSetAType >::operator() ( const WValueSet< VSetBType > *const &  vsetB) const
inline

Visitor on the second valueset.

This applies the operation.

Template Parameters
VSetBTypethe integral type of the currently visited valueset.
Parameters
vsetBthe valueset currently visited (B).
Returns
the result of o(A,B)

Definition at line 125 of file WMVectorScale.cpp.

References VisitorVSetB< VSetAType >::m_vsetA, WValueSet< T >::rawData(), and WValueSet< T >::rawSize().

+ Here is the call graph for this function:

Member Data Documentation

◆ m_opIdx

template<typename VSetAType >
size_t VisitorVSetB< VSetAType >::m_opIdx

The operator index.

Definition at line 437 of file WMScalarOperator.cpp.

Referenced by VisitorVSetB< VSetAType >::operator()().

◆ m_vsetA

template<typename VSetAType >
const WValueSet< VSetAType > *const VisitorVSetB< VSetAType >::m_vsetA

The first valueset.

Definition at line 432 of file WMScalarOperator.cpp.

Referenced by VisitorVSetB< VSetAType >::operator()().


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