// 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 | |