99#if  (__cplusplus < 201305L && _MSC_VER < 1900)
1010#error  "[Boost::ext].SML requires C++14 support (Clang-3.4+, GCC-5.1+, MSVC-2015+)"
1111#else 
12- #define  BOOST_SML_VERSION  1'1'2  
12+ #define  BOOST_SML_VERSION  1'1'3  
1313#define  BOOST_SML_NAMESPACE_BEGIN  \
1414  namespace  boost  {               \
1515  inline  namespace  ext  {          \
1616  namespace  sml  {                 \
17-   inline  namespace  v1_1_2  {
17+   inline  namespace  v1_1_3  {
1818#define  BOOST_SML_NAMESPACE_END  \
1919  }                             \
2020  }                             \
@@ -216,7 +216,7 @@ struct remove_reference<T &&> {
216216};
217217template  <class  T >
218218using  remove_reference_t  = typename  remove_reference<T>::type;
219- }   //  namespace aux 
219+ }
220220namespace  aux  {
221221using  swallow = int [];
222222template  <int ...>
@@ -480,7 +480,7 @@ auto get_type_name(const char *ptr, index_sequence<Ns...>) {
480480  static  const  char  str[] = {ptr[N + Ns]..., 0 };
481481  return  str;
482482}
483- }   //  namespace detail 
483+ }
484484template  <class  T >
485485const  char  *get_type_name () {
486486#if  defined(_MSC_VER) && !defined(__clang__)
@@ -525,7 +525,7 @@ struct string<T> {
525525  }
526526  static  auto  c_str_impl (...) { return  get_type_name<T>(); }
527527};
528- }   //  namespace aux 
528+ }
529529namespace  back  {
530530namespace  policies  {
531531struct  defer_queue_policy__  {};
@@ -535,8 +535,8 @@ struct defer_queue : aux::pair<back::policies::defer_queue_policy__, defer_queue
535535  using  rebind = T<U>;
536536  using  flag = bool ;
537537};
538- }   //  namespace policies 
539- }   //  namespace back 
538+ }
539+ }
540540namespace  back  {
541541template  <class ... Ts>
542542class  queue_event  {
@@ -627,7 +627,7 @@ struct deque_handler : queue_event_call<TEvents>... {
627627  }
628628  void  *deque_{};
629629};
630- }   //  namespace back 
630+ }
631631namespace  back  {
632632struct  _  {};
633633struct  initial  {};
@@ -709,7 +709,7 @@ template <class... TEvents>
709709struct  defer  : deque_handler<TEvents...> {
710710  using  deque_handler<TEvents...>::deque_handler;
711711};
712- }   //  namespace back 
712+ }
713713namespace  back  {
714714template  <class >
715715class  sm ;
@@ -832,7 +832,7 @@ template <class T, class... Ts>
832832struct  convert_to_sm <T, aux::type_list<Ts...>> {
833833  using  type = aux::type_list<sm_impl<T>, sm_impl<typename  T::template  rebind<Ts>>...>;
834834};
835- }   //  namespace back 
835+ }
836836namespace  back  {
837837template  <class >
838838class  sm ;
@@ -919,7 +919,7 @@ struct transitions_sub<sm<TSM>> {
919919    return  false ;
920920  }
921921};
922- }   //  namespace back 
922+ }
923923namespace  back  {
924924template  <class >
925925class  sm ;
@@ -1037,7 +1037,7 @@ struct get_event_mapping_impl_helper<on_exit<T1, T2>, TMappings>
10371037    : decltype (get_event_mapping_impl<on_exit<T1, T2>>((TMappings *)0 )) {};
10381038template  <class  T , class  TMappings >
10391039using  get_event_mapping_t  = get_event_mapping_impl_helper<T, TMappings>;
1040- }   //  namespace back 
1040+ }
10411041namespace  back  {
10421042namespace  policies  {
10431043struct  dispatch_policy__  {};
@@ -1112,8 +1112,8 @@ struct fold_expr {
11121112  }
11131113};
11141114#endif 
1115- }   //  namespace policies 
1116- }   //  namespace back 
1115+ }
1116+ }
11171117namespace  back  {
11181118template  <class >
11191119class  sm ;
@@ -1180,8 +1180,8 @@ void log_guard(const aux::type<TLogger> &, TDeps &deps, const aux::zero_wrapper<
11801180               bool  result) {
11811181  return  static_cast <aux::pool_type<TLogger &> &>(deps).value .template  log_guard <SM>(guard.get (), event, result);
11821182}
1183- }   //  namespace policies 
1184- }   //  namespace back 
1183+ }
1184+ }
11851185namespace  back  {
11861186namespace  policies  {
11871187struct  process_queue_policy__  {};
@@ -1190,14 +1190,14 @@ struct process_queue : aux::pair<back::policies::process_queue_policy__, process
11901190  template  <class  U >
11911191  using  rebind = T<U>;
11921192};
1193- }   //  namespace policies 
1194- }   //  namespace back 
1193+ }
1194+ }
11951195namespace  back  {
11961196namespace  policies  {
11971197struct  testing_policy__  {};
11981198struct  testing  : aux::pair<testing_policy__, testing> {};
1199- }   //  namespace policies 
1200- }   //  namespace back 
1199+ }
1200+ }
12011201namespace  back  {
12021202namespace  policies  {
12031203struct  thread_safety_policy__  {
@@ -1217,8 +1217,8 @@ struct thread_safe : aux::pair<thread_safety_policy__, thread_safe<TLock>> {
12171217  }
12181218  TLock lock;
12191219};
1220- }   //  namespace policies 
1221- }   //  namespace back 
1220+ }
1221+ }
12221222namespace  back  {
12231223struct  no_policy  : policies::thread_safety_policy__ {
12241224  using  type = no_policy;
@@ -1257,7 +1257,7 @@ struct sm_policy {
12571257  template  <class  T >
12581258  using  rebind = typename  rebind_impl<T, TPolicies...>::type;
12591259};
1260- }   //  namespace back 
1260+ }
12611261namespace  concepts  {
12621262struct  callable_fallback  {
12631263  void  operator ()();
@@ -1273,15 +1273,15 @@ template <class T, class R, class TBase, class... TArgs>
12731273struct  callable <T, R (TBase::*)(TArgs...)> : aux::true_type {};
12741274template  <class  T , class  R , class  TBase , class ... TArgs>
12751275struct  callable <T, R (TBase::*)(TArgs...) const > : aux::true_type {};
1276- }   //  namespace concepts 
1276+ }
12771277namespace  concepts  {
12781278template  <class  T >
12791279decltype (aux::declval<T>().operator ()()) composable_impl(int );
12801280template  <class >
12811281void  composable_impl (...);
12821282template  <class  T >
12831283struct  composable  : aux::is<aux::pool, decltype (composable_impl<T>(0 ))> {};
1284- }   //  namespace concepts 
1284+ }
12851285#if  !defined(BOOST_SML_DISABLE_EXCEPTIONS)
12861286#if  !(defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND))
12871287#define  BOOST_SML_DISABLE_EXCEPTIONS  true 
@@ -1738,7 +1738,7 @@ class sm {
17381738  deps_t  deps_;
17391739  sub_sms_t  sub_sms_;
17401740};
1741- }   //  namespace back 
1741+ }
17421742namespace  front  {
17431743struct  operator_base  {};
17441744struct  action_base  {};
@@ -1970,7 +1970,7 @@ class not_ : operator_base {
19701970 private: 
19711971  T g;
19721972};
1973- }   //  namespace front 
1973+ }
19741974template  <class  T , __BOOST_SML_REQUIRES(concepts::callable<bool , T>::value)>
19751975auto operator!(const  T &t) {
19761976  return  front::not_<aux::zero_wrapper<T>>(aux::zero_wrapper<T>{t});
@@ -1999,8 +1999,8 @@ struct defer : action_base {
19991999    }
20002000  }
20012001};
2002- }   //  namespace actions 
2003- }   //  namespace front 
2002+ }
2003+ }
20042004using  testing = back::policies::testing;
20052005template  <class  T >
20062006using  logger = back::policies::logger<T>;
@@ -2026,7 +2026,7 @@ auto transitional_impl(T &&t) -> aux::always<typename T::dst_state, typename T::
20262026                                             decltype(T::initial), decltype(T::history)>;
20272027template  <class  T >
20282028struct  transitional  : decltype (transitional_impl(aux::declval<T>())) {};
2029- }   //  namespace concepts 
2029+ }
20302030namespace  front  {
20312031namespace  actions  {
20322032struct  process  {
@@ -2047,8 +2047,8 @@ struct process {
20472047    return  process_impl<TEvent>{event};
20482048  }
20492049};
2050- }   //  namespace actions 
2051- }   //  namespace front 
2050+ }
2051+ }
20522052namespace  front  {
20532053template  <class , class >
20542054struct  transition_eg ;
@@ -2066,7 +2066,7 @@ struct event {
20662066  }
20672067  auto  operator ()() const  { return  TEvent{}; }
20682068};
2069- }   //  namespace front 
2069+ }
20702070namespace  front  {
20712071struct  initial_state  {};
20722072struct  history_state  {};
@@ -2159,7 +2159,7 @@ struct state_sm<T, aux::enable_if_t<concepts::composable<T>::value>> {
21592159  using  type = state<back::sm<back::sm_policy<T>>>;
21602160};
21612161#endif 
2162- }   //  namespace front 
2162+ }
21632163namespace  front  {
21642164struct  internal  {};
21652165template  <class , class >
@@ -2593,7 +2593,7 @@ struct transition<state<internal>, state<S2>, front::event<E>, always, none> {
25932593  }
25942594  __BOOST_SML_ZERO_SIZE_ARRAY (aux::byte);
25952595};
2596- }   //  namespace front 
2596+ }
25972597using  _ = back::_;
25982598#if  !(defined(_MSC_VER) && !defined(__clang__))
25992599template  <class  TEvent >
@@ -2641,7 +2641,7 @@ constexpr auto operator""_e() {
26412641  return  event<aux::string<T, Chrs...>>;
26422642}
26432643#endif 
2644- }   //  namespace literals 
2644+ }
26452645__BOOST_SML_UNUSED static  front::state<back::terminate_state> X;
26462646__BOOST_SML_UNUSED static  front::history_state H;
26472647__BOOST_SML_UNUSED static  front::actions::defer defer;
0 commit comments