libzypp 17.35.11
statemachine.h File Reference
#include <zypp-core/zyppng/base/signals.h>
#include <zypp-core/zyppng/base/Base>
#include <variant>
#include <tuple>
#include <functional>
#include <memory>
#include <optional>
Include dependency graph for statemachine.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  zyppng::detail::StateWithTransitions< State, Transitions >
 
struct  zyppng::detail::add_type_to_collection< Templ, NewType, Templ< Types... >, true >
 
struct  zyppng::detail::add_type_to_collection< Templ, NewType, Templ< Types... >, false >
 
struct  zyppng::detail::collect_transitions_helper< State, TupleSoFar, Head, Transitions >
 collect all transitions that have the same SourceState as the first type argument More...
 
struct  zyppng::detail::collect_transitions_helper< State, TupleSoFar, Head >
 
struct  zyppng::detail::collect_transitions< State, Transitions >
 
struct  zyppng::detail::make_state_set_helper< VariantSoFar, Head, Transitions >
 Iterates over the list of Transitions and collects them all in a std::variant<State1, State2, ...> type. More...
 
struct  zyppng::detail::make_state_set_helper< VariantSoFar, Head >
 
struct  zyppng::detail::make_state_set< Head, Transitions >
 
struct  zyppng::detail::is_same_state< A, B >
 Evaluates to true if type A and type B wrap the same State type. More...
 
struct  zyppng::detail::make_statewithtransition< State, Transitions >
 Turns a State type into its StateWithTransitions counterpart. More...
 
struct  zyppng::detail::make_statewithtransition_set_helper< VariantSoFar, std::variant< HeadState, State... >, Transitions... >
 
struct  zyppng::detail::make_statewithtransition_set_helper< VariantSoFar, std::variant< HeadState >, Transitions... >
 
struct  zyppng::detail::make_statewithtransition_set< NoState, std::variant< HeadState, States... >, Transitions... >
 
struct  zyppng::Transition< Source, ev, Target, Cond, Op >
 
class  zyppng::Statemachine< Derived, StateId, Transitions >
 This defines the actual StateMachine. More...
 
struct  zyppng::Statemachine< Derived, StateId, Transitions >::_InitialState
 
class  zyppng::BasicState< StatemachineType, isFin >
 
class  zyppng::SimpleState< StatemachineType, sId, isFin >
 

Namespaces

namespace  zyppng
 
namespace  zyppng::detail
 

Typedefs

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

Functions

template<typename Variant , typename Type , template< typename, typename > typename Compare = std::is_same, size_t I = 0>
constexpr bool zyppng::detail::VariantHasType ()
 Constexpr function that evaluates to true if a variant type Variant already contains the type Type.
 
constexpr bool zyppng::DefaultStateCondition (true)
 
constexpr std::nullptr_t zyppng::DefaultStateTransition (nullptr)