43 lines
1.4 KiB
C++
43 lines
1.4 KiB
C++
// 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
|
|
|