Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:42:05

0001 // Copyright 2008-2010 Gordon Woodhull
0002 // Distributed under the Boost Software License, Version 1.0. 
0003 // (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
0004 
0005 #ifndef BOOST_MSM_MPL_GRAPH_SEARCH_COLORS_HPP_INCLUDED
0006 #define BOOST_MSM_MPL_GRAPH_SEARCH_COLORS_HPP_INCLUDED
0007 
0008 namespace boost {
0009 namespace msm {
0010 namespace mpl_graph {
0011 
0012 namespace search_colors {
0013     struct White {};
0014     struct Gray {};
0015     struct Black {};
0016 }
0017 
0018 struct create_search_color_map : mpl::map<> {};
0019 
0020 struct search_color_map_ops {
0021     template<typename Node, typename Color, typename State>
0022     struct set_color :
0023         mpl::insert<State, mpl::pair<Node, Color> >
0024     {};
0025     template<typename Node, typename State>
0026     struct get_color :
0027         mpl::if_<mpl::has_key<State, Node>,
0028                  mpl::at<State, Node>,
0029                  search_colors::White>
0030     {};
0031 };
0032 
0033 
0034 } // namespace mpl_graph
0035 } // namespace msm
0036 } // namespace boost
0037 
0038 
0039 #endif // BOOST_MSM_MPL_GRAPH_SEARCH_COLORS_HPP_INCLUDED