libzypp  17.34.1
zyppng::detail::WaitForImpl< Container, AsyncOp, CArgs > Struct Template Reference

#include <zypp-core/zyppng/pipelines/wait.h>

Inheritance diagram for zyppng::detail::WaitForImpl< Container, AsyncOp, CArgs >:

Public Types

using AsyncOpRes = typename AsyncOp::value_type
 
- Public Types inherited from zyppng::AsyncOp< Container< AsyncOp::value_type > >
using value_type = Container< AsyncOp::value_type >
 
using Ptr = std::shared_ptr< AsyncOp< Container< AsyncOp::value_type > > >
 
- Public Types inherited from zyppng::Base
using Ptr = std::shared_ptr< Base >
 
using WeakPtr = std::weak_ptr< Base >
 

Public Member Functions

 WaitForImpl (std::function< bool(const AsyncOpRes &)> canContinue={})
 
 WaitForImpl (const WaitForImpl &other)=delete
 
WaitForImploperator= (const WaitForImpl &other)=delete
 
WaitForImploperator= (WaitForImpl &&other)=default
 
 WaitForImpl (WaitForImpl &&other)=default
 
void operator() (Container< std::shared_ptr< AsyncOp >, CArgs... > &&ops)
 
- Public Member Functions inherited from zyppng::AsyncOp< Container< AsyncOp::value_type > >
 AsyncOp ()=default
 
 AsyncOp (const AsyncOp &other)=delete
 
 AsyncOp (AsyncOp &&other) noexcept=default
 
AsyncOpoperator= (const AsyncOp &other)=delete
 
AsyncOpoperator= (AsyncOp &&other) noexcept=default
 
 ~AsyncOp () override
 
void setReady (value_type &&val)
 
bool isReady () const
 
void onReady (Fun &&cb)
 
value_typeget ()
 
- Public Member Functions inherited from zyppng::AsyncOpBase
virtual bool canCancel ()
 
virtual void cancel ()
 
SignalProxy< void()> sigStarted ()
 
SignalProxy< void(const std::string &, int, int)> sigProgress ()
 
SignalProxy< void()> sigReady ()
 
- Public Member Functions inherited from zyppng::Base
 Base ()
 
virtual ~Base ()
 
WeakPtr parent () const
 
void addChild (const Base::Ptr &child)
 
void removeChild (const Ptr &child)
 
const std::unordered_set< Ptr > & children () const
 
std::thread::id threadId () const
 
template<typename T >
std::vector< std::weak_ptr< T > > findChildren () const
 
template<typename T >
std::shared_ptr< T > shared_this () const
 
template<typename T >
std::shared_ptr< T > shared_this ()
 
template<typename T >
std::weak_ptr< T > weak_this () const
 
template<typename T >
std::weak_ptr< T > weak_this ()
 
template<typename SenderFunc , typename ReceiverFunc >
auto connect (SenderFunc &&sFun, typename internal::MemberFunction< ReceiverFunc >::ClassType &recv, ReceiverFunc &&rFunc)
 
template<typename SenderFunc , typename ReceiverFunc , typename ... Tracker>
std::enable_if_t< std::is_member_function_pointer_v< SenderFunc >, connectionconnectFunc (SenderFunc &&sFun, ReceiverFunc &&rFunc, const Tracker &...trackers)
 

Private Member Functions

void resultReady (AsyncOpRes &&res)
 

Private Attributes

Container< std::shared_ptr< AsyncOp >, CArgs... > _allOps
 
Container< AsyncOpRes_allResults
 
std::function< bool(const AsyncOpRes &)> _canContinue
 

Additional Inherited Members

- Static Public Member Functions inherited from zyppng::Base
template<typename Obj , typename Functor >
static decltype(auto) make_base_slot (Obj *o, Functor &&f)
 
template<typename SenderFunc , typename ReceiverFunc >
static auto connect (typename internal::MemberFunction< SenderFunc >::ClassType &s, SenderFunc &&sFun, typename internal::MemberFunction< ReceiverFunc >::ClassType &recv, ReceiverFunc &&rFunc)
 
template<typename SenderFunc , typename ReceiverFunc , typename ... Tracker>
static auto connectFunc (typename internal::MemberFunction< SenderFunc >::ClassType &s, SenderFunc &&sFun, ReceiverFunc &&rFunc, const Tracker &...trackers)
 
- Protected Member Functions inherited from zyppng::Base
 Base (BasePrivate &dd)
 
- Protected Attributes inherited from zyppng::AsyncOpBase
Signal< void()> _sigStarted
 
Signal< void()> _sigReady
 
Signal< void(const std::string &, int, int)> _sigProgress
 
- Protected Attributes inherited from zyppng::Base
std::unique_ptr< BasePrivated_ptr
 

Detailed Description

template<template< class, class... > class Container, class AsyncOp, class ... CArgs>
struct zyppng::detail::WaitForImpl< Container, AsyncOp, CArgs >

Definition at line 28 of file wait.h.

Member Typedef Documentation

◆ AsyncOpRes

template<template< class, class... > class Container, class AsyncOp , class ... CArgs>
using zyppng::detail::WaitForImpl< Container, AsyncOp, CArgs >::AsyncOpRes = typename AsyncOp::value_type

Definition at line 30 of file wait.h.

Constructor & Destructor Documentation

◆ WaitForImpl() [1/3]

template<template< class, class... > class Container, class AsyncOp , class ... CArgs>
zyppng::detail::WaitForImpl< Container, AsyncOp, CArgs >::WaitForImpl ( std::function< bool(const AsyncOpRes &)>  canContinue = {})
inline

Definition at line 34 of file wait.h.

◆ WaitForImpl() [2/3]

template<template< class, class... > class Container, class AsyncOp , class ... CArgs>
zyppng::detail::WaitForImpl< Container, AsyncOp, CArgs >::WaitForImpl ( const WaitForImpl< Container, AsyncOp, CArgs > &  other)
delete

◆ WaitForImpl() [3/3]

template<template< class, class... > class Container, class AsyncOp , class ... CArgs>
zyppng::detail::WaitForImpl< Container, AsyncOp, CArgs >::WaitForImpl ( WaitForImpl< Container, AsyncOp, CArgs > &&  other)
default

Member Function Documentation

◆ operator=() [1/2]

template<template< class, class... > class Container, class AsyncOp , class ... CArgs>
WaitForImpl& zyppng::detail::WaitForImpl< Container, AsyncOp, CArgs >::operator= ( const WaitForImpl< Container, AsyncOp, CArgs > &  other)
delete

◆ operator=() [2/2]

template<template< class, class... > class Container, class AsyncOp , class ... CArgs>
WaitForImpl& zyppng::detail::WaitForImpl< Container, AsyncOp, CArgs >::operator= ( WaitForImpl< Container, AsyncOp, CArgs > &&  other)
default

◆ operator()()

template<template< class, class... > class Container, class AsyncOp , class ... CArgs>
void zyppng::detail::WaitForImpl< Container, AsyncOp, CArgs >::operator() ( Container< std::shared_ptr< AsyncOp >, CArgs... > &&  ops)
inline

Definition at line 43 of file wait.h.

◆ resultReady()

template<template< class, class... > class Container, class AsyncOp , class ... CArgs>
void zyppng::detail::WaitForImpl< Container, AsyncOp, CArgs >::resultReady ( AsyncOpRes &&  res)
inlineprivate

Definition at line 59 of file wait.h.

Member Data Documentation

◆ _allOps

template<template< class, class... > class Container, class AsyncOp , class ... CArgs>
Container< std::shared_ptr<AsyncOp>, CArgs... > zyppng::detail::WaitForImpl< Container, AsyncOp, CArgs >::_allOps
private

Definition at line 71 of file wait.h.

◆ _allResults

template<template< class, class... > class Container, class AsyncOp , class ... CArgs>
Container< AsyncOpRes > zyppng::detail::WaitForImpl< Container, AsyncOp, CArgs >::_allResults
private

Definition at line 72 of file wait.h.

◆ _canContinue

template<template< class, class... > class Container, class AsyncOp , class ... CArgs>
std::function<bool( const AsyncOpRes &)> zyppng::detail::WaitForImpl< Container, AsyncOp, CArgs >::_canContinue
private

Definition at line 73 of file wait.h.


The documentation for this struct was generated from the following file: