17026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant//===----------------------------------------------------------------------===// 27026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant// 37026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant// The LLVM Compiler Infrastructure 47026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant// 5b64f8b07c104c6cc986570ac8ee0ed16a9f23976Howard Hinnant// This file is dual licensed under the MIT and the University of Illinois Open 6b64f8b07c104c6cc986570ac8ee0ed16a9f23976Howard Hinnant// Source Licenses. See LICENSE.TXT for details. 77026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant// 87026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant//===----------------------------------------------------------------------===// 97026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant 107026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant#include <memory> 117026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant#include <string> 127026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant#include <cassert> 137026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant 147026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnantint main() 157026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant{ 167026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant#if _LIBCPP_STD_VER > 11 177026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant { 187026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant std::unique_ptr<int> p1 = std::make_unique<int>(1); 197026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant assert ( *p1 == 1 ); 207026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant p1 = std::make_unique<int> (); 217026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant assert ( *p1 == 0 ); 227026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant } 237026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant 247026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant { 257026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant std::unique_ptr<std::string> p2 = std::make_unique<std::string> ( "Meow!" ); 267026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant assert ( *p2 == "Meow!" ); 277026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant p2 = std::make_unique<std::string> (); 287026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant assert ( *p2 == "" ); 297026a17a482a9f7fdd9fc41aead6a167167efb1bHoward Hinnant p2 = std::make_unique<std::string> ( 6, 'z' ); 30 assert ( *p2 == "zzzzzz" ); 31 } 32#endif // _LIBCPP_STD_VER > 11 33} 34