libzypp 17.37.10

asyncresult.h File Reference
`#include <zypp-core/zyppng/meta/TypeTraits>`
`#include <zypp-core/zyppng/meta/FunctionTraits>`
`#include <zypp-core/zyppng/meta/Functional>`
`#include <zypp-core/zyppng/async/AsyncOp>`

Go to the source code of this file.

## Classes
struct | zyppng::detail::is_future_monad_cb< Callback, MsgType, typename >
struct | zyppng::detail::is_future_monad_cb< Callback, MsgType, std::void_t< std::enable_if_t< is_async_op_v< Callback > >, decltype(std::declval< remove_smart_ptr_t< Callback > >()(std::declval< MsgType >())) > >
struct | zyppng::detail::is_sync_monad_cb< Callback, MsgType, typename >
struct | zyppng::detail::is_sync_monad_cb< Callback, MsgType, std::void_t< std::enable_if_t< !is_async_op_v< Callback > >, std::enable_if_t< !std::is_same_v< void, decltype(std::declval< Callback >()(std::declval< MsgType >())) > > > >
struct | zyppng::detail::is_sync_monad_cb_with_async_res< Callback, MsgType, typename >
struct | zyppng::detail::is_sync_monad_cb_with_async_res< Callback, MsgType, std::void_t< std::enable_if_t< is_sync_monad_cb< Callback, MsgType >::value >, std::enable_if_t< callback_returns_async_op< Callback, MsgType >::value > > >
struct | zyppng::detail::is_sync_monad_cb_with_sync_res< Callback, MsgType, typename >
struct | zyppng::detail::is_sync_monad_cb_with_sync_res< Callback, MsgType, std::void_t< std::enable_if_t< is_sync_monad_cb< Callback, MsgType >::value >, std::enable_if_t< !callback_returns_async_op< Callback, MsgType >::value > > >
struct | zyppng::detail::is_nested_async< T >
struct | zyppng::detail::is_nested_async< AsyncOpRef< AsyncOpRef< T > > >
struct | zyppng::detail::AsyncToAsyncResult< PrevRes, CallbackOp, AOpRes >
struct | zyppng::detail::AsyncToSyncResult< PrevRes, Callback, std::enable_if_t< is_sync_monad_cb_with_sync_res_v< Callback, PrevRes > > >
struct | zyppng::detail::AsyncToSyncResult< PrevRes, Callback, std::enable_if_t< is_sync_monad_cb_with_async_res_v< Callback, PrevRes > > >

## Namespaces
namespace | zyppng
namespace | zyppng::detail
namespace | zyppng::operators

## Typedefs
template<typename Callback, typename Arg>
using | zyppng::detail::callback_returns_async_op = is_async_op< std::invoke_result_t<Callback, Arg >>

## Functions
template<typename PrevOp, typename Callback, std::enable_if_t< detail::is_async_op_v< PrevOp >, int > = 0, std::enable_if_t< detail::is_future_monad_cb_v< Callback, typename PrevOp::value_type >, int > = 0>
auto | zyppng::operators::operator| (std::shared_ptr< PrevOp > &&in, std::shared_ptr< Callback > &&c) -> AsyncOpRef< typename Callback::value_type >
template<typename PrevOp, typename Callback, std::enable_if_t< detail::is_async_op_v< PrevOp >, int > = 0, std::enable_if_t< detail::is_sync_monad_cb_with_async_res_v< Callback, typename PrevOp::value_type >, int > = 0>
auto | zyppng::operators::operator| (std::shared_ptr< PrevOp > &&in, Callback &&c)
template<typename PrevOp, typename Callback, std::enable_if_t< detail::is_async_op_v< PrevOp >, int > = 0, std::enable_if_t< detail::is_sync_monad_cb_with_sync_res_v< Callback, typename PrevOp::value_type >, int > = 0>
auto | zyppng::operators::operator| (std::shared_ptr< PrevOp > &&in, Callback &&c)
template<typename PrevRes, typename CallbackOp, std::enable_if_t< !detail::is_async_op_v< PrevRes >, int > = 0, std::enable_if_t< detail::is_future_monad_cb_v< CallbackOp, PrevRes >, int > = 0>
auto | zyppng::operators::operator| (PrevRes &&in, CallbackOp &&c) -> AsyncOpRef< typename remove_smart_ptr_t< CallbackOp >::value_type >
template<typename SyncRes, typename Callback, std::enable_if_t< !detail::is_async_op_v< SyncRes >, int > = 0, std::enable_if_t< detail::is_sync_monad_cb_v< Callback, SyncRes >, int > = 0>
auto | zyppng::operators::operator| (SyncRes &&in, Callback &&c)

## Variables
template<typename Callback, typename MsgType>
constexpr bool | zyppng::detail::is_future_monad_cb_v = is_future_monad_cb<Callback, MsgType>::value
template<typename Callback, typename MsgType, typename = std::void_t<>>
constexpr bool | zyppng::detail::is_sync_monad_cb_v = is_sync_monad_cb<Callback, MsgType>::value
template<typename Callback, typename Arg>
constexpr bool | zyppng::detail::is_sync_monad_cb_with_async_res_v = is_sync_monad_cb_with_async_res<Callback, Arg>::value
template<typename Callback, typename Arg>
constexpr bool | zyppng::detail::is_sync_monad_cb_with_sync_res_v = is_sync_monad_cb_with_sync_res<Callback, Arg>::value
template<typename T>
constexpr bool | zyppng::detail::is_nested_async_v = is_nested_async<T>::value