File indexing completed on 2025-01-18 09:41:58
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #ifndef BOOST_MSM_BACK_MPL_GRAPH_FSM_CHECK_H
0012 #define BOOST_MSM_BACK_MPL_GRAPH_FSM_CHECK_H
0013
0014 #include <boost/mpl/assert.hpp>
0015
0016 #include <boost/msm/back/metafunctions.hpp>
0017
0018 namespace boost { namespace msm { namespace back
0019 {
0020 struct mpl_graph_fsm_check
0021 {
0022 typedef int fsm_check;
0023
0024
0025 template <class Fsm>
0026 static void check_orthogonality()
0027 {
0028 BOOST_MPL_ASSERT_RELATION( ::boost::msm::back::check_regions_orthogonality<Fsm>::states_in_regions_raw,
0029 ==,
0030 ::boost::msm::back::check_regions_orthogonality<Fsm>::cumulated_states_in_regions_raw );
0031
0032 }
0033
0034
0035 template <class Fsm>
0036 static void check_unreachable_states()
0037 {
0038 BOOST_MPL_ASSERT_RELATION( ::boost::msm::back::check_no_unreachable_state<Fsm>::states_in_fsm,
0039 ==,
0040 ::boost::msm::back::check_no_unreachable_state<Fsm>::cumulated_states_in_regions );
0041
0042 }
0043 };
0044
0045 } } }
0046
0047
0048 #endif