Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-08-17 08:50:41

0001 // Copyright 2025 Christian Granzin
0002 // Copyright 2008 Christophe Henry
0003 // henry UNDERSCORE christophe AT hotmail DOT com
0004 // This is an extended version of the state machine available in the boost::mpl library
0005 // Distributed under the same license as the original.
0006 // Copyright for the original version:
0007 // Copyright 2005 David Abrahams and Aleksey Gurtovoy. Distributed
0008 // under the Boost Software License, Version 1.0. (See accompanying
0009 // file LICENSE_1_0.txt or copy at
0010 // http://www.boost.org/LICENSE_1_0.txt)
0011 
0012 #ifndef BOOST_MSM_BACKMP11_EVENT_TRAITS_H
0013 #define BOOST_MSM_BACKMP11_EVENT_TRAITS_H
0014 
0015 #include <boost/msm/kleene_event.hpp>
0016 #include <any>
0017 
0018 namespace boost::msm
0019 {
0020 
0021 // add this way in this namespace specializations for events which you want to use as kleene
0022 // requirement: a copy-constructor matching the events which will be converted to this kleene
0023 template <>
0024 struct is_kleene_event<std::any> : std::true_type {};
0025 
0026 } // boost::msm
0027 
0028 namespace boost::msm::backmp11
0029 {
0030 
0031 // Import std::any_cast for overload resolution:
0032 // In case boost::any is used as Kleene event,
0033 // overload resolution will pick boost::any_cast for us.
0034 using std::any_cast;
0035 
0036 } // boost::msm::backmp11
0037 
0038 #endif //BOOST_MSM_EVENT_TRAITS_H