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