Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/boost_1_33_1/libs/parameter/test/macros.cpp @ 12

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
Line 
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
16namespace 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
36int 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.