18a21d59fSMark de Wever // -*- C++ -*- 28a21d59fSMark de Wever //===----------------------------------------------------------------------===// 38a21d59fSMark de Wever // 48a21d59fSMark de Wever // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 58a21d59fSMark de Wever // See https://llvm.org/LICENSE.txt for license information. 68a21d59fSMark de Wever // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 78a21d59fSMark de Wever // 88a21d59fSMark de Wever //===----------------------------------------------------------------------===// 98a21d59fSMark de Wever 108a21d59fSMark de Wever // For information see https://libcxx.llvm.org/DesignDocs/TimeZone.html 118a21d59fSMark de Wever 128a21d59fSMark de Wever #ifndef _LIBCPP___CHRONO_LOCAL_INFO_H 138a21d59fSMark de Wever #define _LIBCPP___CHRONO_LOCAL_INFO_H 148a21d59fSMark de Wever 158a21d59fSMark de Wever #include <version> 168a21d59fSMark de Wever // Enable the contents of the header only when libc++ was built with experimental features enabled. 17*24e70e39SNikolas Klauser #if _LIBCPP_HAS_EXPERIMENTAL_TZDB 188a21d59fSMark de Wever 198a21d59fSMark de Wever # include <__chrono/sys_info.h> 208a21d59fSMark de Wever # include <__config> 218a21d59fSMark de Wever 228a21d59fSMark de Wever # if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 238a21d59fSMark de Wever # pragma GCC system_header 248a21d59fSMark de Wever # endif 258a21d59fSMark de Wever 268a21d59fSMark de Wever _LIBCPP_BEGIN_NAMESPACE_STD 278a21d59fSMark de Wever 288a21d59fSMark de Wever # if _LIBCPP_STD_VER >= 20 298a21d59fSMark de Wever 308a21d59fSMark de Wever namespace chrono { 318a21d59fSMark de Wever 328a21d59fSMark de Wever struct local_info { 338a21d59fSMark de Wever static constexpr int unique = 0; 348a21d59fSMark de Wever static constexpr int nonexistent = 1; 358a21d59fSMark de Wever static constexpr int ambiguous = 2; 368a21d59fSMark de Wever 378a21d59fSMark de Wever int result; 388a21d59fSMark de Wever sys_info first; 398a21d59fSMark de Wever sys_info second; 408a21d59fSMark de Wever }; 418a21d59fSMark de Wever 428a21d59fSMark de Wever } // namespace chrono 438a21d59fSMark de Wever 448a21d59fSMark de Wever # endif // _LIBCPP_STD_VER >= 20 458a21d59fSMark de Wever 468a21d59fSMark de Wever _LIBCPP_END_NAMESPACE_STD 478a21d59fSMark de Wever 48*24e70e39SNikolas Klauser #endif // _LIBCPP_HAS_EXPERIMENTAL_TZDB 498a21d59fSMark de Wever 508a21d59fSMark de Wever #endif // _LIBCPP___CHRONO_LOCAL_INFO_H 51