Blaze 3.9
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
blaze::Bind3rd< OP, A3 > Struct Template Reference

Generic wrapper for an operation with fixed 3rd argument. More...

#include <Bind3rd.h>

Public Member Functions

constexpr Bind3rd (const OP &op, const A3 &a3)
 Constructor of the Bind3rd functor. More...
 
template<typename A1 , typename A2 , typename... Args>
BLAZE_ALWAYS_INLINE constexpr decltype(auto) operator() (A1 &&a1, A2 &&a2, Args &&... args) const
 Returns the result of the wrapped operation for the given arguments. More...
 
template<typename A1 , typename A2 , typename... Args>
BLAZE_ALWAYS_INLINE decltype(auto) load (A1 &&a1, A2 &&a2, Args &&... args) const
 Returns the result of the wrapped operation for the given SIMD vectors. More...
 

Static Public Member Functions

template<typename A1 , typename A2 , typename... Args>
static constexpr bool simdEnabled ()
 Returns whether SIMD is enabled for the specified data types Ts. More...
 
static constexpr bool paddingEnabled ()
 Returns whether the operation supports padding, i.e. whether it can deal with zeros. More...
 

Private Attributes

OP op_
 The wrapped operation.
 
A3 a3_
 The 3rd argument.
 

Detailed Description

template<typename OP, typename A3>
struct blaze::Bind3rd< OP, A3 >

Generic wrapper for an operation with fixed 3rd argument.

Constructor & Destructor Documentation

◆ Bind3rd()

template<typename OP , typename A3 >
constexpr blaze::Bind3rd< OP, A3 >::Bind3rd ( const OP &  op,
const A3 &  a3 
)
inlineconstexpr

Constructor of the Bind3rd functor.

Parameters
opThe wrapped operation.
a3The 3rd argument.

Member Function Documentation

◆ load()

template<typename OP , typename A3 >
template<typename A1 , typename A2 , typename... Args>
BLAZE_ALWAYS_INLINE decltype(auto) blaze::Bind3rd< OP, A3 >::load ( A1 &&  a1,
A2 &&  a2,
Args &&...  args 
) const
inline

Returns the result of the wrapped operation for the given SIMD vectors.

Parameters
a1The 1st given SIMD vector.
a2The 2nd given SIMD vector.
argsThe remaining SIMD vectors.
Returns
The result of the wrapped operation for the given SIMD vectors.

◆ operator()()

template<typename OP , typename A3 >
template<typename A1 , typename A2 , typename... Args>
BLAZE_ALWAYS_INLINE constexpr decltype(auto) blaze::Bind3rd< OP, A3 >::operator() ( A1 &&  a1,
A2 &&  a2,
Args &&...  args 
) const
inlineconstexpr

Returns the result of the wrapped operation for the given arguments.

Parameters
a1The 1st argument.
a2The 2nd argument.
argsThe remaining arguments.
Returns
The result of the wrapped operation for the given arguments.

◆ paddingEnabled()

template<typename OP , typename A3 >
static constexpr bool blaze::Bind3rd< OP, A3 >::paddingEnabled ( )
inlinestaticconstexpr

Returns whether the operation supports padding, i.e. whether it can deal with zeros.

Returns
true in case padding is supported, false if not.

◆ simdEnabled()

template<typename OP , typename A3 >
template<typename A1 , typename A2 , typename... Args>
static constexpr bool blaze::Bind3rd< OP, A3 >::simdEnabled ( )
inlinestaticconstexpr

Returns whether SIMD is enabled for the specified data types Ts.

Returns
true in case SIMD is enabled for the data types Ts, false if not.

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