1 // Copyright (C) 2015 Andrzej Krzemienski.
2 //
3 // Use, modification, and distribution is subject to the Boost Software
4 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
5 // http://www.boost.org/LICENSE_1_0.txt)
6 //
7 // See http://www.boost.org/lib/optional for documentation.
8 //
9 // You are welcome to contact the author at: [email protected]
10 
11 
12 #include "boost/optional/optional.hpp"
13 
14 #ifdef BOOST_BORLANDC
15 #pragma hdrstop
16 #endif
17 
18 #include "boost/core/addressof.hpp"
19 #include "boost/core/enable_if.hpp"
20 #include "boost/core/lightweight_test.hpp"
21 #include "testable_classes.hpp"
22 #include "optional_ref_assign_test_defs.hpp"
23 
24 
25 template <typename T>
test_all_const_cases()26 void test_all_const_cases()
27 {
28   test_converting_assignment<T, T>();
29   test_converting_assignment<const T, const T>();
30   test_converting_assignment<T, const T>();
31 }
32 
main()33 int main()
34 {
35   test_all_const_cases<ScopeGuard>();
36   test_all_const_cases<Abstract>();
37 
38   return boost::report_errors();
39 }
40