1 // Copyright 2008-2010 Gordon Woodhull 2 // Distributed under the Boost Software License, Version 1.0. 3 // (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 4 5 #ifndef BOOST_MSM_MPL_GRAPH_ADJACENCY_LIST_GRAPH_HPP_INCLUDED 6 #define BOOST_MSM_MPL_GRAPH_ADJACENCY_LIST_GRAPH_HPP_INCLUDED 7 8 // graph implementation based on an adjacency list 9 // sequence< pair< source_vertex, sequence< pair<edge, target_vertex> > > > 10 11 // adjacency_list_graph labels such a sequence as manipulable by the metafunctions 12 // in the corresponding implementation header detail/adjacency_list_graph.ipp 13 // to produce the metadata structures needed by mpl_graph.hpp 14 15 // the public interface 16 #include <boost/msm/mpl_graph/mpl_graph.hpp> 17 18 // the implementation 19 #include <boost/msm/mpl_graph/detail/adjacency_list_graph.ipp> 20 21 namespace boost { 22 namespace msm { 23 namespace mpl_graph { 24 25 template<typename AdjacencyList> 26 struct adjacency_list_graph { 27 typedef detail::adjacency_list_tag representation; 28 typedef AdjacencyList data; 29 }; 30 31 } 32 } 33 } 34 35 #endif // BOOST_MSM_MPL_GRAPH_ADJACENCY_LIST_GRAPH_HPP_INCLUDED 36