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// unique_ptr 13 14// Test unique_ptr<T[]>::pointer type 15 16#include <memory> 17#include <type_traits> 18 19struct Deleter 20{ 21 struct pointer {}; 22}; 23 24int main() 25{ 26 { 27 typedef std::unique_ptr<int[]> P; 28 static_assert((std::is_same<P::pointer, int*>::value), ""); 29 } 30 { 31 typedef std::unique_ptr<int[], Deleter> P; 32 static_assert((std::is_same<P::pointer, Deleter::pointer>::value), ""); 33 } 34} 35