14 class NotFnFunction :
public pipeline::EnablePipeline {
20 constexpr NotFnFunction(types::InPlace, Fn&& function) : m_function(util::forward<Fn>(function)) {}
22 constexpr NotFnFunction(NotFnFunction
const&) =
default;
23 constexpr NotFnFunction(NotFnFunction&&) =
default;
25 constexpr auto operator=(NotFnFunction
const&) -> NotFnFunction& =
delete;
26 constexpr auto operator=(NotFnFunction&&) -> NotFnFunction& =
delete;
28 template<
typename... Args>
29 constexpr auto operator()(Args&&... args) & ->
decltype(!
function::invoke(m_function,
30 util::forward<Args>(args)...)) {
34 template<
typename... Args>
35 constexpr auto operator()(Args&&... args)
const& ->
decltype(!
function::invoke(m_function,
36 util::forward<Args>(args)...)) {
40 template<
typename... Args>
41 constexpr auto operator()(Args&&... args) && ->
decltype(!
function::invoke(util::move(m_function),
42 util::forward<Args>(args)...)) {
43 return !
function::invoke(util::move(m_function), util::forward<Args>(args)...);
46 template<
typename... Args>
47 constexpr auto operator()(Args&&... args)
const&& ->
decltype(!
function::invoke(util::move(m_function),
48 util::forward<Args>(args)...)) {
49 return !
function::invoke(util::move(m_function), util::forward<Args>(args)...);
54template<concepts::DecayConstructible F>
constexpr auto invoke
Definition invoke.h:100
constexpr auto not_fn(F &&function)
Definition not_fn.h:55
constexpr auto in_place
Definition in_place.h:8
Definition any_storable.h:9