Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::msm::mpl_graph::depth_first_search< Graph, VisitorOps, VisitorState, Vertex, ColorState > Struct Template Reference

#include <depth_first_search.hpp>

Public Types

typedef VisitorOps::template
discover_vertex< Vertex, Graph,
VisitorState >::type 
discovered_state
 
typedef
search_color_map_ops::template
set_color< Vertex,
search_colors::Gray,
ColorState >::type 
discovered_colors
 
typedef mpl::fold< typename
mpl_graph::out_edges< Vertex,
Graph >::type, mpl::pair
< discovered_state,
discovered_colors >, mpl::if_
< boost::is_same
< search_color_map_ops::get_color
< mpl_graph::target< mpl::_2,
Graph >, mpl::second< mpl::_1 >
>, search_colors::White >
, depth_first_search< Graph,
VisitorOps, typename
VisitorOps::template tree_edge
< mpl::_2, Graph, mpl::first
< mpl::_1 >
>, mpl_graph::target< mpl::_2,
Graph >, mpl::second< mpl::_1 >
>, mpl::pair< mpl::if_
< boost::is_same< typename
search_color_map_ops::template
get_color< mpl_graph::target
< mpl::_2, Graph >
, mpl::second< mpl::_1 >
>, search_colors::Gray >
, typename
VisitorOps::template back_edge
< mpl::_2, Graph, mpl::first
< mpl::_1 > >, typename
VisitorOps::template
forward_or_cross_edge< mpl::_2,
Graph, mpl::first< mpl::_1 >
> >, mpl::second< mpl::_1 >
> > >::type 
after_outedges
 
typedef mpl::pair< typename
VisitorOps::template
finish_vertex< Vertex, Graph,
typename mpl::first
< after_outedges >::type >
::type, typename
search_color_map_ops::template
set_color< Vertex,
search_colors::Black, typename
mpl::second< after_outedges >
::type >::type
type
 

Member Typedef Documentation

template<typename Graph , typename VisitorOps , typename VisitorState , typename Vertex , typename ColorState = create_search_color_map::type>
typedef mpl::fold<typename mpl_graph::out_edges<Vertex, Graph>::type, mpl::pair<discovered_state, discovered_colors>, mpl::if_<boost::is_same<search_color_map_ops::get_color<mpl_graph::target<mpl::_2, Graph>, mpl::second<mpl::_1> >, search_colors::White>, depth_first_search<Graph, VisitorOps, typename VisitorOps::template tree_edge<mpl::_2, Graph, mpl::first<mpl::_1> >, mpl_graph::target<mpl::_2, Graph>, mpl::second<mpl::_1> >, mpl::pair<mpl::if_<boost::is_same<typename search_color_map_ops::template get_color<mpl_graph::target<mpl::_2, Graph>, mpl::second<mpl::_1 > >, search_colors::Gray>, typename VisitorOps::template back_edge<mpl::_2, Graph, mpl::first<mpl::_1> >, typename VisitorOps::template forward_or_cross_edge<mpl::_2, Graph, mpl::first<mpl::_1> > >, mpl::second<mpl::_1> > > >::type boost::msm::mpl_graph::depth_first_search< Graph, VisitorOps, VisitorState, Vertex, ColorState >::after_outedges
template<typename Graph , typename VisitorOps , typename VisitorState , typename Vertex , typename ColorState = create_search_color_map::type>
typedef search_color_map_ops::template set_color<Vertex, search_colors::Gray, ColorState>::type boost::msm::mpl_graph::depth_first_search< Graph, VisitorOps, VisitorState, Vertex, ColorState >::discovered_colors
template<typename Graph , typename VisitorOps , typename VisitorState , typename Vertex , typename ColorState = create_search_color_map::type>
typedef VisitorOps::template discover_vertex<Vertex, Graph, VisitorState>::type boost::msm::mpl_graph::depth_first_search< Graph, VisitorOps, VisitorState, Vertex, ColorState >::discovered_state
template<typename Graph , typename VisitorOps , typename VisitorState , typename Vertex , typename ColorState = create_search_color_map::type>
typedef mpl::pair<typename VisitorOps::template finish_vertex<Vertex, Graph, typename mpl::first<after_outedges>::type >::type, typename search_color_map_ops::template set_color<Vertex, search_colors::Black, typename mpl::second<after_outedges>::type>::type> boost::msm::mpl_graph::depth_first_search< Graph, VisitorOps, VisitorState, Vertex, ColorState >::type

The documentation for this struct was generated from the following file: