// Copyright Daniel Wallin 2006. Use, modification and distribution is // subject to 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 #include #include namespace test { BOOST_PARAMETER_KEYWORD(tag, kw) BOOST_PARAMETER_KEYWORD(tag, unused) template int f(Args const& args) { return args[kw | 1.f]; } } // namespace test int main() { using test::kw; using test::unused; using test::f; using boost::parameter::aux::maybe; assert(f((kw = 0, unused = 0)) == 0); assert(f(unused = 0) == 1); assert(f((kw = maybe(), unused = 0)) == 1); assert(f((kw = maybe(2), unused = 0)) == 2); return 0; }