adjacency_list_graph.hpp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  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. #ifndef BOOST_MSM_MPL_GRAPH_ADJACENCY_LIST_GRAPH_HPP_INCLUDED
  5. #define BOOST_MSM_MPL_GRAPH_ADJACENCY_LIST_GRAPH_HPP_INCLUDED
  6. // graph implementation based on an adjacency list
  7. // sequence< pair< source_vertex, sequence< pair<edge, target_vertex> > > >
  8. // adjacency_list_graph labels such a sequence as manipulable by the metafunctions
  9. // in the corresponding implementation header detail/adjacency_list_graph.ipp
  10. // to produce the metadata structures needed by mpl_graph.hpp
  11. // the public interface
  12. #include <boost/msm/mpl_graph/mpl_graph.hpp>
  13. // the implementation
  14. #include <boost/msm/mpl_graph/detail/adjacency_list_graph.ipp>
  15. namespace boost {
  16. namespace msm {
  17. namespace mpl_graph {
  18. template<typename AdjacencyList>
  19. struct adjacency_list_graph {
  20. typedef detail::adjacency_list_tag representation;
  21. typedef AdjacencyList data;
  22. };
  23. }
  24. }
  25. }
  26. #endif // BOOST_MSM_MPL_GRAPH_ADJACENCY_LIST_GRAPH_HPP_INCLUDED