![]() |
LeechCraft
0.6.70-9312-g4cc613a2df
Modular cross-platform feature rich live environment.
|
#include <type_traits>#include <functional>#include <memory>#include <boost/optional.hpp>#include <QFutureInterface>#include <QFutureWatcher>#include <util/sll/oldcppkludges.h>#include <util/sll/slotclosure.h>#include "threadsconfig.h"#include "concurrentexception.h"
Include dependency graph for futures.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| struct | LeechCraft::Util::detail::UnwrapFutureTypeBase< T > |
| struct | LeechCraft::Util::detail::UnwrapFutureTypeBase< QFuture< T > > |
| struct | LeechCraft::Util::detail::UnwrapFutureType< T > |
| struct | LeechCraft::Util::detail::IsFuture< T > |
| struct | LeechCraft::Util::detail::IsFuture< QFuture< T > > |
| struct | LeechCraft::Util::detail::HandlerInvoker< RetType, ResultHandler > |
| struct | LeechCraft::Util::detail::HandlerInvoker< void, ResultHandler > |
| class | LeechCraft::Util::detail::Sequencer< Future > |
| Incapsulates the sequencing logic of asynchronous actions. More... | |
| class | LeechCraft::Util::detail::SequenceProxy< Ret, Future, DestructionTag > |
| A proxy object allowing type-checked sequencing of actions and responsible for starting the initial action. More... | |
Namespaces | |
| LeechCraft | |
| LeechCraft::Util | |
| LeechCraft::Util::detail | |
Typedefs | |
| template<typename T > | |
| using | LeechCraft::Util::UnwrapFutureType_t = typename detail::UnwrapFutureType< T >::type |
| template<typename T > | |
| using | LeechCraft::Util::detail::SequencerRetType_t = typename Sequencer< T >::RetType_t |
| template<typename T > | |
| using | LeechCraft::Util::detail::IsEmptyDestr_t = std::is_same< EmptyDestructionTag, T > |
Functions | |
| template<typename R , typename F , typename... Args> | |
| std::enable_if_t<!std::is_same < R, void >::value > | LeechCraft::Util::ReportFutureResult (QFutureInterface< R > &iface, F &&f, Args &&...args) |
| template<typename F , typename... Args> | |
| void | LeechCraft::Util::ReportFutureResult (QFutureInterface< void > &iface, F &&f, Args &&...args) |
| template<typename T > | |
| constexpr bool | LeechCraft::Util::detail::IsCallableImpl (int, std::result_of_t< T()> *=nullptr) |
| template<typename T > | |
| constexpr bool | LeechCraft::Util::detail::IsCallableImpl (float) |
| template<typename T > | |
| constexpr bool | LeechCraft::Util::detail::IsCallable () |
| template<typename R , typename U > | |
| std::enable_if_t < std::is_constructible< R, U > ::value &&!detail::IsCallable < U >)> | LeechCraft::Util::ReportFutureResult (QFutureInterface< R > &iface, U &&value) |
| template<typename ResultHandler , typename RetType , typename = std::result_of_t<ResultHandler (RetType)>> | |
| constexpr bool | LeechCraft::Util::detail::IsCompatibleImpl (int) |
| template<typename , typename > | |
| constexpr bool | LeechCraft::Util::detail::IsCompatibleImpl (float) |
| template<typename ResultHandler , typename = std::result_of_t<ResultHandler ()>> | |
| constexpr bool | LeechCraft::Util::detail::IsCompatibleImplVoid (int) |
| template<typename > | |
| constexpr bool | LeechCraft::Util::detail::IsCompatibleImplVoid (float) |
| template<typename ResultHandler , typename RetType > | |
| constexpr bool | LeechCraft::Util::detail::IsCompatible () |
| template<typename Executor , typename ResultHandler , typename... Args> | |
| void | LeechCraft::Util::ExecuteFuture (Executor f, ResultHandler rh, QObject *parent, Args...args) |
| Runs a QFuture-returning function and feeding the future to a handler when it is ready. More... | |
| template<typename Ret , typename DestrType , typename = std::enable_if_t<IsEmptyDestr_t<DestrType>::value>> | |
| void | LeechCraft::Util::detail::InvokeDestructionHandler (const std::function< DestrType()> &, QFutureInterface< Ret > &, float) |
| template<typename Ret , typename DestrType , typename = std::enable_if_t<!IsEmptyDestr_t<DestrType>::value>> | |
| void | LeechCraft::Util::detail::InvokeDestructionHandler (const std::function< DestrType()> &handler, QFutureInterface< Ret > &iface, int) |
| template<typename T > | |
| detail::SequenceProxy < detail::SequencerRetType_t < QFuture< T > >, QFuture< T > , detail::EmptyDestructionTag > | LeechCraft::Util::Sequence (QObject *parent, const QFuture< T > &future) |
| Creates a sequencer that allows chaining multiple futures. More... | |
| template<typename T > | |
| QFuture< T > | LeechCraft::Util::MakeReadyFuture (const T &t) |
| Creates a ready future holding the given value. More... | |