BOOST_PARAMETER_NAME(visitor)
BOOST_PARAMETER_NAME(root_vertex)
BOOST_PARAMETER_NAME(index_map)
-BOOST_PARAMETER_NAME(color_map)
+BOOST_PARAMETER_NAME(in_out(color_map))
namespace boost {
-template <class T = int>
-struct dfs_visitor
-{};
-
-int vertex_index = 0;
+ template <typename T = int>
+ struct dfs_visitor
+ {
+ };
+ int vertex_index = 0;
}
+
#include <boost/parameter/preprocessor.hpp>
-namespace graphs
-{
- BOOST_PARAMETER_FUNCTION(
- (void), // 1. parenthesized return type
- depth_first_search, // 2. name of the function template
-
- tag, // 3. namespace of tag types
-
- (required (graph, *) ) // 4. one required parameter, and
-
- (optional // four optional parameters, with defaults
- (visitor, *, boost::dfs_visitor<>())
- (root_vertex, *, *vertices(graph).first)
- (index_map, *, get(boost::vertex_index,graph))
- (in_out(color_map), *,
- default_color_map(num_vertices(graph), index_map) )
- )
- )
- {
- // ... body of function goes here...
- // use graph, visitor, index_map, and color_map
- }
+namespace graphs {
+
+ BOOST_PARAMETER_FUNCTION(
+ (void), // 1. parenthesized return type
+ depth_first_search, // 2. name of the function template
+
+ tag, // 3. namespace of tag types
+
+ (required (graph, *) ) // 4. one required parameter, and
+
+ (optional // four optional parameters, with defaults
+ (visitor, *, boost::dfs_visitor<>())
+ (root_vertex, *, *vertices(graph).first)
+ (index_map, *, get(boost::vertex_index,graph))
+ (in_out(color_map), *,
+ default_color_map(num_vertices(graph), index_map)
+ )
+ )
+ )
+ {
+ // ... body of function goes here...
+ // use graph, visitor, index_map, and color_map
+ }
}