LeechCraft
0.6.70-17335-ge406ffdcaf
Modular cross-platform feature rich live environment.
Loading...
Searching...
No Matches
monadicfuture.h
Go to the documentation of this file.
1
/**********************************************************************
2
* LeechCraft - modular cross-platform feature rich internet client.
3
* Copyright (C) 2006-2014 Georg Rudoy
4
*
5
* Distributed under the Boost Software License, Version 1.0.
6
* (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7
**********************************************************************/
8
9
#pragma once
10
11
#include <QFuture>
12
#include <
util/sll/functor.h
>
13
#include "
futures.h
"
14
15
namespace
LC::Util
16
{
17
template
<
typename
T>
18
struct
InstanceFunctor
<
QFuture
<T>>
19
{
20
template
<
typename
F>
21
using
FmapResult_t
=
QFuture<std::decay_t<std::invoke_result_t<F, T>
>>;
22
23
template
<
typename
F>
24
static
FmapResult_t<F>
Apply
(
const
QFuture<T>
& fut,
const
F& func)
25
{
26
return
Sequence (
nullptr
, fut) >>
27
[func] (
const
T& val) {
return
MakeReadyFuture (func (val)); };
28
}
29
};
30
}
QFuture
Definition
idownload.h:17
functor.h
futures.h
LC::Util
Definition
icoreproxy.h:34
LC::Util::InstanceFunctor< QFuture< T > >::Apply
static FmapResult_t< F > Apply(const QFuture< T > &fut, const F &func)
Definition
monadicfuture.h:24
LC::Util::InstanceFunctor< QFuture< T > >::FmapResult_t
QFuture< std::decay_t< std::invoke_result_t< F, T > > > FmapResult_t
Definition
monadicfuture.h:21
LC::Util::InstanceFunctor
The Functor class is used for types that can be mapped over.
Definition
functor.h:36
src
util
threads
monadicfuture.h
Generated by
1.13.2