//===----------------------------------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // UNSUPPORTED: c++03, c++11, c++14, c++17 // iterator, const_iterator, reverse_iterator, const_reverse_iterator #include #include #include "test_macros.h" using iterator = std::vector::iterator; using const_iterator = std::vector::const_iterator; using reverse_iterator = std::vector::reverse_iterator; using const_reverse_iterator = std::vector::const_reverse_iterator; using value_type = bool; static_assert(std::random_access_iterator); static_assert(std::random_access_iterator); static_assert(!std::contiguous_iterator); static_assert(!std::contiguous_iterator); #if TEST_STD_VER > 20 static_assert(std::indirectly_writable); #else static_assert(!std::indirectly_writable); #endif static_assert(std::sentinel_for); static_assert(std::sentinel_for); static_assert(!std::sentinel_for); static_assert(!std::sentinel_for); static_assert(std::sized_sentinel_for); static_assert(std::sized_sentinel_for); static_assert(!std::sized_sentinel_for); static_assert(!std::sized_sentinel_for); static_assert(std::indirectly_movable); static_assert(std::indirectly_movable_storable); static_assert(std::indirectly_copyable); static_assert(std::indirectly_copyable_storable); static_assert(std::indirectly_swappable); static_assert(std::random_access_iterator); static_assert(std::random_access_iterator); static_assert(!std::contiguous_iterator); static_assert(!std::contiguous_iterator); static_assert(!std::indirectly_writable); static_assert(std::sentinel_for); static_assert(std::sentinel_for); static_assert(!std::sentinel_for); static_assert(!std::sentinel_for); static_assert(std::sized_sentinel_for); static_assert(std::sized_sentinel_for); static_assert(!std::sized_sentinel_for); static_assert(!std::sized_sentinel_for); static_assert(!std::indirectly_swappable);