1234567891011121314151617181920212223242526272829303132333435363738394041 |
- // Copyright (C) 2015 Andrzej Krzemienski.
- //
- // Use, modification, and distribution is 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/lib/optional for documentation.
- //
- // You are welcome to contact the author at:
- // akrzemi1@gmail.com
- #define BOOST_OPTIONAL_CONFIG_NO_RVALUE_REFERENCES
- #include "boost/optional/optional.hpp"
- #ifdef __BORLANDC__
- #pragma hdrstop
- #endif
- #include "boost/core/lightweight_test.hpp"
- struct Wrapper
- {
- operator int () { return 9; }
- operator boost::optional<int> () { return 7; }
- };
- void test()
- {
- #if (!defined BOOST_NO_CXX11_RVALUE_REFERENCES)
- boost::optional<int> v = Wrapper();
- BOOST_TEST(v);
- BOOST_TEST_EQ(*v, 7);
- #endif
- }
- int main()
- {
- test();
- return boost::report_errors();
- }
|