1//===----------------------------------------------------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9// UNSUPPORTED: no-threads
10// UNSUPPORTED: c++03, c++11, c++14
11
12// <shared_mutex>
13
14// shared_lock
15
16// Make sure that the implicitly-generated CTAD works.
17
18#include <shared_mutex>
19
20#include "test_macros.h"
21
22int main(int, char**) {
23 std::shared_mutex mutex;
24 {
25 std::shared_lock lock(mutex);
26 ASSERT_SAME_TYPE(decltype(lock), std::shared_lock<std::shared_mutex>);
27 }
28
29 return 0;
30}
31

source code of libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/implicit_ctad.pass.cpp