summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/config/test/boost_has_nrvo.ipp
diff options
context:
space:
mode:
Diffstat (limited to 'src/boost/libs/config/test/boost_has_nrvo.ipp')
-rw-r--r--src/boost/libs/config/test/boost_has_nrvo.ipp57
1 files changed, 57 insertions, 0 deletions
diff --git a/src/boost/libs/config/test/boost_has_nrvo.ipp b/src/boost/libs/config/test/boost_has_nrvo.ipp
new file mode 100644
index 000000000..ad6f17f6f
--- /dev/null
+++ b/src/boost/libs/config/test/boost_has_nrvo.ipp
@@ -0,0 +1,57 @@
+// (C) Copyright Terje Slettebo 2001.
+// (C) Copyright John Maddock 2001.
+// Use, modification and distribution are 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)
+
+// See http://www.boost.org/libs/config for most recent version.
+
+// MACRO: BOOST_HAS_NRVO
+// TITLE: Named return value optimisation.
+// DESCRIPTION: Named return value optimisation.
+
+
+namespace boost_has_nrvo
+{
+
+class test_class
+{
+public:
+ test_class() {}
+ test_class(const test_class&)
+ {
+ ++copy_count;
+ }
+
+ static int copy_count;
+};
+
+int test_class::copy_count;
+
+test_class f()
+{
+ test_class nrv;
+
+ return nrv;
+}
+
+int test()
+{
+ test_class::copy_count=0;
+
+ f();
+
+ return test_class::copy_count;
+}
+
+} // namespace boost_has_nrvo
+
+
+
+
+
+
+
+
+
+