pars 0.2.1.99
Loading...
Searching...
No Matches
pars::app::state_tx< state_t > Struct Template Reference

#include <state_machine.h>

Public Types

using state_type = state_t
 

Public Member Functions

 state_tx (state_machine< state_type > &sm, state_type to_state)
 
 ~state_tx ()
 
void commit ()
 
void rollback ()
 

Detailed Description

template<typename state_t>
struct pars::app::state_tx< state_t >

Definition at line 45 of file state_machine.h.

Member Typedef Documentation

◆ state_type

template<typename state_t>
using pars::app::state_tx< state_t >::state_type = state_t

Definition at line 47 of file state_machine.h.

Constructor & Destructor Documentation

◆ state_tx()

template<typename state_t>
pars::app::state_tx< state_t >::state_tx ( state_machine< state_type > & sm,
state_type to_state )
inline

Definition at line 49 of file state_machine.h.

50 : sm_m{sm}
51 , done_m{false}
52 {
53 sm.next(to_state);
54 }

References pars::app::state_machine< state_t >::next().

Here is the call graph for this function:

◆ ~state_tx()

template<typename state_t>
pars::app::state_tx< state_t >::~state_tx ( )
inline

Definition at line 56 of file state_machine.h.

57 {
58 if (!done_m)
59 sm_m.rollback();
60 }

Member Function Documentation

◆ commit()

template<typename state_t>
void pars::app::state_tx< state_t >::commit ( )
inline

Definition at line 62 of file state_machine.h.

63 {
64 sm_m.commit();
65
66 done_m = true;
67 }

◆ rollback()

template<typename state_t>
void pars::app::state_tx< state_t >::rollback ( )
inline

Definition at line 69 of file state_machine.h.

70 {
71 sm_m.rollback();
72
73 done_m = true;
74 }

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