diff options
Diffstat (limited to 'src/boost/libs/foreach/test/rvalue_nonconst.cpp')
-rw-r--r-- | src/boost/libs/foreach/test/rvalue_nonconst.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/boost/libs/foreach/test/rvalue_nonconst.cpp b/src/boost/libs/foreach/test/rvalue_nonconst.cpp new file mode 100644 index 000000000..02827c1ea --- /dev/null +++ b/src/boost/libs/foreach/test/rvalue_nonconst.cpp @@ -0,0 +1,41 @@ +// (C) Copyright Eric Niebler 2005. +// 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) + +/* + Revision history: + 25 August 2005 : Initial version. +*/ + +#include <vector> +#include <boost/test/minimal.hpp> +#include <boost/foreach.hpp> + +#ifdef BOOST_FOREACH_NO_RVALUE_DETECTION +# error Expected failure : rvalues disallowed +#else + +std::vector<int> get_vector() +{ + return std::vector<int>(4, 4); +} + +/////////////////////////////////////////////////////////////////////////////// +// test_main +// +int test_main( int, char*[] ) +{ + int counter = 0; + + BOOST_FOREACH(int i, get_vector()) + { + counter += i; + } + + BOOST_CHECK(16 == counter); + + return 0; +} + +#endif |