mirror of
https://github.com/boostorg/optional.git
synced 2025-08-01 05:24:32 +02:00
This commit was manufactured by cvs2svn to create tag
'merged_to_RC_1_31_0'. [SVN r22369]
This commit is contained in:
@@ -426,7 +426,7 @@ class optional : public optional_detail::optional_base<T>
|
||||
// No-throw (assuming T::~T() doesn't)
|
||||
~optional() {}
|
||||
|
||||
#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT
|
||||
#if !defined(BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT) && !defined(BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION)
|
||||
// Assigns from an expression. See corresponding constructor.
|
||||
// Basic Guarantee: If the resolved T ctor throws, this is left UNINITIALIZED
|
||||
template<class Expr>
|
||||
|
@@ -14,21 +14,26 @@
|
||||
|
||||
import testing ;
|
||||
|
||||
project
|
||||
: source-location $(BOOST_ROOT)
|
||||
;
|
||||
{
|
||||
test-suite optional :
|
||||
[ run optional_test.cpp ]
|
||||
[ run optional_test_tie.cpp ]
|
||||
[ run optional_test_ref.cpp ]
|
||||
[ run optional_test_inplace.cpp ]
|
||||
[ compile-fail optional_test_fail1.cpp ]
|
||||
[ compile-fail optional_test_fail2.cpp ]
|
||||
[ compile-fail optional_test_fail3a.cpp ]
|
||||
[ compile-fail optional_test_fail3b.cpp ]
|
||||
[ compile-fail optional_test_ref_fail1.cpp ]
|
||||
[ compile-fail optional_test_ref_fail2.cpp ]
|
||||
[ compile-fail optional_test_ref_fail3.cpp ]
|
||||
[ compile-fail optional_test_ref_fail4.cpp ]
|
||||
[ compile-fail optional_test_inplace_fail.cpp ]
|
||||
[ compile-fail optional_test_inplace_fail2.cpp ]
|
||||
[ run libs/optional/test/optional_test.cpp ]
|
||||
[ run libs/optional/test/optional_test_tie.cpp ]
|
||||
[ run libs/optional/test/optional_test_references.cpp ]
|
||||
[ run libs/optional/test/optional_test_inplace.cpp ]
|
||||
[ compile-fail libs/optional/test/optional_test_fail1.cpp ]
|
||||
[ compile-fail libs/optional/test/optional_test_fail2.cpp ]
|
||||
[ compile-fail libs/optional/test/optional_test_fail3a.cpp ]
|
||||
[ compile-fail libs/optional/test/optional_test_fail3b.cpp ]
|
||||
[ compile-fail libs/optional/test/optional_test_references_fail1a.cpp ]
|
||||
[ compile-fail libs/optional/test/optional_test_references_fail1b.cpp ]
|
||||
[ compile-fail libs/optional/test/optional_test_references_fail1c.cpp ]
|
||||
[ compile-fail libs/optional/test/optional_test_references_fail2.cpp ]
|
||||
[ compile-fail libs/optional/test/optional_test_references_fail3.cpp ]
|
||||
[ compile-fail libs/optional/test/optional_test_references_fail4.cpp ]
|
||||
[ compile-fail libs/optional/test/optional_test_inplace_fail.cpp ]
|
||||
[ compile-fail libs/optional/test/optional_test_inplace_fail2.cpp ]
|
||||
;
|
||||
}
|
||||
|
@@ -485,21 +485,12 @@ void test_throwing_assign_to_initialized( T const* )
|
||||
|
||||
BOOST_CHECK(!passed);
|
||||
|
||||
|
||||
#ifdef BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION
|
||||
// opt0 was left unmodified
|
||||
check_is_pending_dtor( ARG(T) );
|
||||
check_is_not_pending_copy( ARG(T) );
|
||||
check_instance_count(count, ARG(T) );
|
||||
check_initialized(opt0);
|
||||
#else
|
||||
// opt0 was left uninitialized
|
||||
-- count ;
|
||||
check_is_not_pending_dtor( ARG(T) );
|
||||
check_is_not_pending_copy( ARG(T) );
|
||||
check_instance_count(count, ARG(T) );
|
||||
check_uninitialized(opt0);
|
||||
#endif
|
||||
}
|
||||
|
||||
//
|
||||
|
Reference in New Issue
Block a user