brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 5d31cbf Raw
46 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// UNSUPPORTED: c++03, c++11, c++14, c++1710// UNSUPPORTED: no-filesystem, no-localization, no-tzdb11 12// XFAIL: libcpp-has-no-experimental-tzdb13// XFAIL: availability-tzdb-missing14 15// <chrono>16 17//  struct tzdb {18//    string                 version;19//    vector<time_zone>      zones;20//    vector<time_zone_link> links;21//    vector<leap_second>    leap_seconds;22//23//    ...24//  };25 26#include <chrono>27#include <cassert>28#include <concepts>29#include <string>30 31#include "assert_macros.h"32 33int main(int, const char**) {34  std::chrono::tzdb tzdb;35 36  static_assert(std::same_as<decltype(tzdb.version), std::string>);37  tzdb.version = "version";38  assert(tzdb.version == "version");39 40  [[maybe_unused]] std::vector<std::chrono::time_zone>& zones          = tzdb.zones;41  [[maybe_unused]] std::vector<std::chrono::time_zone_link>& links = tzdb.links;42  [[maybe_unused]] std::vector<std::chrono::leap_second>& leap_seconds = tzdb.leap_seconds;43 44  return 0;45}46