get_deleter.pass.cpp revision f5256e16dfc425c1d466f6308d4026d529ce9e0b
1ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com//===----------------------------------------------------------------------===// 2ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// 3ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// The LLVM Compiler Infrastructure 4ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// 5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// This file is distributed under the University of Illinois Open Source 6ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// License. See LICENSE.TXT for details. 7daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com// 88a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com//===----------------------------------------------------------------------===// 97ce661d19c5cf4484305a1b20c44bd111f129847robertphillips@google.com 108a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com// <memory> 118a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 124991b8f23482afc1494fd17647421ce68de53331robertphillips@google.com// unique_ptr 138b0e8ac5f582de80356019406e2975079bf0829dcommit-bot@chromium.org 148b0e8ac5f582de80356019406e2975079bf0829dcommit-bot@chromium.org// test get_deleter() 158a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 164991b8f23482afc1494fd17647421ce68de53331robertphillips@google.com#include <memory> 174991b8f23482afc1494fd17647421ce68de53331robertphillips@google.com#include <cassert> 184991b8f23482afc1494fd17647421ce68de53331robertphillips@google.com 198a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comstruct Deleter 207bd141dce43ea3405bc60c9c84e6f910b851b079skia.committer@gmail.com{ 217ce661d19c5cf4484305a1b20c44bd111f129847robertphillips@google.com void operator()(void*) {} 227ce661d19c5cf4484305a1b20c44bd111f129847robertphillips@google.com 237ce661d19c5cf4484305a1b20c44bd111f129847robertphillips@google.com int test() {return 5;} 247ce661d19c5cf4484305a1b20c44bd111f129847robertphillips@google.com int test() const {return 6;} 25daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com}; 26daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com 27daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.comint main() 28daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com{ 29daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com { 30daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com std::unique_ptr<int[], Deleter> p; 31daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com assert(p.get_deleter().test() == 5); 32eeaeafebdeec2c546134b741ab8b3c6b7c5190abskia.committer@gmail.com } 33daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com { 34daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com const std::unique_ptr<int[], Deleter> p; 35daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com assert(p.get_deleter().test() == 6); 36eeaeafebdeec2c546134b741ab8b3c6b7c5190abskia.committer@gmail.com } 37daaafa6e81860e3dc52660ba019c336f0a43f1e7reed@google.com} 384e2b3d3fb1288c6dc0f3ea1c0aa4a0d7c603bd7breed@google.com