1*04eeddc0SDimitry Andric // -*- C++ -*- 2*04eeddc0SDimitry Andric //===----------------------------------------------------------------------===// 3*04eeddc0SDimitry Andric // 4*04eeddc0SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5*04eeddc0SDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 6*04eeddc0SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7*04eeddc0SDimitry Andric // 8*04eeddc0SDimitry Andric //===----------------------------------------------------------------------===// 9*04eeddc0SDimitry Andric 10*04eeddc0SDimitry Andric #ifndef _LIBCPP___CHRONO_STEADY_CLOCK_H 11*04eeddc0SDimitry Andric #define _LIBCPP___CHRONO_STEADY_CLOCK_H 12*04eeddc0SDimitry Andric 13*04eeddc0SDimitry Andric #include <__chrono/duration.h> 14*04eeddc0SDimitry Andric #include <__chrono/time_point.h> 15*04eeddc0SDimitry Andric #include <__config> 16*04eeddc0SDimitry Andric 17*04eeddc0SDimitry Andric #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 18*04eeddc0SDimitry Andric #pragma GCC system_header 19*04eeddc0SDimitry Andric #endif 20*04eeddc0SDimitry Andric 21*04eeddc0SDimitry Andric _LIBCPP_BEGIN_NAMESPACE_STD 22*04eeddc0SDimitry Andric 23*04eeddc0SDimitry Andric namespace chrono 24*04eeddc0SDimitry Andric { 25*04eeddc0SDimitry Andric 26*04eeddc0SDimitry Andric #ifndef _LIBCPP_HAS_NO_MONOTONIC_CLOCK 27*04eeddc0SDimitry Andric class _LIBCPP_TYPE_VIS steady_clock 28*04eeddc0SDimitry Andric { 29*04eeddc0SDimitry Andric public: 30*04eeddc0SDimitry Andric typedef nanoseconds duration; 31*04eeddc0SDimitry Andric typedef duration::rep rep; 32*04eeddc0SDimitry Andric typedef duration::period period; 33*04eeddc0SDimitry Andric typedef chrono::time_point<steady_clock, duration> time_point; 34*04eeddc0SDimitry Andric static _LIBCPP_CONSTEXPR_AFTER_CXX11 const bool is_steady = true; 35*04eeddc0SDimitry Andric 36*04eeddc0SDimitry Andric static time_point now() _NOEXCEPT; 37*04eeddc0SDimitry Andric }; 38*04eeddc0SDimitry Andric #endif 39*04eeddc0SDimitry Andric 40*04eeddc0SDimitry Andric } // namespace chrono 41*04eeddc0SDimitry Andric 42*04eeddc0SDimitry Andric _LIBCPP_END_NAMESPACE_STD 43*04eeddc0SDimitry Andric 44*04eeddc0SDimitry Andric #endif // _LIBCPP___CHRONO_STEADY_CLOCK_H 45