Iros
 
Loading...
Searching...
No Matches
monad_unit.h
Go to the documentation of this file.
1#pragma once
2
4#include "di/util/forward.h"
5
6namespace di::function::monad {
7template<template<typename...> typename M, typename T>
8requires(concepts::Monad<M> && requires(T&& value) { M { util::forward<T>(value) }; })
9constexpr auto unit(T&& value) -> concepts::MonadInstance auto {
10 return M { util::forward<T>(value) };
11}
12}
Definition monad_concept.h:45
Definition monad_bind.h:6
constexpr auto unit(T &&value) -> concepts::MonadInstance auto
Definition monad_unit.h:9
constexpr auto value
Definition value.h:34
@ M
Definition key.h:22
@ T
Definition key.h:29