// Copyright Daniel Wallin 2006. // 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) #include namespace test { BOOST_PARAMETER_NAME(kw) BOOST_PARAMETER_NAME(unused) template int f(Args const& args) { return args[test::_kw | 1.f]; } } // namespace test #include #include int main() { BOOST_TEST_EQ(0, test::f((test::_kw = 0, test::_unused = 0))); BOOST_TEST_EQ(1, test::f(test::_unused = 0)); BOOST_TEST_EQ( 1 , test::f(( test::_kw = boost::parameter::aux::maybe() , test::_unused = 0 )) ); BOOST_TEST_EQ( 2 , test::f(( test::_kw = boost::parameter::aux::maybe(2) , test::_unused = 0 )) ); return boost::report_errors(); }