blob: e657fd55d788f432ce839216016dced4ff3ef819 [file] [log] [blame]
// 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