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

Generic wrapper for an operation with fixed 2nd argument. More...

#include <Bind2nd.h>

Public Member Functions

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

Static Public Member Functions

template<typename A1 , 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.
 
A2 a2_
 The 2nd argument.
 

Detailed Description

template<typename OP, typename A2>
struct blaze::Bind2nd< OP, A2 >

Generic wrapper for an operation with fixed 2nd argument.

Constructor & Destructor Documentation

◆ Bind2nd()

template<typename OP , typename A2 >
constexpr blaze::Bind2nd< OP, A2 >::Bind2nd ( const OP &  op,
const A2 &  a2 
)
inlineconstexpr

Constructor of the Bind2nd functor.

Parameters
opThe wrapped operation.
a2The 2nd argument.

Member Function Documentation

◆ load()

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

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

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

◆ operator()()

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

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

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

◆ paddingEnabled()

template<typename OP , typename A2 >
static constexpr bool blaze::Bind2nd< OP, A2 >::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 A2 >
template<typename A1 , typename... Args>
static constexpr bool blaze::Bind2nd< OP, A2 >::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: