1 // Copyright David Abrahams 2005.
2 // Distributed under the Boost Software License, Version 1.0.
3 // (See accompanying file LICENSE_1_0.txt or copy at
4 // http://www.boost.org/LICENSE_1_0.txt)
5
6 #include <boost/parameter/name.hpp>
7
8 namespace graphs {
9
10 BOOST_PARAMETER_NAME(graph) // Note: no semicolon
11 BOOST_PARAMETER_NAME(visitor)
12 BOOST_PARAMETER_NAME(root_vertex)
13 BOOST_PARAMETER_NAME(index_map)
14 BOOST_PARAMETER_NAME(color_map)
15 } // namespace graphs
16
17 #include <boost/core/lightweight_test.hpp>
18
19 namespace graphs { namespace core {
20
21 template <typename ArgumentPack>
depth_first_search(ArgumentPack const & args)22 void depth_first_search(ArgumentPack const& args)
23 {
24 BOOST_TEST_EQ(false, args[_color_map]);
25 BOOST_TEST_EQ('G', args[_graph]);
26 BOOST_TEST_CSTR_EQ("hello, world", args[_index_map]);
27 BOOST_TEST_EQ(3.5, args[_root_vertex]);
28 BOOST_TEST_EQ(2, args[_visitor]);
29 }
30 }} // namespace graphs::core
31
main()32 int main()
33 {
34 using namespace graphs;
35
36 core::depth_first_search((
37 _graph = 'G', _visitor = 2, _root_vertex = 3.5
38 , _index_map = "hello, world", _color_map = false
39 ));
40 return boost::report_errors();
41 }
42