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 // <deque> 104cb7d781SMarshall Clow 114cb7d781SMarshall Clow // class deque 124cb7d781SMarshall Clow 134cb7d781SMarshall Clow // size_type size() const noexcept; 144cb7d781SMarshall Clow 154cb7d781SMarshall Clow #include <deque> 164cb7d781SMarshall Clow #include <cassert> 174cb7d781SMarshall Clow 184cb7d781SMarshall Clow #include "test_macros.h" 194cb7d781SMarshall Clow #include "min_allocator.h" 204cb7d781SMarshall Clow main(int,char **)21*2df59c50SJF Bastienint main(int, char**) 224cb7d781SMarshall Clow { 234cb7d781SMarshall Clow { 244cb7d781SMarshall Clow typedef std::deque<int> C; 254cb7d781SMarshall Clow C c; 264cb7d781SMarshall Clow ASSERT_NOEXCEPT(c.size()); 274cb7d781SMarshall Clow assert(c.size() == 0); 284cb7d781SMarshall Clow c.push_back(C::value_type(2)); 294cb7d781SMarshall Clow assert(c.size() == 1); 304cb7d781SMarshall Clow c.push_back(C::value_type(1)); 314cb7d781SMarshall Clow assert(c.size() == 2); 324cb7d781SMarshall Clow c.push_back(C::value_type(3)); 334cb7d781SMarshall Clow assert(c.size() == 3); 344cb7d781SMarshall Clow c.erase(c.begin()); 354cb7d781SMarshall Clow assert(c.size() == 2); 364cb7d781SMarshall Clow c.erase(c.begin()); 374cb7d781SMarshall Clow assert(c.size() == 1); 384cb7d781SMarshall Clow c.erase(c.begin()); 394cb7d781SMarshall Clow assert(c.size() == 0); 404cb7d781SMarshall Clow } 414cb7d781SMarshall Clow #if TEST_STD_VER >= 11 424cb7d781SMarshall Clow { 434cb7d781SMarshall Clow typedef std::deque<int, min_allocator<int>> C; 444cb7d781SMarshall Clow C c; 454cb7d781SMarshall Clow ASSERT_NOEXCEPT(c.size()); 464cb7d781SMarshall Clow assert(c.size() == 0); 474cb7d781SMarshall Clow c.push_back(C::value_type(2)); 484cb7d781SMarshall Clow assert(c.size() == 1); 494cb7d781SMarshall Clow c.push_back(C::value_type(1)); 504cb7d781SMarshall Clow assert(c.size() == 2); 514cb7d781SMarshall Clow c.push_back(C::value_type(3)); 524cb7d781SMarshall Clow assert(c.size() == 3); 534cb7d781SMarshall Clow c.erase(c.begin()); 544cb7d781SMarshall Clow assert(c.size() == 2); 554cb7d781SMarshall Clow c.erase(c.begin()); 564cb7d781SMarshall Clow assert(c.size() == 1); 574cb7d781SMarshall Clow c.erase(c.begin()); 584cb7d781SMarshall Clow assert(c.size() == 0); 594cb7d781SMarshall Clow } 604cb7d781SMarshall Clow #endif 61*2df59c50SJF Bastien 62*2df59c50SJF Bastien return 0; 634cb7d781SMarshall Clow } 64