brintos

brintos / llvm-project-archived public Read only

0
0
Text · 891 B · 4c5b15e Raw
44 lines · cpp
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9// <vector>10 11// flip()12 13#include <cassert>14#include <vector>15 16#include "test_macros.h"17 18TEST_CONSTEXPR_CXX20 bool test() {19  std::vector<bool> vec;20  typedef std::vector<bool>::reference Ref;21  vec.push_back(true);22  vec.push_back(false);23  Ref ref = vec[0];24  assert(vec[0]);25  assert(!vec[1]);26  ref.flip();27  assert(!vec[0]);28  assert(!vec[1]);29  ref.flip();30  assert(vec[0]);31  assert(!vec[1]);32 33  return true;34}35 36int main(int, char**) {37  test();38#if TEST_STD_VER > 1739  static_assert(test());40#endif41 42  return 0;43}44