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-exception
6//
7//===----------------------------------------------------------------------===//
8// REQUIRES: std-at-least-c++20
9
10// <chrono>
11
12// time_point
13
14// constexpr time_point& operator--();
15
16#include <cassert>
17#include <chrono>
18
19#include "test_macros.h"
20
21constexpr bool test() {
22 using Clock = std::chrono::system_clock;
23 using Duration = std::chrono::milliseconds;
24 std::chrono::time_point<Clock, Duration> t{Duration{5}};
25 std::chrono::time_point<Clock, Duration>& tref{--t};
26 assert(&tref == &t);
27 assert(tref.time_since_epoch() == Duration{4});
28 return true;
29}
30
31int main(int, char**) {
32 test();
33 static_assert(test());
34 return 0;
35}
36

source code of libcxx/test/std/time/time.point/time.point.arithmetic/op_--.pass.cpp