value_type.pass.cpp revision bc8d3f97eb5c958007f2713238472e0c1c8fe02c
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. 7c3bd8af6d5722e854feca70c40d92f4954c5b67bcommit-bot@chromium.org// 800dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com//===----------------------------------------------------------------------===// 900dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com 1000dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com// <memory> 11d4af56c5f24a7bf0200e20a591d55f8c82fb9627epoger@google.com 12dd0ac281e920b01a63789893cc3e7422789658ddreed@android.com// template <class Alloc> 13dd0ac281e920b01a63789893cc3e7422789658ddreed@android.com// struct allocator_traits 14dd0ac281e920b01a63789893cc3e7422789658ddreed@android.com// { 1500dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com// typedef typename Alloc::value_type value_type; 1600dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com// ... 1700dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com// }; 1862b50b7bb8395f9bc281a4d0ed20acc4813f1445mtklein@google.com 1962b50b7bb8395f9bc281a4d0ed20acc4813f1445mtklein@google.com#include <memory> 2062b50b7bb8395f9bc281a4d0ed20acc4813f1445mtklein@google.com#include <type_traits> 2162b50b7bb8395f9bc281a4d0ed20acc4813f1445mtklein@google.com 224117a24de4c2dedf47db44746f6636ade6e29deareed@google.comtemplate <class T> 230f0d9b720e1afef91d30c83b379725b8a53fafc8sugoi@google.comstruct A 244117a24de4c2dedf47db44746f6636ade6e29deareed@google.com{ 254117a24de4c2dedf47db44746f6636ade6e29deareed@google.com typedef T value_type; 2600dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com}; 27d6176b0dcacb124539e0cfd051e6d93a9782f020rmistry@google.com 2800dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.comint main() 2900dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com{ 3000dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com static_assert((std::is_same<std::allocator_traits<A<char> >::value_type, char>::value), ""); 3100dae86f5872b60927b28a32b375bc01cd7c61c9reed@android.com} 32d6176b0dcacb124539e0cfd051e6d93a9782f020rmistry@google.com