element_type.pass.cpp revision b64f8b07c104c6cc986570ac8ee0ed16a9f23976
1//===----------------------------------------------------------------------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is dual licensed under the MIT and the University of Illinois Open 6// Source Licenses. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10// <memory> 11 12// template <class X> 13// class auto_ptr 14// { 15// public: 16// typedef X element_type; 17// ... 18// }; 19 20#include <memory> 21#include <type_traits> 22 23template <class T> 24void 25test() 26{ 27 static_assert((std::is_same<typename std::auto_ptr<T>::element_type, T>::value), ""); 28} 29 30int main() 31{ 32 test<int>(); 33 test<double>(); 34 test<void>(); 35 std::auto_ptr<void> p; 36} 37