xref: /llvm-project/libcxx/test/std/containers/sequences/forwardlist/empty.pass.cpp (revision 2df59c50688c122bbcae7467d3eaf862c3ea3088)
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 // <forward_list>
104cb7d781SMarshall Clow 
114cb7d781SMarshall Clow // class forward_list
124cb7d781SMarshall Clow 
134cb7d781SMarshall Clow // bool empty() const noexcept;
144cb7d781SMarshall Clow 
154cb7d781SMarshall Clow #include <forward_list>
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 Bastien int main(int, char**)
224cb7d781SMarshall Clow {
234cb7d781SMarshall Clow     {
244cb7d781SMarshall Clow     typedef std::forward_list<int> C;
254cb7d781SMarshall Clow     C c;
264cb7d781SMarshall Clow     ASSERT_NOEXCEPT(c.empty());
274cb7d781SMarshall Clow     assert(c.empty());
284cb7d781SMarshall Clow     c.push_front(C::value_type(1));
294cb7d781SMarshall Clow     assert(!c.empty());
304cb7d781SMarshall Clow     c.clear();
314cb7d781SMarshall Clow     assert(c.empty());
324cb7d781SMarshall Clow     }
334cb7d781SMarshall Clow #if TEST_STD_VER >= 11
344cb7d781SMarshall Clow     {
354cb7d781SMarshall Clow     typedef std::forward_list<int, min_allocator<int>> C;
364cb7d781SMarshall Clow     C c;
374cb7d781SMarshall Clow     ASSERT_NOEXCEPT(c.empty());
384cb7d781SMarshall Clow     assert(c.empty());
394cb7d781SMarshall Clow     c.push_front(C::value_type(1));
404cb7d781SMarshall Clow     assert(!c.empty());
414cb7d781SMarshall Clow     c.clear();
424cb7d781SMarshall Clow     assert(c.empty());
434cb7d781SMarshall Clow     }
444cb7d781SMarshall Clow #endif
45*2df59c50SJF Bastien 
46*2df59c50SJF Bastien   return 0;
474cb7d781SMarshall Clow }
48