forked from boostorg/utility
		
	
		
			
				
	
	
		
			38 lines
		
	
	
		
			1006 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1006 B
		
	
	
	
		
			C++
		
	
	
	
	
	
// Copyright 2010, Niels Dekker.
 | 
						|
//
 | 
						|
// Distributed under 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)
 | 
						|
//
 | 
						|
// Test program for boost::initialized<T>. Must fail to compile.
 | 
						|
//
 | 
						|
// Initial: 2 May 2010
 | 
						|
 | 
						|
#include <boost/utility/value_init.hpp>
 | 
						|
 | 
						|
namespace
 | 
						|
{
 | 
						|
  void from_value_initialized_to_initialized()
 | 
						|
  {
 | 
						|
    boost::value_initialized<int> value_initialized_int;
 | 
						|
 | 
						|
    // Okay: initialized<T> can be initialized by value_initialized<T>.
 | 
						|
    boost::initialized<int> initialized_int(value_initialized_int);
 | 
						|
  }
 | 
						|
 | 
						|
  void from_initialized_to_value_initialized()
 | 
						|
  {
 | 
						|
    boost::initialized<int> initialized_int(13);
 | 
						|
 | 
						|
    // The following line should not compile, because initialized<T>
 | 
						|
    // should not be convertible to value_initialized<T>.
 | 
						|
    boost::value_initialized<int> value_initialized_int(initialized_int);
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
int main()
 | 
						|
{
 | 
						|
  // This should fail to compile, so there is no need to call any function.
 | 
						|
  return 0;
 | 
						|
}
 |