#include // wp_convertible_test.cpp // // Copyright (c) 2008 Peter Dimov // // 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 #include #include // class incomplete; struct X { }; struct Y { }; struct Z: public X { }; int f( boost::weak_ptr ) { return 1; } int f( boost::weak_ptr ) { return 2; } int f( boost::weak_ptr ) { return 3; } int g( boost::weak_ptr ) { return 4; } int g( boost::weak_ptr ) { return 5; } int g( boost::weak_ptr ) { return 6; } int main() { BOOST_TEST( 1 == f( boost::weak_ptr() ) ); BOOST_TEST( 1 == f( boost::shared_ptr() ) ); BOOST_TEST( 4 == g( boost::weak_ptr() ) ); BOOST_TEST( 4 == g( boost::shared_ptr() ) ); return boost::report_errors(); }