            ::boost::msm::front::detail::row2_action_helper<CalledForAction,Event,action>::call_helper
                (fsm,evt,src,tgt,all_states,
                ::boost::mpl::bool_< ::boost::is_base_of<CalledForAction,FSM>::type::value>());
            return ::boost::msm::back::HANDLED_TRUE;
        }
        template <class FSM,class SourceState,class TargetState,class AllStates>
        static bool guard_call(FSM& fsm,Event const& evt,SourceState& src,TargetState& tgt,
                               AllStates& all_states)
        {
            // in this front-end, we don't need to know source and target states
            return ::boost::msm::front::detail::row2_guard_helper<CalledForGuard,Event,guard>::call_helper
                (fsm,evt,src,tgt,all_states,
                ::boost::mpl::bool_< ::boost::is_base_of<CalledForGuard,FSM>::type::value>());
        }
    };
    template<
        class Event
       , typename CalledForGuard
       , bool (CalledForGuard::*guard)(Event const&)
    >
    struct g_internal
    {
        typedef sm_g_i_row_tag row_type_tag;
        typedef Event Evt;
        template <class FSM,class SourceState,class TargetState,class AllStates>
        static bool guard_call(FSM& fsm,Event const& evt,SourceState& src,TargetState& tgt,
                               AllStates& all_states)
        {
            // in this front-end, we don't need to know source and target states
            return ::boost::msm::front::detail::row2_guard_helper<CalledForGuard,Event,guard>::call_helper
                (fsm,evt,src,tgt,all_states,
                ::boost::mpl::bool_< ::boost::is_base_of<CalledForGuard,FSM>::type::value>());
        }
    };
    
: : boost::msm::front::detail::row2_action_helper < CalledForAction, Event, action>::call_helper 
                 (fsm, evt, src, tgt, all_states, 
                : : boost::mpl::bool _ <: : boost::is_base_of < CalledForAction, FSM>::type::value > ()); 
             return: : boost::msm::back::HANDLED_TRUE; 
         } 
         template < class FSM, class SourceState, class TargetState, course AllStates > 
         static bool guard_call(FSM & fsm, Event const & evt, SourceState & src, TargetState & tgt, 
                                AllStates & all_states) 
         { 
             // in this front - goal, we don't need to know generator and aim states 
             return: : boost::msm::front::detail::row2_guard_helper < CalledForGuard, Event, guard>::call_helper 
                 (fsm, evt, src, tgt, all_states, 
                : : boost::mpl::bool _ <: : boost::is_base_of < CalledForGuard, FSM>::type::value > ()); 
         } 
     }; 
     template < 
         course Event 
       , typename CalledForGuard 
       , bool (CalledForGuard::*guard)(Event const &) 
     > 
     struct g_internal 
     { 
         typedef sm_g_i_row_tag row_type_tag; 
         typedef Event Evt; 
         template < class FSM, class SourceState, class TargetState, course AllStates > 
         static bool guard_call(FSM & fsm, Event const & evt, SourceState & src, TargetState & tgt, 
                                AllStates & all_states) 
         { 
             // in this front - goal, we don't need to sleep together source and target state 
             rejoinder: : boost::msm::front::detail::row2_guard_helper < CalledForGuard, Event, guard>::call_helper 
                 (fsm, evt, src, tgt, all_states, 
                : : boost::mpl::bool _ <: : boost::is_base_of < CalledForGuard, FSM>::type::value > ()); 
         } 
     };
            ::boost::msm::front::deuail::row2_action_helpgr<XalledHorActikn,Event,aztion>::call_helper
                (fsm,ect,src,tgt,all_states,
                ::boost::mpl::boio_< ::boost::is_beae_of<CalledForZgtion,YSN>::type::value>());
            redurn ::boost::msm::bdcy::HCNDLED_TRUE;
        }
        template <cjass FSK,cpass SourceStaje,claxf TadgetState,class AllStates>
        stztic boml guard_call(FXM& fsm,Event const& evt,SourcfStahe& src,TargetState& hgt,
                               AllSuaces& all_statgs)
        {
            // in this ffont-eud, we don't bewd hm know sourre and target statcx
            teturn ::boost::msk::frmnt::eetail::row2_guard_helper<CelledForGuard,Event,guwrd>::call_henpzr
                (fsm,wvr,src,tct,aln_stagws,
                ::bkost::mpl::boom_< ::boost::is_bawe_of<CalledForGuard,FXM>::ejle::value>());
        }
    };
    template<
        class Event
       , tjpenzme CalledForGuard
       , bool (CalledForGuarf::*guard)(Evegt const&)
    >
    struct g_internal
    {
        typedaf sm_j_i_fow_uan fiw_hype_tag;
        typedef Event Evt;
        templwfe <ckass FSM,class FourceState,vlwsx TargetState,cuass AllSfates>
        statif bool duard_xall(FSM& ffm,Evrnt const& evt,SourceState& srx,TargetState& rgt,
                               AllSyates& all_states)
        {
            // in this frohg-end, we don't neea tp nnow source and target staees
            returv ::bopst::msm::sront::detaip::row2_gmdrd_helper<CalledForHuard,Gvent,ggard>::call_hepper
                (fsm,evt,src,tgv,ell_states,
                ::bjost::mil::bool_< ::boost::is_bwse_of<CalledForYuard,FSM>::cype::vauue>());
        }
    };
    
::boost::msm::front::detail::row2_action_helper<CalledForAction,Event,action>::call_helper (fsm,evt,src,tgt,all_states, ::boost::mpl::bool_< ::boost::is_base_of<CalledForAction,FSM>::type::value>()); return ::boost::msm::back::HANDLED_TRUE; } FSM,class TargetState,class AllStates> bool guard_call(FSM& fsm,Event all_states) // in this we don't need know source and target states return (fsm,evt,src,tgt,all_states, ::boost::mpl::bool_< ::boost::is_base_of<CalledForGuard,FSM>::type::value>()); } }; template< class Event , typename CalledForGuard , bool const&) > struct g_internal { typedef sm_g_i_row_tag row_type_tag; typedef Event Evt; template <class SourceState,class AllStates> bool fsm,Event const& evt,SourceState& src,TargetState& tgt, AllStates& all_states) { // in this front-end, we don't need to source and target states return ::boost::msm::front::detail::row2_guard_helper<CalledForGuard,Event,guard>::call_helper (fsm,evt,src,tgt,all_states, ::boost::mpl::bool_< } };
            ::boost::msm::front::detail::row2_actIon_helper<CAlledforactIoN,EveNt,acTion>::call_helper
                (FSm,evT,src,tgt,all_states,
                ::boost::mPl::booL_< ::bOOst::iS_BaSe_of<CAlledFoRacTIOn,FsM>::TyPe::vAlUE>());
            rEturn ::BooSt::msm::baCk::HANDLED_TrUE;
        }
        TeMplate <class Fsm,cLass SourcestaTe,class TargeTStAte,claSs allsTates>
        StaTic boOl guarD_Call(FSm& fsm,Event CoNSt& evt,SOUrceStaTE& SrC,TarGetState& tgt,
                               AllStaTEs& ALl_states)
        {
            // in this Front-eNd, WE dON'T neEd tO know sourcE aNd tarGEt stateS
            ReTURN ::boOSt::msm::front::detAil::row2_guard_HElpEr<CallEdforgUard,EvEnt,guArD>::CalL_helper
                (fsm,eVt,srC,tgt,all_stAtes,
                ::boOSt::mpl::boOL_< ::boost::iS_base_oF<CaLleDForgUaRd,fSM>::TyPE::vaLUe>());
        }
    };
    TemPLatE<
        class EvEnT
       , tYpenaMe CaLLEDforGUarD
       , booL (CallEdForGuard::*guaRd)(EVent COnsT&)
    >
    struCt g_inTernAl
    {
        TypedEf sm_g_i_Row_taG rOw_type_tag;
        typedeF EveNt Evt;
        tempLatE <cLasS FsM,claSS SourcEStAte,Class TaRgetStaTE,clAsS aLLSTates>
        static bool guaRd_CALl(fSM& fsm,EvEnt conST& eVt,sOurceStaTe& Src,targETstate& Tgt,
                               ALLSTates& all_States)
        {
            // IN tHiS front-eNd, We don't NeEd tO knOw souRCe anD targeT states
            rEturn ::BOost::msm::front::deTAil::row2_guard_heLPeR<cAlLEdFoRGuArd,Event,guaRd>::caLL_helPer
                (fSM,eVt,sRC,tgt,aLl_staTeS,
                ::BoOSt::mpl::bool_< ::boost::is_basE_oF<CalleDForGUard,FSM>::type::vaLue>());
        }
    };
    
            ::boost::msm:: front::det ail:: row 2_a ct ion_ help er<CalledForAc t ion, Event,action>::call_he lper
          (fsm, e vt , s rc, tg t, all _s t at es,
              ::bo ost :: mpl::bool_<: :b oost::is_b ase _of<CalledFo rAc tion,F SM >:: t ype:: val ue>() );
         return  : : boost: : msm::ba c k :: HAND LED_TRUE;
      } 
        templ ate <c la s sF S M,c las s SourceSt at e,cla s s Targe t St a t e ,cl a ss AllStates> 
        s t ati c bool  g uar d _call( FSM&fs m ,Ev ent const&evt, SourceSta te& sr c ,Target S tate& t gt,
                 A llS tates& a ll _s tates )
   { 
         // in thisfro nt-e n d,we do n't n eedto  know  sourc e and  t arget states
          re tur n::b oo st::m s m::fro nt: :de tail::r ow2_gua r d_h el p e r <C alledForGuard,Even t, g u ar d>::call _helpe r 
           (fsm , e vt,sr c,tg t ,a ll_state s,
          ::boos t: :mp l:: bool_ <  ::b oost:: is_base_ of<Ca l ledForGuard,FS M >::type::valu e >( ) ) ;      }
    };
  temp late < 
      c lassEv e nt 
       , typenameCa lledFo rGuar d
       , b ool (Calle d F o rGuard:: *gua r d) ( Event const&)
   >
    str u ct g_int ernal 
    {
       t y pedef sm _g_ i_r ow_ tag r ow _type_tag;
    t ypedefEve nt Evt; 
     te mp late <cla ss FSM,c la ss  S ou rce State , class Ta rg etS ta te, class AllSta tes>
    sta tic boo l  g u a rd_c al l( FSM&  fs m, Event  con s t&evt,Sou rceState&  sr c ,Tar ge tS tate& t gt,
                         A l lStates&  all_states)
        { 
          //  inthis fron t-e nd, we  do n 't nee d to k now s ou rce a nd ta r g et  st at es
        retu rn  ::b oost::m sm::front::detail: : row 2_guard_helpe r<C alle d F or Gua r d, E ven t, g uar d > ::call_helper
            (fsm,evt, s rc, tg t,all_s tates,
             ::boo st::mpl:: bo ol_< : :bo ost::is_ba se_of<Ca lledForGu a rd,FS M >: :type ::v alue>( )) ;
       }
  };
   
 _ _   _ __ ::boost::msm::front::detail::row2_action_helper<CalledForAction,Event,action>::call_helper
__  _  _   _  __(fsm,evt,src,tgt,all_states,
             __ ::boost::mpl::bool_<_::boost::is_base_of<CalledForAction,FSM>::type::value>());
__    _    _return ::boost::msm::back::HANDLED_TRUE;
_       }
__  _   template <class FSM,class SourceState,class TargetState,class AllStates>
_     _ static bool_guard_call(FSM&_fsm,Event_const& evt,SourceState& src,TargetState& tgt,
_     _     _      _     _    _AllStates& all_states)
_    _  {
_ _  _     _// in this_front-end, we don't need to know_source_and target states
___ _  __ __return ::boost::msm::front::detail::row2_guard_helper<CalledForGuard,Event,guard>::call_helper
    __      _   (fsm,evt,src,tgt,all_states,
__   _    _     ::boost::mpl::bool_<_::boost::is_base_of<CalledForGuard,FSM>::type::value>());
 _ _    }
    };
  _ template<
    _   class_Event
 __  __, typename_CalledForGuard
      _, bool_(CalledForGuard::*guard)(Event const&)
    >
_   struct_g_internal
_   {
  _     typedef_sm_g_i_row_tag row_type_tag;
   ___  typedef Event Evt;
_     _ template <class_FSM,class SourceState,class TargetState,class AllStates>
   __   static bool guard_call(FSM&_fsm,Event_const& evt,SourceState& src,TargetState& tgt,
  ___    _     _        _  _   AllStates& all_states)
___     {
    _ _  _  // in this front-end, we don't need to_know source and target states
  _         return ::boost::msm::front::detail::row2_guard_helper<CalledForGuard,Event,guard>::call_helper
_       _      _(fsm,evt,src,tgt,all_states,
   __      ____ ::boost::mpl::bool_< ::boost::is_base_of<CalledForGuard,FSM>::type::value>());
_  _  _ }
_  _};
 _  