libzypp 17.37.3
zyppng::detail::RedoWhileImpl< std::shared_ptr< MyAsyncOp >, Pred, std::enable_if_t< is_async_op< MyAsyncOp >::value > > Struct Template Reference

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

Inheritance diagram for zyppng::detail::RedoWhileImpl< std::shared_ptr< MyAsyncOp >, Pred, std::enable_if_t< is_async_op< MyAsyncOp >::value > >:

Public Types

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

Public Member Functions

template<typename T, typename P>
 RedoWhileImpl (T &&t, P &&p)
 
template<typename InType>
void operator() (InType &&arg)
 
 RedoWhileImpl (T &&t, P &&p)
 
std::enable_if_t< is_async_op< remove_smart_ptr_t< std::result_of_t< std::shared_ptr< MyAsyncOp >(Arg)> > >::value==false, Arg > operator() (Arg &&arg)
 
- Public Member Functions inherited from zyppng::AsyncOp< MyAsyncOp::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)
 

Static Public Member Functions

template<typename T, typename P>
static auto create (T &&t, P &&p)
 
static auto create (T &&t, P &&p)
 
- 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)
 

Private Attributes

Task _task
 
Pred _pred
 
std::shared_ptr< AsyncOp< OutType > > _pipeline
 
std::shared_ptr< MyAsyncOp > _task
 
Pred _pred
 

Additional Inherited Members

- 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<typename MyAsyncOp, typename Pred>
struct zyppng::detail::RedoWhileImpl< std::shared_ptr< MyAsyncOp >, Pred, std::enable_if_t< is_async_op< MyAsyncOp >::value > >

Definition at line 59 of file redo.h.

Member Typedef Documentation

◆ Task

template<typename MyAsyncOp, typename Pred>
using zyppng::detail::RedoWhileImpl< std::shared_ptr< MyAsyncOp >, Pred, std::enable_if_t< is_async_op< MyAsyncOp >::value > >::Task = std::shared_ptr<MyAsyncOp>

Definition at line 61 of file redo.h.

◆ OutType

template<typename MyAsyncOp, typename Pred>
using zyppng::detail::RedoWhileImpl< std::shared_ptr< MyAsyncOp >, Pred, std::enable_if_t< is_async_op< MyAsyncOp >::value > >::OutType = typename MyAsyncOp::value_type

Definition at line 62 of file redo.h.

Constructor & Destructor Documentation

◆ RedoWhileImpl() [1/2]

template<typename MyAsyncOp, typename Pred>
template<typename T, typename P>
zyppng::detail::RedoWhileImpl< std::shared_ptr< MyAsyncOp >, Pred, std::enable_if_t< is_async_op< MyAsyncOp >::value > >::RedoWhileImpl ( T && t,
P && p )
inline

Definition at line 65 of file redo.h.

◆ RedoWhileImpl() [2/2]

zyppng::detail::RedoWhileImpl< std::shared_ptr< MyAsyncOp >, Pred, typename >::RedoWhileImpl ( T && t,
P && p )
inline

Definition at line 34 of file redo.h.

Member Function Documentation

◆ operator()() [1/2]

template<typename MyAsyncOp, typename Pred>
template<typename InType>
void zyppng::detail::RedoWhileImpl< std::shared_ptr< MyAsyncOp >, Pred, std::enable_if_t< is_async_op< MyAsyncOp >::value > >::operator() ( InType && arg)
inline

Definition at line 72 of file redo.h.

◆ create() [1/2]

template<typename MyAsyncOp, typename Pred>
template<typename T, typename P>
static auto zyppng::detail::RedoWhileImpl< std::shared_ptr< MyAsyncOp >, Pred, std::enable_if_t< is_async_op< MyAsyncOp >::value > >::create ( T && t,
P && p )
inlinestatic

Definition at line 85 of file redo.h.

◆ operator()() [2/2]

std::enable_if_t< is_async_op< remove_smart_ptr_t< std::result_of_t< std::shared_ptr< MyAsyncOp >(Arg)> > >::value==false, Arg > zyppng::detail::RedoWhileImpl< std::shared_ptr< MyAsyncOp >, Pred, typename >::operator() ( Arg && arg)
inline

Definition at line 39 of file redo.h.

◆ create() [2/2]

static auto zyppng::detail::RedoWhileImpl< std::shared_ptr< MyAsyncOp >, Pred, typename >::create ( T && t,
P && p )
inlinestatic

Definition at line 49 of file redo.h.

Member Data Documentation

◆ _task [1/2]

template<typename MyAsyncOp, typename Pred>
Task zyppng::detail::RedoWhileImpl< std::shared_ptr< MyAsyncOp >, Pred, std::enable_if_t< is_async_op< MyAsyncOp >::value > >::_task
private

Definition at line 91 of file redo.h.

◆ _pred [1/2]

template<typename MyAsyncOp, typename Pred>
Pred zyppng::detail::RedoWhileImpl< std::shared_ptr< MyAsyncOp >, Pred, std::enable_if_t< is_async_op< MyAsyncOp >::value > >::_pred
private

Definition at line 92 of file redo.h.

◆ _pipeline

template<typename MyAsyncOp, typename Pred>
std::shared_ptr<AsyncOp<OutType> > zyppng::detail::RedoWhileImpl< std::shared_ptr< MyAsyncOp >, Pred, std::enable_if_t< is_async_op< MyAsyncOp >::value > >::_pipeline
private

Definition at line 93 of file redo.h.

◆ _task [2/2]

std::shared_ptr< MyAsyncOp > zyppng::detail::RedoWhileImpl< std::shared_ptr< MyAsyncOp >, Pred, typename >::_task
private

Definition at line 54 of file redo.h.

◆ _pred [2/2]

Pred zyppng::detail::RedoWhileImpl< std::shared_ptr< MyAsyncOp >, Pred, typename >::_pred
private

Definition at line 55 of file redo.h.


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