Iros
 
Loading...
Searching...
No Matches
monad_fmap.h
Go to the documentation of this file.
1#pragma once
2
4#include "di/util/forward.h"
5
6namespace di::function::monad {
8 template<typename T, typename F>
10 return tag_invoke(*this, util::forward<T>(value), util::forward<F>(function));
11 }
12};
13
14constexpr inline auto fmap = FMapFunction {};
15}
Definition monad_bind.h:6
constexpr auto fmap
Definition monad_fmap.h:14
constexpr tag_invoke_detail::TagInvokeFn tag_invoke
Definition tag_invoke.h:22
Definition as_bool.h:8
constexpr auto value
Definition value.h:34
decltype(di::function::tag_invoke(util::declval< Tag >(), util::declval< Args >()...)) TagInvokeResult
Definition tag_invoke.h:40
Definition monad_fmap.h:7
constexpr auto operator()(T &&value, F &&function) const -> meta::TagInvokeResult< FMapFunction, T, F >
Definition monad_fmap.h:9