#include "boost/optional/optional.hpp"
#ifdef BOOST_BORLANDC
#pragma hdrstop
#endif
#include "boost/core/addressof.hpp"
#include "boost/core/enable_if.hpp"
#include "boost/core/lightweight_test.hpp"
#include "testable_classes.hpp"
#include "optional_ref_assign_test_defs.hpp"
template <typename T>
void test_all_const_cases()
{
test_converting_assignment<T, T>();
test_converting_assignment<const T, const T>();
test_converting_assignment<T, const T>();
}
int main()
{
test_all_const_cases<ScopeGuard>();
test_all_const_cases<Abstract>();
return boost::report_errors();
}