1 #include <boost/config.hpp>
2
3 #if defined(BOOST_MSVC)
4 #pragma warning(disable: 4786) // identifier truncated in debug info
5 #pragma warning(disable: 4710) // function not inlined
6 #pragma warning(disable: 4711) // function selected for automatic inline expansion
7 #pragma warning(disable: 4514) // unreferenced inline removed
8 #endif
9
10 // ref_fn_test.cpp: ref( f )
11 //
12 // Copyright (c) 2008 Peter Dimov
13 //
14 // Distributed under the Boost Software License, Version 1.0.
15 // See accompanying file LICENSE_1_0.txt or copy at
16 // http://www.boost.org/LICENSE_1_0.txt
17
18 #include <boost/ref.hpp>
19 #include <boost/core/lightweight_test.hpp>
20
21
f0()22 void f0()
23 {
24 }
25
f1(int)26 void f1(int)
27 {
28 }
29
f2(int,int)30 void f2(int, int)
31 {
32 }
33
f3(int,int,int)34 void f3(int, int, int)
35 {
36 }
37
f4(int,int,int,int)38 void f4(int, int, int, int)
39 {
40 }
41
f5(int,int,int,int,int)42 void f5(int, int, int, int, int)
43 {
44 }
45
f6(int,int,int,int,int,int)46 void f6(int, int, int, int, int, int)
47 {
48 }
49
f7(int,int,int,int,int,int,int)50 void f7(int, int, int, int, int, int, int)
51 {
52 }
53
f8(int,int,int,int,int,int,int,int)54 void f8(int, int, int, int, int, int, int, int)
55 {
56 }
57
f9(int,int,int,int,int,int,int,int,int)58 void f9(int, int, int, int, int, int, int, int, int)
59 {
60 }
61
62 #define BOOST_TEST_REF( f ) BOOST_TEST( &boost::ref( f ).get() == &f )
63
main()64 int main()
65 {
66 int v = 0;
67 BOOST_TEST_REF( v );
68
69 BOOST_TEST_REF( f0 );
70 BOOST_TEST_REF( f1 );
71 BOOST_TEST_REF( f2 );
72 BOOST_TEST_REF( f3 );
73 BOOST_TEST_REF( f4 );
74 BOOST_TEST_REF( f5 );
75 BOOST_TEST_REF( f6 );
76 BOOST_TEST_REF( f7 );
77 BOOST_TEST_REF( f8 );
78 BOOST_TEST_REF( f9 );
79
80 return boost::report_errors();
81 }
82