liuxiaolong
2021-07-20 58d904a328c0d849769b483e901a0be9426b8209
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// Copyright 2008-2010 Gordon Woodhull
// Distributed under the Boost Software License, Version 1.0. 
// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
#ifndef BOOST_MSM_MPL_GRAPH_DETAIL_GRAPH_IMPLEMENTATION_INTERFACE_IPP_INCLUDED
#define BOOST_MSM_MPL_GRAPH_DETAIL_GRAPH_IMPLEMENTATION_INTERFACE_IPP_INCLUDED
 
// forward definitions of the producer metafunctions that need to be specialized for
// each graph representation
 
namespace boost {
namespace msm {
namespace mpl_graph {
namespace detail {
    
    // Edge->Target map for a Source for out_*, degree
    template<typename RepresentationTag, typename Source, typename GraphData>
    struct produce_out_map;
 
    // Edge->Source map for a Target for in_*, degree
    template<typename RepresentationTag, typename Target, typename GraphData>
    struct produce_in_map;
    
    // Edge->pair<Source,Target> map for source, target
    template<typename RepresentationTag, typename GraphData>
    struct produce_edge_st_map;
    
    // Vertex set for VertexListGraph
    template<typename RepresentationTag, typename GraphData>
    struct produce_vertex_set;
    
    // Edge set for EdgeListGraph
    template<typename RepresentationTag, typename GraphData>
    struct produce_edge_set;
 
} // namespaces   
}
}
}
 
#endif // BOOST_MSM_MPL_GRAPH_DETAIL_GRAPH_IMPLEMENTATION_INTERFACE_IPP_INCLUDED