• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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