14cb7d781SMarshall Clow //===----------------------------------------------------------------------===// 24cb7d781SMarshall Clow // 357b08b09SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 457b08b09SChandler Carruth // See https://llvm.org/LICENSE.txt for license information. 557b08b09SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 64cb7d781SMarshall Clow // 74cb7d781SMarshall Clow //===----------------------------------------------------------------------===// 84cb7d781SMarshall Clow 94cb7d781SMarshall Clow // <vector> 104cb7d781SMarshall Clow 114cb7d781SMarshall Clow // class vector 124cb7d781SMarshall Clow 134cb7d781SMarshall Clow // bool empty() const noexcept; 144cb7d781SMarshall Clow 154cb7d781SMarshall Clow #include <vector> 164cb7d781SMarshall Clow #include <cassert> 174cb7d781SMarshall Clow 184cb7d781SMarshall Clow #include "test_macros.h" 194cb7d781SMarshall Clow #include "min_allocator.h" 204cb7d781SMarshall Clow tests()21*c74059c5SNikolas KlauserTEST_CONSTEXPR_CXX20 bool tests() { 224cb7d781SMarshall Clow { 234cb7d781SMarshall Clow typedef std::vector<int> C; 244cb7d781SMarshall Clow C c; 254cb7d781SMarshall Clow ASSERT_NOEXCEPT(c.empty()); 264cb7d781SMarshall Clow assert(c.empty()); 274cb7d781SMarshall Clow c.push_back(C::value_type(1)); 284cb7d781SMarshall Clow assert(!c.empty()); 294cb7d781SMarshall Clow c.clear(); 304cb7d781SMarshall Clow assert(c.empty()); 314cb7d781SMarshall Clow } 324cb7d781SMarshall Clow #if TEST_STD_VER >= 11 334cb7d781SMarshall Clow { 344cb7d781SMarshall Clow typedef std::vector<int, min_allocator<int>> C; 354cb7d781SMarshall Clow C c; 364cb7d781SMarshall Clow ASSERT_NOEXCEPT(c.empty()); 374cb7d781SMarshall Clow assert(c.empty()); 384cb7d781SMarshall Clow c.push_back(C::value_type(1)); 394cb7d781SMarshall Clow assert(!c.empty()); 404cb7d781SMarshall Clow c.clear(); 414cb7d781SMarshall Clow assert(c.empty()); 424cb7d781SMarshall Clow } 434cb7d781SMarshall Clow #endif 442df59c50SJF Bastien 45*c74059c5SNikolas Klauser return true; 46*c74059c5SNikolas Klauser } 47*c74059c5SNikolas Klauser main(int,char **)48*c74059c5SNikolas Klauserint main(int, char**) 49*c74059c5SNikolas Klauser { 50*c74059c5SNikolas Klauser tests(); 51*c74059c5SNikolas Klauser #if TEST_STD_VER > 17 52*c74059c5SNikolas Klauser static_assert(tests()); 53*c74059c5SNikolas Klauser #endif 542df59c50SJF Bastien return 0; 554cb7d781SMarshall Clow } 56