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 //===----------------------------------------------------------------------===// 8*02d11757SLouis Dionne 98508b1c1SLouis Dionne // UNSUPPORTED: c++03, c++11, c++14, c++17, c++20 106ac9cb2aSWim Leflere 116ac9cb2aSWim Leflere // <string_view> 126ac9cb2aSWim Leflere 136ac9cb2aSWim Leflere // constexpr bool contains(charT x) const noexcept; 146ac9cb2aSWim Leflere 156ac9cb2aSWim Leflere #include <string_view> 166ac9cb2aSWim Leflere #include <cassert> 176ac9cb2aSWim Leflere 186ac9cb2aSWim Leflere #include "test_macros.h" 196ac9cb2aSWim Leflere test()206ac9cb2aSWim Leflereconstexpr bool test() 216ac9cb2aSWim Leflere { 226ac9cb2aSWim Leflere using SV = std::string_view; 236ac9cb2aSWim Leflere 246ac9cb2aSWim Leflere SV sv1 {}; 256ac9cb2aSWim Leflere SV sv2 {"abcde", 5}; 266ac9cb2aSWim Leflere 276ac9cb2aSWim Leflere ASSERT_NOEXCEPT(sv1.contains('e')); 286ac9cb2aSWim Leflere 296ac9cb2aSWim Leflere assert(!sv1.contains('c')); 306ac9cb2aSWim Leflere assert(!sv1.contains('e')); 316ac9cb2aSWim Leflere assert(!sv1.contains('x')); 326ac9cb2aSWim Leflere assert( sv2.contains('c')); 336ac9cb2aSWim Leflere assert( sv2.contains('e')); 346ac9cb2aSWim Leflere assert(!sv2.contains('x')); 356ac9cb2aSWim Leflere 366ac9cb2aSWim Leflere return true; 376ac9cb2aSWim Leflere } 386ac9cb2aSWim Leflere main(int,char **)396ac9cb2aSWim Leflereint main(int, char**) 406ac9cb2aSWim Leflere { 416ac9cb2aSWim Leflere test(); 426ac9cb2aSWim Leflere static_assert(test()); 436ac9cb2aSWim Leflere 446ac9cb2aSWim Leflere return 0; 456ac9cb2aSWim Leflere } 46