element_type.pass.cpp revision bc8d3f97eb5c958007f2713238472e0c1c8fe02c
1//===----------------------------------------------------------------------===// 2// 3// ��������������������The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. 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