16ac9cb2aSWim Leflere //===----------------------------------------------------------------------===// 26ac9cb2aSWim Leflere // 36ac9cb2aSWim Leflere // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 46ac9cb2aSWim Leflere // See https://llvm.org/LICENSE.txt for license information. 56ac9cb2aSWim Leflere // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 66ac9cb2aSWim Leflere // 76ac9cb2aSWim Leflere //===----------------------------------------------------------------------===// 88508b1c1SLouis Dionne // UNSUPPORTED: c++03, c++11, c++14, c++17, c++20 96ac9cb2aSWim Leflere 106ac9cb2aSWim Leflere // <string> 116ac9cb2aSWim Leflere 126ac9cb2aSWim Leflere // constexpr bool contains(charT x) const noexcept; 136ac9cb2aSWim Leflere 146ac9cb2aSWim Leflere #include <string> 156ac9cb2aSWim Leflere #include <cassert> 166ac9cb2aSWim Leflere 176ac9cb2aSWim Leflere #include "test_macros.h" 186ac9cb2aSWim Leflere test()19*425620ccSNikolas Klauserconstexpr bool test() 206ac9cb2aSWim Leflere { 216ac9cb2aSWim Leflere using S = std::string; 226ac9cb2aSWim Leflere 236ac9cb2aSWim Leflere S s1 {}; 246ac9cb2aSWim Leflere S s2 {"abcde", 5}; 256ac9cb2aSWim Leflere 266ac9cb2aSWim Leflere ASSERT_NOEXCEPT(s1.contains('e')); 276ac9cb2aSWim Leflere 286ac9cb2aSWim Leflere assert(!s1.contains('c')); 296ac9cb2aSWim Leflere assert(!s1.contains('e')); 306ac9cb2aSWim Leflere assert(!s1.contains('x')); 316ac9cb2aSWim Leflere assert( s2.contains('c')); 326ac9cb2aSWim Leflere assert( s2.contains('e')); 336ac9cb2aSWim Leflere assert(!s2.contains('x')); 3485e9b268SNikolas Klauser 3585e9b268SNikolas Klauser return true; 366ac9cb2aSWim Leflere } 376ac9cb2aSWim Leflere main(int,char **)386ac9cb2aSWim Leflereint main(int, char**) 396ac9cb2aSWim Leflere { 406ac9cb2aSWim Leflere test(); 41*425620ccSNikolas Klauser static_assert(test()); 426ac9cb2aSWim Leflere 436ac9cb2aSWim Leflere return 0; 446ac9cb2aSWim Leflere } 45