types.pass.cpp revision f5256e16dfc425c1d466f6308d4026d529ce9e0b
1bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant//===----------------------------------------------------------------------===//
2bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant//
3f5256e16dfc425c1d466f6308d4026d529ce9e0bHoward Hinnant//                     The LLVM Compiler Infrastructure
4bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant//
5bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// This file is distributed under the University of Illinois Open Source
6bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// License. See LICENSE.TXT for details.
7bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant//
8bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant//===----------------------------------------------------------------------===//
9bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant
10bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// <mutex>
11bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant
12bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// template <class Mutex>
13bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// class unique_lock
14bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// {
15bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// public:
16bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant//     typedef Mutex mutex_type;
17bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant//     ...
18bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// };
19bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant
20bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include <mutex>
21bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include <type_traits>
22bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant
23bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnantint main()
24bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant{
25bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant    static_assert((std::is_same<std::unique_lock<std::mutex>::mutex_type,
26bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant                   std::mutex>::value), "");
27bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant}
28