Last change
on this file since 12 was
12,
checked in by landauf, 17 years ago
|
added boost
|
-
Property svn:executable set to
*
|
File size:
1.1 KB
|
Rev | Line | |
---|
[12] | 1 | // Copyright David Abrahams, Daniel Wallin 2003. Use, modification and |
---|
| 2 | // distribution is subject to 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.hpp> |
---|
| 7 | #include <boost/parameter/macros.hpp> |
---|
| 8 | #include <boost/bind.hpp> |
---|
| 9 | #include <boost/static_assert.hpp> |
---|
| 10 | #include <boost/ref.hpp> |
---|
| 11 | #include <cassert> |
---|
| 12 | #include <string.h> |
---|
| 13 | |
---|
| 14 | #include "basics.hpp" |
---|
| 15 | |
---|
| 16 | namespace test |
---|
| 17 | { |
---|
| 18 | |
---|
| 19 | BOOST_PARAMETER_FUN(int, f, 2, 4, f_parameters) |
---|
| 20 | { |
---|
| 21 | p[tester]( |
---|
| 22 | p[name] |
---|
| 23 | , p[value || boost::bind(&value_default) ] |
---|
| 24 | #if BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042)) |
---|
| 25 | , p[test::index | 999 ] |
---|
| 26 | #else |
---|
| 27 | , p[index | 999 ] |
---|
| 28 | #endif |
---|
| 29 | ); |
---|
| 30 | |
---|
| 31 | return 1; |
---|
| 32 | } |
---|
| 33 | |
---|
| 34 | } // namespace test |
---|
| 35 | |
---|
| 36 | int main() |
---|
| 37 | { |
---|
| 38 | using test::f; |
---|
| 39 | using test::name; |
---|
| 40 | using test::value; |
---|
| 41 | using test::index; |
---|
| 42 | using test::tester; |
---|
| 43 | |
---|
| 44 | f( |
---|
| 45 | test::values(S("foo"), S("bar"), S("baz")) |
---|
| 46 | , S("foo"), S("bar"), S("baz") |
---|
| 47 | ); |
---|
| 48 | |
---|
| 49 | int x = 56; |
---|
| 50 | f( |
---|
| 51 | test::values("foo", 666.222, 56) |
---|
| 52 | , index = boost::ref(x), name = "foo" |
---|
| 53 | ); |
---|
| 54 | |
---|
| 55 | return 0; |
---|
| 56 | } |
---|
| 57 | |
---|
Note: See
TracBrowser
for help on using the repository browser.