graph_implementation_interface.ipp 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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_DETAIL_GRAPH_IMPLEMENTATION_INTERFACE_IPP_INCLUDED
  5. #define BOOST_MSM_MPL_GRAPH_DETAIL_GRAPH_IMPLEMENTATION_INTERFACE_IPP_INCLUDED
  6. // forward definitions of the producer metafunctions that need to be specialized for
  7. // each graph representation
  8. namespace boost {
  9. namespace msm {
  10. namespace mpl_graph {
  11. namespace detail {
  12. // Edge->Target map for a Source for out_*, degree
  13. template<typename RepresentationTag, typename Source, typename GraphData>
  14. struct produce_out_map;
  15. // Edge->Source map for a Target for in_*, degree
  16. template<typename RepresentationTag, typename Target, typename GraphData>
  17. struct produce_in_map;
  18. // Edge->pair<Source,Target> map for source, target
  19. template<typename RepresentationTag, typename GraphData>
  20. struct produce_edge_st_map;
  21. // Vertex set for VertexListGraph
  22. template<typename RepresentationTag, typename GraphData>
  23. struct produce_vertex_set;
  24. // Edge set for EdgeListGraph
  25. template<typename RepresentationTag, typename GraphData>
  26. struct produce_edge_set;
  27. } // namespaces
  28. }
  29. }
  30. }
  31. #endif // BOOST_MSM_MPL_GRAPH_DETAIL_GRAPH_IMPLEMENTATION_INTERFACE_IPP_INCLUDED