$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: pdimov_at_[hidden]
Date: 2008-04-21 17:29:29
Author: pdimov
Date: 2008-04-21 17:29:28 EDT (Mon, 21 Apr 2008)
New Revision: 44704
URL: http://svn.boost.org/trac/boost/changeset/44704
Log:
Add ref_fn_test.cpp per #1846.
Added:
   trunk/libs/bind/test/ref_fn_test.cpp   (contents, props changed)
Text files modified: 
   trunk/libs/bind/test/Jamfile.v2 |     1 +                                       
   1 files changed, 1 insertions(+), 0 deletions(-)
Modified: trunk/libs/bind/test/Jamfile.v2
==============================================================================
--- trunk/libs/bind/test/Jamfile.v2	(original)
+++ trunk/libs/bind/test/Jamfile.v2	2008-04-21 17:29:28 EDT (Mon, 21 Apr 2008)
@@ -34,4 +34,5 @@
       [ run mem_fn_eq_test.cpp ]
       [ run mem_fn_dm_test.cpp ]
       [ run mem_fn_rv_test.cpp ]
+      [ run ref_fn_test.cpp ]
     ;
Added: trunk/libs/bind/test/ref_fn_test.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/bind/test/ref_fn_test.cpp	2008-04-21 17:29:28 EDT (Mon, 21 Apr 2008)
@@ -0,0 +1,81 @@
+#include <boost/config.hpp>
+
+#if defined(BOOST_MSVC)
+#pragma warning(disable: 4786)  // identifier truncated in debug info
+#pragma warning(disable: 4710)  // function not inlined
+#pragma warning(disable: 4711)  // function selected for automatic inline expansion
+#pragma warning(disable: 4514)  // unreferenced inline removed
+#endif
+
+//  ref_fn_test.cpp: ref( f )
+//
+//  Copyright (c) 2008 Peter Dimov
+//
+//  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 <boost/ref.hpp>
+#include <boost/detail/lightweight_test.hpp>
+
+
+void f0()
+{
+}
+
+void f1(int)
+{
+}
+
+void f2(int, int)
+{
+}
+
+void f3(int, int, int)
+{
+}
+
+void f4(int, int, int, int)
+{
+}
+
+void f5(int, int, int, int, int)
+{
+}
+
+void f6(int, int, int, int, int, int)
+{
+}
+
+void f7(int, int, int, int, int, int, int)
+{
+}
+
+void f8(int, int, int, int, int, int, int, int)
+{
+}
+
+void f9(int, int, int, int, int, int, int, int, int)
+{
+}
+
+#define BOOST_TEST_REF( f ) BOOST_TEST( &boost::ref( f ).get() == &f )
+
+int main()
+{
+    int v = 0;
+    BOOST_TEST_REF( v );
+
+    BOOST_TEST_REF( f0 );
+    BOOST_TEST_REF( f1 );
+    BOOST_TEST_REF( f2 );
+    BOOST_TEST_REF( f3 );
+    BOOST_TEST_REF( f4 );
+    BOOST_TEST_REF( f5 );
+    BOOST_TEST_REF( f6 );
+    BOOST_TEST_REF( f7 );
+    BOOST_TEST_REF( f8 );
+    BOOST_TEST_REF( f9 );
+
+    return boost::report_errors();
+}