xref: /llvm-project/libcxx/include/__chrono/calendar.h (revision 9783f28cbb155e4a8d49c12e1c60ce14dcfaf0c7)
15726e559SLouis Dionne // -*- C++ -*-
25726e559SLouis Dionne //===----------------------------------------------------------------------===//
35726e559SLouis Dionne //
45726e559SLouis Dionne // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
55726e559SLouis Dionne // See https://llvm.org/LICENSE.txt for license information.
65726e559SLouis Dionne // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
75726e559SLouis Dionne //
85726e559SLouis Dionne //===----------------------------------------------------------------------===//
95726e559SLouis Dionne 
105726e559SLouis Dionne #ifndef _LIBCPP___CHRONO_CALENDAR_H
115726e559SLouis Dionne #define _LIBCPP___CHRONO_CALENDAR_H
125726e559SLouis Dionne 
135726e559SLouis Dionne #include <__chrono/duration.h>
145726e559SLouis Dionne #include <__chrono/time_point.h>
155726e559SLouis Dionne #include <__config>
165726e559SLouis Dionne 
175726e559SLouis Dionne #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
185726e559SLouis Dionne #  pragma GCC system_header
195726e559SLouis Dionne #endif
205726e559SLouis Dionne 
214f15267dSNikolas Klauser #if _LIBCPP_STD_VER >= 20
225726e559SLouis Dionne 
235726e559SLouis Dionne _LIBCPP_BEGIN_NAMESPACE_STD
245726e559SLouis Dionne 
25*9783f28cSLouis Dionne namespace chrono {
265726e559SLouis Dionne 
275726e559SLouis Dionne struct local_t {};
281e24b4d3SNikolas Klauser template <class _Duration>
291e24b4d3SNikolas Klauser using local_time    = time_point<local_t, _Duration>;
305726e559SLouis Dionne using local_seconds = local_time<seconds>;
315726e559SLouis Dionne using local_days    = local_time<days>;
325726e559SLouis Dionne 
33*9783f28cSLouis Dionne struct last_spec {
34*9783f28cSLouis Dionne   explicit last_spec() = default;
35*9783f28cSLouis Dionne };
365726e559SLouis Dionne inline constexpr last_spec last{};
375726e559SLouis Dionne 
385726e559SLouis Dionne } // namespace chrono
395726e559SLouis Dionne 
405726e559SLouis Dionne _LIBCPP_END_NAMESPACE_STD
415726e559SLouis Dionne 
424f15267dSNikolas Klauser #endif // _LIBCPP_STD_VER >= 20
435726e559SLouis Dionne 
445726e559SLouis Dionne #endif // _LIBCPP___CHRONO_CALENDAR_H
45