E.V.E
v2023.02.15
 
Loading...
Searching...
No Matches
eve::elementwise_callable< Func, OptionsValues, Options > Struct Template Reference

CRTP base class giving an EVE's Callable Object the elementwise function semantic. More...

#include <eve/traits/overload/default_behaviors.hpp>

Detailed Description

template<template< typename > class Func, typename OptionsValues, typename... Options>
struct eve::elementwise_callable< Func, OptionsValues, Options >

Defined in Header

#include <eve/traits/overload.hpp>

Elementwise functions in EVE are built using a very common pattern. Inheriting from eve::elementwise_callable simplifies the implementation of such Callable Object by just requiring the definition of the architecture specific implementations functions.

Elementwise functions in EVE automatically supports masking, aggregated and emulated cases. Elementwise Callable Object are also able to handle mixed SIMD/Scalar calls by performing all the required conversions, letting the implementation of the deferred overload named in the EVE_CALLABLE_OBJECT to only handle common type cases.

Template Parameters
FuncType of current Callable Object being implemented.
OptionsValuesType of stored options.
OptionsList of supported option specifications.
See also
strict_elementwise_callable

Public Member Functions

constexpr auto operator[] (O o) const
 Adds an option to current callable.
 
constexpr auto options () const
 Retrieves the current options' state, including processed default.