libzypp 17.37.17
zyppng::detail Namespace Reference

Classes

struct  add_type_to_collection
 this adds the type NewType to the collection if the condition is true More...
struct  add_type_to_collection< Templ, NewType, Templ< Types... >, false >
struct  add_type_to_collection< Templ, NewType, Templ< Types... >, true >
struct  and_then_helper
struct  AsyncFirstOfImpl
struct  AsyncToAsyncResult
struct  AsyncToSyncResult
struct  AsyncToSyncResult< PrevRes, Callback, std::enable_if_t< is_sync_monad_cb_with_async_res_v< Callback, PrevRes > > >
struct  AsyncToSyncResult< PrevRes, Callback, std::enable_if_t< is_sync_monad_cb_with_sync_res_v< Callback, PrevRes > > >
struct  AwaitImpl
struct  AwaitImpl< ArgType, SignalProxy< SigR(SigT...)>(ArgType::*)()>
struct  collect_helper
struct  collect_transitions
struct  collect_transitions_helper
 collect all transitions that have the same SourceState as the first type argument More...
struct  collect_transitions_helper< State, TupleSoFar, Head >
struct  ContinueUntilValidPredicate
struct  FirstOfHelper
struct  has_value_type
struct  has_value_type< T, std::void_t< typename T::value_type > >
struct  inspect_err_helper
struct  inspect_helper
struct  is_asyncop_type
struct  is_asyncop_type< T, std::enable_if_t< std::is_convertible_v< T *, AsyncOp< typename T::value_type > * > > >
struct  is_future_monad_cb
struct  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  is_nested_async
struct  is_nested_async< AsyncOpRef< AsyncOpRef< T > > >
struct  is_same_state
 Evaluates to true if type A and type B wrap the same State type. More...
struct  is_sync_monad_cb
struct  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  is_sync_monad_cb_with_async_res
struct  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  is_sync_monad_cb_with_sync_res
struct  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  lifter
struct  lifter< std::shared_ptr< AsyncOp >, std::void_t< std::enable_if_t< zyppng::detail::is_async_op< AsyncOp >::value > > >
struct  LogicBaseExec
struct  LogicBaseExec< Op, std::enable_if_t< detail::is_async_op_v< Op > > >
struct  make_state_set
struct  make_state_set_helper
 Iterates over the list of Transitions and collects them all in a std::variant<State1, State2, ...> type. More...
struct  make_state_set_helper< VariantSoFar, Head >
struct  make_statewithtransition
 Turns a State type into its StateWithTransitions counterpart. More...
struct  make_statewithtransition_set
struct  make_statewithtransition_set< NoState, std::variant< HeadState, States... >, Transitions... >
struct  make_statewithtransition_set_helper
 Iterates over each State in the StateVariant argument, collects the corresponding Transitions and combines the results in a std::variant< StateWithTransitions<...>,... > type. More...
struct  make_statewithtransition_set_helper< VariantSoFar, std::variant< HeadState >, Transitions... >
struct  make_statewithtransition_set_helper< VariantSoFar, std::variant< HeadState, State... >, Transitions... >
struct  mtry_helper
struct  or_else_helper
struct  ReadyResult
struct  RedoWhileImpl
struct  RedoWhileImpl< std::shared_ptr< MyAsyncOp >, Pred, std::enable_if_t< is_async_op< MyAsyncOp >::value > >
struct  RedoWhileImpl< Task, Pred, std::enable_if_t< is_async_op< remove_smart_ptr_t< typename function_traits< Task >::return_type > >::value > >
class  ReportHolder
class  ReportHolder< ContextRef, Report >
class  ReportHolder< SyncContextRef, Report >
struct  showme
struct  StateWithTransitions
struct  transform_collect_helper
struct  transform_helper
struct  WaitForHelper
struct  WaitForHelperExt
struct  WaitForImpl

Typedefs

template<typename T>
using is_async_op
template<typename T>
using EventSource = SignalProxy<void()> (T::*)()
template<typename Callback, typename Arg>
using callback_returns_async_op = is_async_op< std::invoke_result_t<Callback, Arg >>
template<typename Function, typename ArgType>
using mbind_cb_result_t = typename std::conditional_t< std::is_same_v<ArgType,void>, std::invoke_result<Function>,std::invoke_result<Function, ArgType> >::type
template<typename T>
using has_func_trait = typename function_traits<T>::return_type

Functions

template<typename Variant, typename Type, template< typename, typename > typename Compare = std::is_same, size_t I = 0>
constexpr bool VariantHasType ()
 Constexpr function that evaluates to true if a variant type Variant already contains the type Type.
template<typename Excpt, typename ... Rest>
bool containsOneOfExceptionImpl (const std::exception_ptr &exceptionPtr)
template<typename T>
bool waitForCanContinueExpected (const expected< T > &value)

Variables

template<typename T>
constexpr bool has_value_type_v = has_value_type<T>::value
template<typename T>
constexpr bool is_asyncop_type_v = is_asyncop_type<T>::value
template<typename T>
constexpr bool is_async_op_v = is_async_op<T>::value
template<typename Callback, typename MsgType>
constexpr bool is_future_monad_cb_v = is_future_monad_cb<Callback, MsgType>::value
template<typename Callback, typename MsgType, typename = std::void_t<>>
constexpr bool is_sync_monad_cb_v = is_sync_monad_cb<Callback, MsgType>::value
template<typename Callback, typename Arg>
constexpr bool 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 is_sync_monad_cb_with_sync_res_v = is_sync_monad_cb_with_sync_res<Callback, Arg>::value
template<typename T>
constexpr bool is_nested_async_v = is_nested_async<T>::value

Typedef Documentation

◆ is_async_op

template<typename T>
using zyppng::detail::is_async_op
Initial value:

Detects if a type is a AsyncOp based type. This is required in cases where we can not use simple Argument type matching but need to decide on the type characteristics. For example when a AsyncOp is passed as callback argument in the pipelines.

Definition at line 55 of file asyncop.h.

◆ EventSource

template<typename T>
using zyppng::detail::EventSource = SignalProxy<void()> (T::*)()

Definition at line 31 of file statemachine.h.

◆ callback_returns_async_op

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

Definition at line 63 of file asyncresult.h.

◆ mbind_cb_result_t

template<typename Function, typename ArgType>
using zyppng::detail::mbind_cb_result_t = typename std::conditional_t< std::is_same_v<ArgType,void>, std::invoke_result<Function>,std::invoke_result<Function, ArgType> >::type

Definition at line 409 of file expected.h.

◆ has_func_trait

template<typename T>
using zyppng::detail::has_func_trait = typename function_traits<T>::return_type

Definition at line 137 of file redo.h.

Function Documentation

◆ VariantHasType()

template<typename Variant, typename Type, template< typename, typename > typename Compare = std::is_same, size_t I = 0>
bool zyppng::detail::VariantHasType ( )
constexpr

Constexpr function that evaluates to true if a variant type Variant already contains the type Type.

The Compare argument can be used to change how equality of a type is calculated

Definition at line 105 of file statemachine.h.

◆ containsOneOfExceptionImpl()

template<typename Excpt, typename ... Rest>
bool zyppng::detail::containsOneOfExceptionImpl ( const std::exception_ptr & exceptionPtr)

Definition at line 156 of file algorithm.h.

◆ waitForCanContinueExpected()

template<typename T>
bool zyppng::detail::waitForCanContinueExpected ( const expected< T > & value)

Definition at line 412 of file expected.h.

Variable Documentation

◆ has_value_type_v

template<typename T>
bool zyppng::detail::has_value_type_v = has_value_type<T>::value
constexpr

Definition at line 37 of file asyncop.h.

◆ is_asyncop_type_v

template<typename T>
bool zyppng::detail::is_asyncop_type_v = is_asyncop_type<T>::value
constexpr

Definition at line 46 of file asyncop.h.

◆ is_async_op_v

template<typename T>
bool zyppng::detail::is_async_op_v = is_async_op<T>::value
constexpr

Definition at line 61 of file asyncop.h.

◆ is_future_monad_cb_v

template<typename Callback, typename MsgType>
bool zyppng::detail::is_future_monad_cb_v = is_future_monad_cb<Callback, MsgType>::value
constexpr

Checks if a Callable object is of type async_op and if it accepts the given MsgType and returns the expected type

Definition at line 43 of file asyncresult.h.

◆ is_sync_monad_cb_v

template<typename Callback, typename MsgType, typename = std::void_t<>>
bool zyppng::detail::is_sync_monad_cb_v = is_sync_monad_cb<Callback, MsgType>::value
constexpr

Checks if a Callable object is a syncronous callback type with the expected signature

Definition at line 59 of file asyncresult.h.

◆ is_sync_monad_cb_with_async_res_v

template<typename Callback, typename Arg>
bool zyppng::detail::is_sync_monad_cb_with_async_res_v = is_sync_monad_cb_with_async_res<Callback, Arg>::value
constexpr

Checks if a Callable object is a syncronous callback type with the expected signature

Definition at line 90 of file asyncresult.h.

◆ is_sync_monad_cb_with_sync_res_v

template<typename Callback, typename Arg>
bool zyppng::detail::is_sync_monad_cb_with_sync_res_v = is_sync_monad_cb_with_sync_res<Callback, Arg>::value
constexpr

Checks if the given Callback is a function returning a syncronous result

Definition at line 96 of file asyncresult.h.

◆ is_nested_async_v

template<typename T>
bool zyppng::detail::is_nested_async_v = is_nested_async<T>::value
constexpr

Definition at line 126 of file asyncresult.h.