22#if !defined(__cpp_lib_not_fn) && !(defined(_LIBCPP_VERSION) && __cplusplus > 201103L)
24#define R__NOTFN_BACKPORT
41 template <
class... Args>
45 return !
fFun(std::forward<Args>(args)...);
47 template <
class... Args>
51 return !
fFun(std::forward<Args>(args)...);
auto operator()(Args &&... args) &-> decltype(!std::declval< typename std::result_of< typename std::decay< F >::type(Args...)>::type >())
auto operator()(Args &&... args) const &-> decltype(!std::declval< typename std::result_of< typename std::decay< F >::type const(Args...)>::type >())
not_fn_t(const not_fn_t &f)=default
not_fn_t(not_fn_t &&h)=default
std::decay< F >::type fFun
void forward(const LAYERDATA &prevLayerData, LAYERDATA &currLayerData)
apply the weights (and functions) in forward direction of the DNN
Detail::not_fn_t< F > not_fn(F &&f)