// (C) Copyright John Maddock 2002. // Use, modification and distribution are subject to 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) // See http://www.boost.org/libs/config for most recent version. // MACRO: BOOST_NO_TEMPLATE_TEMPLATES // TITLE: template template paramters. // DESCRIPTION: Verify that template template parameters both work // and can be deduced through a function call. namespace boost_no_template_templates{ template class foo { public: foo(){}; foo(const T&){}; const foo& bar()const{ return *this; } foo& operator=(const foo&){ return *this; } }; template class U> U sinhc_pi(const U x) { return x.bar(); } int test() { foo f1; foo f2; f1 = sinhc_pi(f1); f2 = sinhc_pi(f2); return 0; } }