xref: /llvm-project/libcxx/include/__chrono/local_info.h (revision 24e70e3930724ce499ad05d669bfbc4423c542e0)
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