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