Blaze  3.6
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
blaze::Bind1st< OP, A1 > Struct Template Reference

Generic wrapper for a binary operation with fixed 1st argument. More...

#include <Bind1st.h>

Public Member Functions

constexpr Bind1st (const OP &op, const A1 &a1)
 Constructor of the Bind1st functor. More...
 
template<typename T >
BLAZE_ALWAYS_INLINEdecltype(auto) constexpr operator() (const T &a) const
 Returns the result of the wrapped operation for the given object/value. More...
 
template<typename T >
decltype(auto) BLAZE_ALWAYS_INLINE load (const T &a) const
 Returns the result of the wrapped operation for the given SIMD vector. More...
 

Static Public Member Functions

template<typename T >
static constexpr bool simdEnabled ()
 Returns whether SIMD is enabled for the specified data type T. 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 binary operation.
 
A1 a1_
 The 1st argument.
 

Detailed Description

template<typename OP, typename A1>
struct blaze::Bind1st< OP, A1 >

Generic wrapper for a binary operation with fixed 1st argument.

Constructor & Destructor Documentation

◆ Bind1st()

template<typename OP , typename A1 >
constexpr blaze::Bind1st< OP, A1 >::Bind1st ( const OP &  op,
const A1 &  a1 
)
inlineexplicit

Constructor of the Bind1st functor.

Parameters
opThe binary operation.
a1The 1st argument.

Member Function Documentation

◆ load()

template<typename OP , typename A1 >
template<typename T >
decltype(auto) BLAZE_ALWAYS_INLINE blaze::Bind1st< OP, A1 >::load ( const T &  a) const
inline

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

Parameters
aThe given SIMD vector.
Returns
The result of the wrapped operation for the given SIMD vector.

◆ operator()()

template<typename OP , typename A1 >
template<typename T >
BLAZE_ALWAYS_INLINEdecltype(auto) constexpr blaze::Bind1st< OP, A1 >::operator() ( const T &  a) const
inline

Returns the result of the wrapped operation for the given object/value.

Parameters
aThe given object/value.
Returns
The result of the wrapped operation for the given object/value.

◆ paddingEnabled()

template<typename OP , typename A1 >
static constexpr bool blaze::Bind1st< OP, A1 >::paddingEnabled ( )
inlinestatic

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 A1 >
template<typename T >
static constexpr bool blaze::Bind1st< OP, A1 >::simdEnabled ( )
inlinestatic

Returns whether SIMD is enabled for the specified data type T.

Returns
true in case SIMD is enabled for the data type T, false if not.

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